diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index cb6d55530..10c5a8176 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -1,13 +1,13 @@ package com.simibubi.create; -import com.simibubi.create.block.CreativeCrateBlock; -import com.simibubi.create.block.RenderingBlock; -import com.simibubi.create.block.SchematicTableBlock; -import com.simibubi.create.block.SchematicannonBlock; -import com.simibubi.create.block.symmetry.CrossPlaneSymmetryBlock; -import com.simibubi.create.block.symmetry.PlaneSymmetryBlock; -import com.simibubi.create.block.symmetry.TriplePlaneSymmetryBlock; -import com.simibubi.create.utility.IJustForRendering; +import com.simibubi.create.foundation.block.IRenderUtilityBlock; +import com.simibubi.create.foundation.block.RenderUtilityBlock; +import com.simibubi.create.modules.schematics.block.CreativeCrateBlock; +import com.simibubi.create.modules.schematics.block.SchematicTableBlock; +import com.simibubi.create.modules.schematics.block.SchematicannonBlock; +import com.simibubi.create.modules.symmetry.block.CrossPlaneSymmetryBlock; +import com.simibubi.create.modules.symmetry.block.PlaneSymmetryBlock; +import com.simibubi.create.modules.symmetry.block.TriplePlaneSymmetryBlock; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -18,8 +18,8 @@ import net.minecraftforge.registries.IForgeRegistry; public enum AllBlocks { SCHEMATICANNON(new SchematicannonBlock()), - SCHEMATICANNON_CONNECTOR(new RenderingBlock()), - SCHEMATICANNON_PIPE(new RenderingBlock()), + SCHEMATICANNON_CONNECTOR(new RenderUtilityBlock()), + SCHEMATICANNON_PIPE(new RenderUtilityBlock()), CREATIVE_CRATE(new CreativeCrateBlock()), SCHEMATIC_TABLE(new SchematicTableBlock()), @@ -43,7 +43,7 @@ public enum AllBlocks { public static void registerItemBlocks(IForgeRegistry registry) { for (AllBlocks block : values()) { - if (block.get() instanceof IJustForRendering) + if (block.get() instanceof IRenderUtilityBlock) continue; registry.register(new BlockItem(block.get(), AllItems.standardProperties()) diff --git a/src/main/java/com/simibubi/create/AllContainers.java b/src/main/java/com/simibubi/create/AllContainers.java index 22463f18e..ef2d23cd2 100644 --- a/src/main/java/com/simibubi/create/AllContainers.java +++ b/src/main/java/com/simibubi/create/AllContainers.java @@ -1,9 +1,9 @@ package com.simibubi.create; -import com.simibubi.create.block.SchematicTableContainer; -import com.simibubi.create.block.SchematicannonContainer; -import com.simibubi.create.gui.SchematicTableScreen; -import com.simibubi.create.gui.SchematicannonScreen; +import com.simibubi.create.modules.schematics.block.SchematicTableContainer; +import com.simibubi.create.modules.schematics.block.SchematicTableScreen; +import com.simibubi.create.modules.schematics.block.SchematicannonContainer; +import com.simibubi.create.modules.schematics.block.SchematicannonScreen; import net.minecraft.client.gui.IHasContainer; import net.minecraft.client.gui.ScreenManager; diff --git a/src/main/java/com/simibubi/create/AllItems.java b/src/main/java/com/simibubi/create/AllItems.java index 64c0b9a27..9c5c180b1 100644 --- a/src/main/java/com/simibubi/create/AllItems.java +++ b/src/main/java/com/simibubi/create/AllItems.java @@ -1,9 +1,9 @@ package com.simibubi.create; -import com.simibubi.create.item.BlueprintItem; -import com.simibubi.create.item.BlueprintAndQuillItem; -import com.simibubi.create.item.TreeFertilizerItem; -import com.simibubi.create.item.SymmetryWandItem; +import com.simibubi.create.modules.curiosities.item.TreeFertilizerItem; +import com.simibubi.create.modules.schematics.item.BlueprintAndQuillItem; +import com.simibubi.create.modules.schematics.item.BlueprintItem; +import com.simibubi.create.modules.symmetry.SymmetryWandItem; import net.minecraft.item.Item; import net.minecraft.item.Item.Properties; diff --git a/src/main/java/com/simibubi/create/networking/AllPackets.java b/src/main/java/com/simibubi/create/AllPackets.java similarity index 76% rename from src/main/java/com/simibubi/create/networking/AllPackets.java rename to src/main/java/com/simibubi/create/AllPackets.java index c4f74c2ea..1dd88b98c 100644 --- a/src/main/java/com/simibubi/create/networking/AllPackets.java +++ b/src/main/java/com/simibubi/create/AllPackets.java @@ -1,6 +1,10 @@ -package com.simibubi.create.networking; +package com.simibubi.create; -import com.simibubi.create.Create; +import com.simibubi.create.foundation.packet.NbtPacket; +import com.simibubi.create.modules.schematics.packet.ConfigureSchematicannonPacket; +import com.simibubi.create.modules.schematics.packet.SchematicPlacePacket; +import com.simibubi.create.modules.schematics.packet.SchematicUploadPacket; +import com.simibubi.create.modules.symmetry.SymmetryEffectPacket; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.network.NetworkRegistry; diff --git a/src/main/java/com/simibubi/create/AllSpecialTextures.java b/src/main/java/com/simibubi/create/AllSpecialTextures.java new file mode 100644 index 000000000..e843f97bb --- /dev/null +++ b/src/main/java/com/simibubi/create/AllSpecialTextures.java @@ -0,0 +1,21 @@ +package com.simibubi.create; + +import net.minecraft.client.Minecraft; +import net.minecraft.util.ResourceLocation; + +public enum AllSpecialTextures { + + Selection("selection.png"); + + public static final String ASSET_PATH = "textures/special/"; + private ResourceLocation location; + + private AllSpecialTextures(String filename) { + location = new ResourceLocation(Create.ID, ASSET_PATH + filename); + } + + public void bind() { + Minecraft.getInstance().getTextureManager().bindTexture(location); + } + +} \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/AllTileEntities.java b/src/main/java/com/simibubi/create/AllTileEntities.java index 177b04e0b..a8e9ac26d 100644 --- a/src/main/java/com/simibubi/create/AllTileEntities.java +++ b/src/main/java/com/simibubi/create/AllTileEntities.java @@ -2,9 +2,9 @@ package com.simibubi.create; import java.util.function.Supplier; -import com.simibubi.create.block.SchematicTableTileEntity; -import com.simibubi.create.block.SchematicannonRenderer; -import com.simibubi.create.block.SchematicannonTileEntity; +import com.simibubi.create.modules.schematics.block.SchematicTableTileEntity; +import com.simibubi.create.modules.schematics.block.SchematicannonRenderer; +import com.simibubi.create.modules.schematics.block.SchematicannonTileEntity; import net.minecraft.client.renderer.tileentity.TileEntityRenderer; import net.minecraft.tileentity.TileEntity; diff --git a/src/main/java/com/simibubi/create/Create.java b/src/main/java/com/simibubi/create/Create.java index 25120eed0..09a377992 100644 --- a/src/main/java/com/simibubi/create/Create.java +++ b/src/main/java/com/simibubi/create/Create.java @@ -3,10 +3,11 @@ package com.simibubi.create; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import com.simibubi.create.networking.AllPackets; -import com.simibubi.create.schematic.BlueprintHandler; -import com.simibubi.create.schematic.SchematicHologram; -import com.simibubi.create.utility.Keyboard; +import com.simibubi.create.foundation.utility.KeyboardHelper; +import com.simibubi.create.modules.schematics.ClientSchematicLoader; +import com.simibubi.create.modules.schematics.ServerSchematicLoader; +import com.simibubi.create.modules.schematics.client.BlueprintHandler; +import com.simibubi.create.modules.schematics.client.SchematicHologram; import net.minecraft.block.Block; import net.minecraft.client.settings.KeyBinding; @@ -62,7 +63,7 @@ public class Create { new SchematicHologram(); new BlueprintHandler(); ScrollFixer.init(); - TOOL_MENU = new KeyBinding("Tool Menu (Hold)", Keyboard.LALT, NAME); + TOOL_MENU = new KeyBinding("Tool Menu (Hold)", KeyboardHelper.LALT, NAME); ClientRegistry.registerKeyBinding(TOOL_MENU); }); } diff --git a/src/main/java/com/simibubi/create/block/RenderingBlock.java b/src/main/java/com/simibubi/create/block/RenderingBlock.java deleted file mode 100644 index dd85b3a1e..000000000 --- a/src/main/java/com/simibubi/create/block/RenderingBlock.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.simibubi.create.block; - -import com.simibubi.create.utility.IJustForRendering; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; - -public class RenderingBlock extends Block implements IJustForRendering { - - public RenderingBlock() { - super(Properties.create(Material.AIR)); - } - -} diff --git a/src/main/java/com/simibubi/create/block/symmetry/SymmetryBlock.java b/src/main/java/com/simibubi/create/block/symmetry/SymmetryBlock.java deleted file mode 100644 index 0bd6d0416..000000000 --- a/src/main/java/com/simibubi/create/block/symmetry/SymmetryBlock.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.simibubi.create.block.symmetry; - -import com.simibubi.create.utility.IJustForRendering; - -import net.minecraft.block.Block; - -public class SymmetryBlock extends Block implements IJustForRendering { - - public SymmetryBlock(Properties properties) { - super(properties); - } - -} diff --git a/src/main/java/com/simibubi/create/foundation/block/IRenderUtilityBlock.java b/src/main/java/com/simibubi/create/foundation/block/IRenderUtilityBlock.java new file mode 100644 index 000000000..9757cd295 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/block/IRenderUtilityBlock.java @@ -0,0 +1,8 @@ +package com.simibubi.create.foundation.block; + +/** + * Blocks only registered for use in other blocks' renderers. + */ +public interface IRenderUtilityBlock { + +} diff --git a/src/main/java/com/simibubi/create/foundation/block/RenderUtilityBlock.java b/src/main/java/com/simibubi/create/foundation/block/RenderUtilityBlock.java new file mode 100644 index 000000000..6b57420ac --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/block/RenderUtilityBlock.java @@ -0,0 +1,12 @@ +package com.simibubi.create.foundation.block; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class RenderUtilityBlock extends Block implements IRenderUtilityBlock { + + public RenderUtilityBlock() { + super(Properties.create(Material.AIR)); + } + +} diff --git a/src/main/java/com/simibubi/create/utility/TileEntitySynced.java b/src/main/java/com/simibubi/create/foundation/block/SyncedTileEntity.java similarity index 86% rename from src/main/java/com/simibubi/create/utility/TileEntitySynced.java rename to src/main/java/com/simibubi/create/foundation/block/SyncedTileEntity.java index 659df09d7..3402175d1 100644 --- a/src/main/java/com/simibubi/create/utility/TileEntitySynced.java +++ b/src/main/java/com/simibubi/create/foundation/block/SyncedTileEntity.java @@ -1,4 +1,4 @@ -package com.simibubi.create.utility; +package com.simibubi.create.foundation.block; import net.minecraft.nbt.CompoundNBT; import net.minecraft.network.NetworkManager; @@ -6,9 +6,9 @@ import net.minecraft.network.play.server.SUpdateTileEntityPacket; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityType; -public abstract class TileEntitySynced extends TileEntity { +public abstract class SyncedTileEntity extends TileEntity { - public TileEntitySynced(TileEntityType tileEntityTypeIn) { + public SyncedTileEntity(TileEntityType tileEntityTypeIn) { super(tileEntityTypeIn); } diff --git a/src/main/java/com/simibubi/create/gui/AbstractSimiContainerScreen.java b/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiContainerScreen.java similarity index 96% rename from src/main/java/com/simibubi/create/gui/AbstractSimiContainerScreen.java rename to src/main/java/com/simibubi/create/foundation/gui/AbstractSimiContainerScreen.java index 373eb9564..b64478e6f 100644 --- a/src/main/java/com/simibubi/create/gui/AbstractSimiContainerScreen.java +++ b/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiContainerScreen.java @@ -1,10 +1,10 @@ -package com.simibubi.create.gui; +package com.simibubi.create.foundation.gui; import java.util.ArrayList; import java.util.List; import com.mojang.blaze3d.platform.GlStateManager; -import com.simibubi.create.gui.widgets.AbstractSimiWidget; +import com.simibubi.create.foundation.gui.widgets.AbstractSimiWidget; import net.minecraft.client.gui.screen.inventory.ContainerScreen; import net.minecraft.client.gui.widget.Widget; diff --git a/src/main/java/com/simibubi/create/gui/AbstractSimiScreen.java b/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiScreen.java similarity index 95% rename from src/main/java/com/simibubi/create/gui/AbstractSimiScreen.java rename to src/main/java/com/simibubi/create/foundation/gui/AbstractSimiScreen.java index 56afd28f4..760e4c3ed 100644 --- a/src/main/java/com/simibubi/create/gui/AbstractSimiScreen.java +++ b/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiScreen.java @@ -1,9 +1,9 @@ -package com.simibubi.create.gui; +package com.simibubi.create.foundation.gui; import java.util.ArrayList; import java.util.List; -import com.simibubi.create.gui.widgets.AbstractSimiWidget; +import com.simibubi.create.foundation.gui.widgets.AbstractSimiWidget; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.widget.Widget; diff --git a/src/main/java/com/simibubi/create/gui/ScreenOpener.java b/src/main/java/com/simibubi/create/foundation/gui/ScreenOpener.java similarity index 94% rename from src/main/java/com/simibubi/create/gui/ScreenOpener.java rename to src/main/java/com/simibubi/create/foundation/gui/ScreenOpener.java index dd7340aeb..bfb3b8e63 100644 --- a/src/main/java/com/simibubi/create/gui/ScreenOpener.java +++ b/src/main/java/com/simibubi/create/foundation/gui/ScreenOpener.java @@ -1,4 +1,4 @@ -package com.simibubi.create.gui; +package com.simibubi.create.foundation.gui; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screen.Screen; diff --git a/src/main/java/com/simibubi/create/gui/ScreenResources.java b/src/main/java/com/simibubi/create/foundation/gui/ScreenResources.java similarity index 98% rename from src/main/java/com/simibubi/create/gui/ScreenResources.java rename to src/main/java/com/simibubi/create/foundation/gui/ScreenResources.java index e2514c81b..1e29e98fa 100644 --- a/src/main/java/com/simibubi/create/gui/ScreenResources.java +++ b/src/main/java/com/simibubi/create/foundation/gui/ScreenResources.java @@ -1,4 +1,4 @@ -package com.simibubi.create.gui; +package com.simibubi.create.foundation.gui; import com.simibubi.create.Create; diff --git a/src/main/java/com/simibubi/create/gui/TextInputPromptScreen.java b/src/main/java/com/simibubi/create/foundation/gui/TextInputPromptScreen.java similarity index 98% rename from src/main/java/com/simibubi/create/gui/TextInputPromptScreen.java rename to src/main/java/com/simibubi/create/foundation/gui/TextInputPromptScreen.java index 3e861ac3d..6fa8a552d 100644 --- a/src/main/java/com/simibubi/create/gui/TextInputPromptScreen.java +++ b/src/main/java/com/simibubi/create/foundation/gui/TextInputPromptScreen.java @@ -1,4 +1,4 @@ -package com.simibubi.create.gui; +package com.simibubi.create.foundation.gui; import java.util.function.Consumer; diff --git a/src/main/java/com/simibubi/create/gui/ToolSelectionScreen.java b/src/main/java/com/simibubi/create/foundation/gui/ToolSelectionScreen.java similarity index 97% rename from src/main/java/com/simibubi/create/gui/ToolSelectionScreen.java rename to src/main/java/com/simibubi/create/foundation/gui/ToolSelectionScreen.java index e4e41ed90..27cd6f0fb 100644 --- a/src/main/java/com/simibubi/create/gui/ToolSelectionScreen.java +++ b/src/main/java/com/simibubi/create/foundation/gui/ToolSelectionScreen.java @@ -1,11 +1,11 @@ -package com.simibubi.create.gui; +package com.simibubi.create.foundation.gui; import java.util.List; import java.util.function.Consumer; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.Create; -import com.simibubi.create.schematic.tools.Tools; +import com.simibubi.create.modules.schematics.client.tools.Tools; import net.minecraft.client.MainWindow; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/simibubi/create/gui/widgets/AbstractSimiWidget.java b/src/main/java/com/simibubi/create/foundation/gui/widgets/AbstractSimiWidget.java similarity index 90% rename from src/main/java/com/simibubi/create/gui/widgets/AbstractSimiWidget.java rename to src/main/java/com/simibubi/create/foundation/gui/widgets/AbstractSimiWidget.java index 48888dd2d..31b559037 100644 --- a/src/main/java/com/simibubi/create/gui/widgets/AbstractSimiWidget.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widgets/AbstractSimiWidget.java @@ -1,4 +1,4 @@ -package com.simibubi.create.gui.widgets; +package com.simibubi.create.foundation.gui.widgets; import java.util.LinkedList; import java.util.List; diff --git a/src/main/java/com/simibubi/create/gui/widgets/IconButton.java b/src/main/java/com/simibubi/create/foundation/gui/widgets/IconButton.java similarity index 93% rename from src/main/java/com/simibubi/create/gui/widgets/IconButton.java rename to src/main/java/com/simibubi/create/foundation/gui/widgets/IconButton.java index 4527ef5d7..8e716cbd7 100644 --- a/src/main/java/com/simibubi/create/gui/widgets/IconButton.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widgets/IconButton.java @@ -1,7 +1,7 @@ -package com.simibubi.create.gui.widgets; +package com.simibubi.create.foundation.gui.widgets; import com.mojang.blaze3d.platform.GlStateManager; -import com.simibubi.create.gui.ScreenResources; +import com.simibubi.create.foundation.gui.ScreenResources; import net.minecraft.client.Minecraft; import net.minecraft.util.ResourceLocation; diff --git a/src/main/java/com/simibubi/create/gui/widgets/Indicator.java b/src/main/java/com/simibubi/create/foundation/gui/widgets/Indicator.java similarity index 89% rename from src/main/java/com/simibubi/create/gui/widgets/Indicator.java rename to src/main/java/com/simibubi/create/foundation/gui/widgets/Indicator.java index 44670ae46..c8a42ef42 100644 --- a/src/main/java/com/simibubi/create/gui/widgets/Indicator.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widgets/Indicator.java @@ -1,7 +1,7 @@ -package com.simibubi.create.gui.widgets; +package com.simibubi.create.foundation.gui.widgets; import com.google.common.collect.ImmutableList; -import com.simibubi.create.gui.ScreenResources; +import com.simibubi.create.foundation.gui.ScreenResources; public class Indicator extends AbstractSimiWidget { diff --git a/src/main/java/com/simibubi/create/gui/widgets/Label.java b/src/main/java/com/simibubi/create/foundation/gui/widgets/Label.java similarity index 94% rename from src/main/java/com/simibubi/create/gui/widgets/Label.java rename to src/main/java/com/simibubi/create/foundation/gui/widgets/Label.java index 074fbdaf6..1271a928b 100644 --- a/src/main/java/com/simibubi/create/gui/widgets/Label.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widgets/Label.java @@ -1,4 +1,4 @@ -package com.simibubi.create.gui.widgets; +package com.simibubi.create.foundation.gui.widgets; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; diff --git a/src/main/java/com/simibubi/create/gui/widgets/ScrollInput.java b/src/main/java/com/simibubi/create/foundation/gui/widgets/ScrollInput.java similarity index 96% rename from src/main/java/com/simibubi/create/gui/widgets/ScrollInput.java rename to src/main/java/com/simibubi/create/foundation/gui/widgets/ScrollInput.java index fb77c4d7c..6076adcd3 100644 --- a/src/main/java/com/simibubi/create/gui/widgets/ScrollInput.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widgets/ScrollInput.java @@ -1,8 +1,8 @@ -package com.simibubi.create.gui.widgets; +package com.simibubi.create.foundation.gui.widgets; import java.util.function.Consumer; -import com.simibubi.create.utility.Keyboard; +import com.simibubi.create.foundation.utility.KeyboardHelper; import net.minecraft.util.text.TextFormatting; @@ -64,7 +64,7 @@ public class ScrollInput extends AbstractSimiWidget { return false; int priorState = state; - int step = (int) Math.signum(delta) * (Keyboard.isKeyDown(Keyboard.LSHIFT) ? 5 : 1); + int step = (int) Math.signum(delta) * (KeyboardHelper.isKeyDown(KeyboardHelper.LSHIFT) ? 5 : 1); state += step; clampState(); diff --git a/src/main/java/com/simibubi/create/gui/widgets/SelectionScrollInput.java b/src/main/java/com/simibubi/create/foundation/gui/widgets/SelectionScrollInput.java similarity index 95% rename from src/main/java/com/simibubi/create/gui/widgets/SelectionScrollInput.java rename to src/main/java/com/simibubi/create/foundation/gui/widgets/SelectionScrollInput.java index 5842b2e62..5efc0787d 100644 --- a/src/main/java/com/simibubi/create/gui/widgets/SelectionScrollInput.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widgets/SelectionScrollInput.java @@ -1,4 +1,4 @@ -package com.simibubi.create.gui.widgets; +package com.simibubi.create.foundation.gui.widgets; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/simibubi/create/networking/NbtPacket.java b/src/main/java/com/simibubi/create/foundation/packet/NbtPacket.java similarity index 96% rename from src/main/java/com/simibubi/create/networking/NbtPacket.java rename to src/main/java/com/simibubi/create/foundation/packet/NbtPacket.java index 548232ab5..0bec94196 100644 --- a/src/main/java/com/simibubi/create/networking/NbtPacket.java +++ b/src/main/java/com/simibubi/create/foundation/packet/NbtPacket.java @@ -1,4 +1,4 @@ -package com.simibubi.create.networking; +package com.simibubi.create.foundation.packet; import java.util.function.Supplier; diff --git a/src/main/java/com/simibubi/create/schematic/Cuboid.java b/src/main/java/com/simibubi/create/foundation/type/Cuboid.java similarity index 97% rename from src/main/java/com/simibubi/create/schematic/Cuboid.java rename to src/main/java/com/simibubi/create/foundation/type/Cuboid.java index de28c2d52..a95594a03 100644 --- a/src/main/java/com/simibubi/create/schematic/Cuboid.java +++ b/src/main/java/com/simibubi/create/foundation/type/Cuboid.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic; +package com.simibubi.create.foundation.type; import net.minecraft.util.math.BlockPos; diff --git a/src/main/java/com/simibubi/create/foundation/type/DimensionPos.java b/src/main/java/com/simibubi/create/foundation/type/DimensionPos.java new file mode 100644 index 000000000..e2c6ab8f1 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/type/DimensionPos.java @@ -0,0 +1,15 @@ +package com.simibubi.create.foundation.type; + +import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.ServerWorld; + +public class DimensionPos { + public ServerWorld world; + public BlockPos pos; + + public DimensionPos(ServerPlayerEntity player, BlockPos pos) { + this.world = player.getServerWorld(); + this.pos = pos; + } +} \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/utility/FilesHelper.java b/src/main/java/com/simibubi/create/foundation/utility/FilesHelper.java similarity index 98% rename from src/main/java/com/simibubi/create/utility/FilesHelper.java rename to src/main/java/com/simibubi/create/foundation/utility/FilesHelper.java index b61f1bc6a..61dca9899 100644 --- a/src/main/java/com/simibubi/create/utility/FilesHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/FilesHelper.java @@ -1,4 +1,4 @@ -package com.simibubi.create.utility; +package com.simibubi.create.foundation.utility; import java.io.BufferedReader; import java.io.IOException; diff --git a/src/main/java/com/simibubi/create/utility/Keyboard.java b/src/main/java/com/simibubi/create/foundation/utility/KeyboardHelper.java similarity index 90% rename from src/main/java/com/simibubi/create/utility/Keyboard.java rename to src/main/java/com/simibubi/create/foundation/utility/KeyboardHelper.java index 3c0e12935..86987a77e 100644 --- a/src/main/java/com/simibubi/create/utility/Keyboard.java +++ b/src/main/java/com/simibubi/create/foundation/utility/KeyboardHelper.java @@ -1,4 +1,4 @@ -package com.simibubi.create.utility; +package com.simibubi.create.foundation.utility; import org.lwjgl.glfw.GLFW; @@ -7,7 +7,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @OnlyIn(Dist.CLIENT) -public class Keyboard { +public class KeyboardHelper { public static final int PRESS = 1; public static final int HOLD = 2; diff --git a/src/main/java/com/simibubi/create/utility/RaycastHelper.java b/src/main/java/com/simibubi/create/foundation/utility/RaycastHelper.java similarity index 99% rename from src/main/java/com/simibubi/create/utility/RaycastHelper.java rename to src/main/java/com/simibubi/create/foundation/utility/RaycastHelper.java index a58b0591d..c35a68d1c 100644 --- a/src/main/java/com/simibubi/create/utility/RaycastHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/RaycastHelper.java @@ -1,4 +1,4 @@ -package com.simibubi.create.utility; +package com.simibubi.create.foundation.utility; import java.util.function.Predicate; diff --git a/src/main/java/com/simibubi/create/utility/TessellatorHelper.java b/src/main/java/com/simibubi/create/foundation/utility/TessellatorHelper.java similarity index 99% rename from src/main/java/com/simibubi/create/utility/TessellatorHelper.java rename to src/main/java/com/simibubi/create/foundation/utility/TessellatorHelper.java index 22d3e53bd..ecb0f521e 100644 --- a/src/main/java/com/simibubi/create/utility/TessellatorHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/TessellatorHelper.java @@ -1,4 +1,4 @@ -package com.simibubi.create.utility; +package com.simibubi.create.foundation.utility; import org.lwjgl.opengl.GL11; diff --git a/src/main/java/com/simibubi/create/item/TreeFertilizerItem.java b/src/main/java/com/simibubi/create/modules/curiosities/item/TreeFertilizerItem.java similarity index 97% rename from src/main/java/com/simibubi/create/item/TreeFertilizerItem.java rename to src/main/java/com/simibubi/create/modules/curiosities/item/TreeFertilizerItem.java index 4a68312ce..785e65157 100644 --- a/src/main/java/com/simibubi/create/item/TreeFertilizerItem.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/item/TreeFertilizerItem.java @@ -1,4 +1,4 @@ -package com.simibubi.create.item; +package com.simibubi.create.modules.curiosities.item; import java.util.Collections; import java.util.HashMap; @@ -6,7 +6,7 @@ import java.util.List; import java.util.Random; import java.util.function.Predicate; -import com.simibubi.create.utility.Keyboard; +import com.simibubi.create.foundation.utility.KeyboardHelper; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -46,7 +46,7 @@ public class TreeFertilizerItem extends Item { @Override @OnlyIn(Dist.CLIENT) public void addInformation(ItemStack stack, World worldIn, List tooltip, ITooltipFlag flagIn) { - if (Keyboard.isKeyDown(Keyboard.LSHIFT)) + if (KeyboardHelper.isKeyDown(KeyboardHelper.LSHIFT)) tooltip.add(new StringTextComponent(TextFormatting.GRAY + "Tree won't grow? Try this on it.")); else tooltip.add(new StringTextComponent(TextFormatting.DARK_GRAY + "< Hold Shift >")); diff --git a/src/main/java/com/simibubi/create/ClientSchematicLoader.java b/src/main/java/com/simibubi/create/modules/schematics/ClientSchematicLoader.java similarity index 91% rename from src/main/java/com/simibubi/create/ClientSchematicLoader.java rename to src/main/java/com/simibubi/create/modules/schematics/ClientSchematicLoader.java index 33200d148..876e6a708 100644 --- a/src/main/java/com/simibubi/create/ClientSchematicLoader.java +++ b/src/main/java/com/simibubi/create/modules/schematics/ClientSchematicLoader.java @@ -1,6 +1,6 @@ -package com.simibubi.create; +package com.simibubi.create.modules.schematics; -import static com.simibubi.create.ServerSchematicLoader.MAX_PACKET_SIZE; +import static com.simibubi.create.modules.schematics.ServerSchematicLoader.MAX_PACKET_SIZE; import java.io.IOException; import java.io.InputStream; @@ -16,9 +16,10 @@ import java.util.HashSet; import java.util.List; import java.util.Map; -import com.simibubi.create.networking.SchematicUploadPacket; -import com.simibubi.create.networking.AllPackets; -import com.simibubi.create.utility.FilesHelper; +import com.simibubi.create.AllPackets; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.utility.FilesHelper; +import com.simibubi.create.modules.schematics.packet.SchematicUploadPacket; import net.minecraft.client.Minecraft; import net.minecraft.util.text.StringTextComponent; diff --git a/src/main/java/com/simibubi/create/schematic/MaterialChecklist.java b/src/main/java/com/simibubi/create/modules/schematics/MaterialChecklist.java similarity index 98% rename from src/main/java/com/simibubi/create/schematic/MaterialChecklist.java rename to src/main/java/com/simibubi/create/modules/schematics/MaterialChecklist.java index 084d2f486..31ee1341a 100644 --- a/src/main/java/com/simibubi/create/schematic/MaterialChecklist.java +++ b/src/main/java/com/simibubi/create/modules/schematics/MaterialChecklist.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic; +package com.simibubi.create.modules.schematics; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/com/simibubi/create/schematic/SchematicWorld.java b/src/main/java/com/simibubi/create/modules/schematics/SchematicWorld.java similarity index 98% rename from src/main/java/com/simibubi/create/schematic/SchematicWorld.java rename to src/main/java/com/simibubi/create/modules/schematics/SchematicWorld.java index 8a7f370f4..e57670ba3 100644 --- a/src/main/java/com/simibubi/create/schematic/SchematicWorld.java +++ b/src/main/java/com/simibubi/create/modules/schematics/SchematicWorld.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic; +package com.simibubi.create.modules.schematics; import java.util.Collections; import java.util.List; @@ -8,6 +8,7 @@ import java.util.Set; import java.util.function.Predicate; import com.google.common.collect.ImmutableMap; +import com.simibubi.create.foundation.type.Cuboid; import net.minecraft.block.Block; import net.minecraft.block.BlockState; diff --git a/src/main/java/com/simibubi/create/ServerSchematicLoader.java b/src/main/java/com/simibubi/create/modules/schematics/ServerSchematicLoader.java similarity index 95% rename from src/main/java/com/simibubi/create/ServerSchematicLoader.java rename to src/main/java/com/simibubi/create/modules/schematics/ServerSchematicLoader.java index 36e339eb8..cf460568a 100644 --- a/src/main/java/com/simibubi/create/ServerSchematicLoader.java +++ b/src/main/java/com/simibubi/create/modules/schematics/ServerSchematicLoader.java @@ -1,4 +1,4 @@ -package com.simibubi.create; +package com.simibubi.create.modules.schematics; import java.io.IOException; import java.io.OutputStream; @@ -14,10 +14,12 @@ import java.util.Optional; import java.util.Set; import java.util.stream.Stream; -import com.simibubi.create.block.SchematicTableTileEntity; -import com.simibubi.create.item.BlueprintItem; -import com.simibubi.create.networking.SchematicUploadPacket.DimensionPos; -import com.simibubi.create.utility.FilesHelper; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.type.DimensionPos; +import com.simibubi.create.foundation.utility.FilesHelper; +import com.simibubi.create.modules.schematics.block.SchematicTableTileEntity; +import com.simibubi.create.modules.schematics.item.BlueprintItem; import net.minecraft.block.BlockState; import net.minecraft.entity.player.ServerPlayerEntity; diff --git a/src/main/java/com/simibubi/create/block/CreativeCrateBlock.java b/src/main/java/com/simibubi/create/modules/schematics/block/CreativeCrateBlock.java similarity index 91% rename from src/main/java/com/simibubi/create/block/CreativeCrateBlock.java rename to src/main/java/com/simibubi/create/modules/schematics/block/CreativeCrateBlock.java index 9cd54428d..3c3c7a2ce 100644 --- a/src/main/java/com/simibubi/create/block/CreativeCrateBlock.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/CreativeCrateBlock.java @@ -1,8 +1,8 @@ -package com.simibubi.create.block; +package com.simibubi.create.modules.schematics.block; import java.util.List; -import com.simibubi.create.utility.Keyboard; +import com.simibubi.create.foundation.utility.KeyboardHelper; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -36,7 +36,7 @@ public class CreativeCrateBlock extends Block { @OnlyIn(value = Dist.CLIENT) public void addInformation(ItemStack stack, IBlockReader worldIn, List tooltip, ITooltipFlag flagIn) { - if (Keyboard.isKeyDown(Keyboard.LSHIFT)) { + if (KeyboardHelper.isKeyDown(KeyboardHelper.LSHIFT)) { tooltip.add(new StringTextComponent(TextFormatting.LIGHT_PURPLE + "Creative Item")); tooltip.add(new StringTextComponent(TextFormatting.GRAY + "Grants an attached " + TextFormatting.BLUE + "Schematicannon")); tooltip.add(new StringTextComponent(TextFormatting.GRAY + "unlimited access to blocks.")); diff --git a/src/main/java/com/simibubi/create/block/SchematicTableBlock.java b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableBlock.java similarity index 95% rename from src/main/java/com/simibubi/create/block/SchematicTableBlock.java rename to src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableBlock.java index 0e4f9d52e..d7d28c150 100644 --- a/src/main/java/com/simibubi/create/block/SchematicTableBlock.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableBlock.java @@ -1,8 +1,8 @@ -package com.simibubi.create.block; +package com.simibubi.create.modules.schematics.block; import java.util.List; -import com.simibubi.create.utility.Keyboard; +import com.simibubi.create.foundation.utility.KeyboardHelper; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -49,7 +49,7 @@ public class SchematicTableBlock extends HorizontalBlock { @OnlyIn(value = Dist.CLIENT) public void addInformation(ItemStack stack, IBlockReader worldIn, List tooltip, ITooltipFlag flagIn) { - if (Keyboard.isKeyDown(Keyboard.LSHIFT)) { + if (KeyboardHelper.isKeyDown(KeyboardHelper.LSHIFT)) { tooltip.add(new StringTextComponent(TextFormatting.GRAY + "Writes saved Schematics onto")); tooltip.add(new StringTextComponent(TextFormatting.GRAY + "an " + TextFormatting.BLUE + "Empty Schematic")); } else diff --git a/src/main/java/com/simibubi/create/block/SchematicTableContainer.java b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableContainer.java similarity index 98% rename from src/main/java/com/simibubi/create/block/SchematicTableContainer.java rename to src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableContainer.java index c95cc48d3..0e2dc64bf 100644 --- a/src/main/java/com/simibubi/create/block/SchematicTableContainer.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableContainer.java @@ -1,4 +1,4 @@ -package com.simibubi.create.block; +package com.simibubi.create.modules.schematics.block; import com.simibubi.create.AllContainers; import com.simibubi.create.AllItems; diff --git a/src/main/java/com/simibubi/create/gui/SchematicTableScreen.java b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableScreen.java similarity index 93% rename from src/main/java/com/simibubi/create/gui/SchematicTableScreen.java rename to src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableScreen.java index 70798ac84..d68e40301 100644 --- a/src/main/java/com/simibubi/create/gui/SchematicTableScreen.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableScreen.java @@ -1,4 +1,4 @@ -package com.simibubi.create.gui; +package com.simibubi.create.modules.schematics.block; import java.nio.file.Paths; import java.util.List; @@ -6,11 +6,12 @@ import java.util.List; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; -import com.simibubi.create.block.SchematicTableContainer; -import com.simibubi.create.gui.widgets.Label; -import com.simibubi.create.gui.widgets.SelectionScrollInput; -import com.simibubi.create.gui.widgets.ScrollInput; -import com.simibubi.create.gui.widgets.IconButton; +import com.simibubi.create.foundation.gui.AbstractSimiContainerScreen; +import com.simibubi.create.foundation.gui.ScreenResources; +import com.simibubi.create.foundation.gui.widgets.IconButton; +import com.simibubi.create.foundation.gui.widgets.Label; +import com.simibubi.create.foundation.gui.widgets.ScrollInput; +import com.simibubi.create.foundation.gui.widgets.SelectionScrollInput; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.IHasContainer; diff --git a/src/main/java/com/simibubi/create/block/SchematicTableTileEntity.java b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableTileEntity.java similarity index 94% rename from src/main/java/com/simibubi/create/block/SchematicTableTileEntity.java rename to src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableTileEntity.java index 8e50a4a7c..47793aebd 100644 --- a/src/main/java/com/simibubi/create/block/SchematicTableTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicTableTileEntity.java @@ -1,7 +1,7 @@ -package com.simibubi.create.block; +package com.simibubi.create.modules.schematics.block; import com.simibubi.create.AllTileEntities; -import com.simibubi.create.utility.TileEntitySynced; +import com.simibubi.create.foundation.block.SyncedTileEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; @@ -15,7 +15,7 @@ import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; import net.minecraftforge.items.ItemStackHandler; -public class SchematicTableTileEntity extends TileEntitySynced implements ITickableTileEntity, INamedContainerProvider { +public class SchematicTableTileEntity extends SyncedTileEntity implements ITickableTileEntity, INamedContainerProvider { public SchematicTableInventory inventory; public boolean isUploading; diff --git a/src/main/java/com/simibubi/create/block/SchematicannonBlock.java b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonBlock.java similarity index 95% rename from src/main/java/com/simibubi/create/block/SchematicannonBlock.java rename to src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonBlock.java index 3fd951382..a9086c910 100644 --- a/src/main/java/com/simibubi/create/block/SchematicannonBlock.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonBlock.java @@ -1,9 +1,9 @@ -package com.simibubi.create.block; +package com.simibubi.create.modules.schematics.block; import java.util.List; import com.simibubi.create.AllItems; -import com.simibubi.create.utility.Keyboard; +import com.simibubi.create.foundation.utility.KeyboardHelper; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -49,7 +49,7 @@ public class SchematicannonBlock extends Block { @OnlyIn(value = Dist.CLIENT) public void addInformation(ItemStack stack, IBlockReader worldIn, List tooltip, ITooltipFlag flagIn) { - if (Keyboard.isKeyDown(Keyboard.LSHIFT)) { + if (KeyboardHelper.isKeyDown(KeyboardHelper.LSHIFT)) { tooltip.add(new StringTextComponent(TextFormatting.GRAY + "Prints a deployed " + TextFormatting.BLUE + "Schematic")); tooltip.add(new StringTextComponent(TextFormatting.GRAY + "into the world using blocks from inventories")); tooltip.add(new StringTextComponent(TextFormatting.GRAY + "placed right next to it.")); diff --git a/src/main/java/com/simibubi/create/block/SchematicannonContainer.java b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonContainer.java similarity index 97% rename from src/main/java/com/simibubi/create/block/SchematicannonContainer.java rename to src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonContainer.java index d51139b5f..94f48106e 100644 --- a/src/main/java/com/simibubi/create/block/SchematicannonContainer.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonContainer.java @@ -1,4 +1,4 @@ -package com.simibubi.create.block; +package com.simibubi.create.modules.schematics.block; import com.simibubi.create.AllContainers; diff --git a/src/main/java/com/simibubi/create/block/SchematicannonRenderer.java b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonRenderer.java similarity index 98% rename from src/main/java/com/simibubi/create/block/SchematicannonRenderer.java rename to src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonRenderer.java index e48d5c136..9f172a79f 100644 --- a/src/main/java/com/simibubi/create/block/SchematicannonRenderer.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonRenderer.java @@ -1,4 +1,4 @@ -package com.simibubi.create.block; +package com.simibubi.create.modules.schematics.block; import java.util.Random; diff --git a/src/main/java/com/simibubi/create/gui/SchematicannonScreen.java b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonScreen.java similarity index 95% rename from src/main/java/com/simibubi/create/gui/SchematicannonScreen.java rename to src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonScreen.java index 570ad2529..2b6ca2e08 100644 --- a/src/main/java/com/simibubi/create/gui/SchematicannonScreen.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonScreen.java @@ -1,4 +1,4 @@ -package com.simibubi.create.gui; +package com.simibubi.create.modules.schematics.block; import java.util.Collections; import java.util.List; @@ -7,14 +7,14 @@ import java.util.Vector; import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllBlocks; -import com.simibubi.create.block.SchematicannonContainer; -import com.simibubi.create.block.SchematicannonTileEntity; -import com.simibubi.create.gui.widgets.Indicator; -import com.simibubi.create.gui.widgets.Indicator.State; -import com.simibubi.create.gui.widgets.IconButton; -import com.simibubi.create.networking.ConfigureSchematicannonPacket; -import com.simibubi.create.networking.ConfigureSchematicannonPacket.Option; -import com.simibubi.create.networking.AllPackets; +import com.simibubi.create.AllPackets; +import com.simibubi.create.foundation.gui.AbstractSimiContainerScreen; +import com.simibubi.create.foundation.gui.ScreenResources; +import com.simibubi.create.foundation.gui.widgets.IconButton; +import com.simibubi.create.foundation.gui.widgets.Indicator; +import com.simibubi.create.foundation.gui.widgets.Indicator.State; +import com.simibubi.create.modules.schematics.packet.ConfigureSchematicannonPacket; +import com.simibubi.create.modules.schematics.packet.ConfigureSchematicannonPacket.Option; import net.minecraft.client.gui.widget.Widget; import net.minecraft.client.renderer.RenderHelper; diff --git a/src/main/java/com/simibubi/create/block/SchematicannonTileEntity.java b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonTileEntity.java similarity index 97% rename from src/main/java/com/simibubi/create/block/SchematicannonTileEntity.java rename to src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonTileEntity.java index fb88827c9..3a0112f4c 100644 --- a/src/main/java/com/simibubi/create/block/SchematicannonTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonTileEntity.java @@ -1,4 +1,4 @@ -package com.simibubi.create.block; +package com.simibubi.create.modules.schematics.block; import java.util.HashMap; import java.util.LinkedList; @@ -7,11 +7,11 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.AllTileEntities; -import com.simibubi.create.item.BlueprintItem; -import com.simibubi.create.schematic.Cuboid; -import com.simibubi.create.schematic.MaterialChecklist; -import com.simibubi.create.schematic.SchematicWorld; -import com.simibubi.create.utility.TileEntitySynced; +import com.simibubi.create.foundation.block.SyncedTileEntity; +import com.simibubi.create.foundation.type.Cuboid; +import com.simibubi.create.modules.schematics.MaterialChecklist; +import com.simibubi.create.modules.schematics.SchematicWorld; +import com.simibubi.create.modules.schematics.item.BlueprintItem; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; @@ -49,7 +49,7 @@ import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemStackHandler; -public class SchematicannonTileEntity extends TileEntitySynced implements ITickableTileEntity, INamedContainerProvider { +public class SchematicannonTileEntity extends SyncedTileEntity implements ITickableTileEntity, INamedContainerProvider { public static final int NEIGHBOUR_CHECKING = 100; public static final int PLACEMENT_DELAY = 10; @@ -599,7 +599,9 @@ public class SchematicannonTileEntity extends TileEntitySynced implements ITicka BlockState toReplace = world.getBlockState(pos); boolean placingAir = state.getBlock() == Blocks.AIR; - if (toReplace.getBlockState() == state) + if (toReplace == state) + return false; + if (toReplace.getBlockHardness(world, pos) == -1) return false; if (pos.withinDistance(getPos(), 2f)) return false; diff --git a/src/main/java/com/simibubi/create/schematic/BlueprintAndQuillHandler.java b/src/main/java/com/simibubi/create/modules/schematics/client/BlueprintAndQuillHandler.java similarity index 92% rename from src/main/java/com/simibubi/create/schematic/BlueprintAndQuillHandler.java rename to src/main/java/com/simibubi/create/modules/schematics/client/BlueprintAndQuillHandler.java index 683c5a9b0..21e6c2594 100644 --- a/src/main/java/com/simibubi/create/schematic/BlueprintAndQuillHandler.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/BlueprintAndQuillHandler.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic; +package com.simibubi.create.modules.schematics.client; import java.io.IOException; import java.io.OutputStream; @@ -11,14 +11,14 @@ import org.lwjgl.glfw.GLFW; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllItems; -import com.simibubi.create.gui.ScreenOpener; -import com.simibubi.create.gui.TextInputPromptScreen; -import com.simibubi.create.utility.FilesHelper; -import com.simibubi.create.utility.Keyboard; -import com.simibubi.create.utility.RaycastHelper; -import com.simibubi.create.utility.RaycastHelper.PredicateTraceResult; -import com.simibubi.create.utility.TessellatorHelper; -import com.simibubi.create.utility.TessellatorTextures; +import com.simibubi.create.AllSpecialTextures; +import com.simibubi.create.foundation.gui.ScreenOpener; +import com.simibubi.create.foundation.gui.TextInputPromptScreen; +import com.simibubi.create.foundation.utility.FilesHelper; +import com.simibubi.create.foundation.utility.KeyboardHelper; +import com.simibubi.create.foundation.utility.RaycastHelper; +import com.simibubi.create.foundation.utility.TessellatorHelper; +import com.simibubi.create.foundation.utility.RaycastHelper.PredicateTraceResult; import net.minecraft.block.Blocks; import net.minecraft.client.Minecraft; @@ -77,7 +77,7 @@ public class BlueprintAndQuillHandler { return; if (!active()) return; - if (!Keyboard.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL)) + if (!KeyboardHelper.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL)) return; int delta = (int) event.getScrollDelta(); if (secondPos == null) @@ -111,7 +111,7 @@ public class BlueprintAndQuillHandler { @SubscribeEvent public static void onClick(MouseInputEvent event) { - if (event.getAction() != Keyboard.PRESS) + if (event.getAction() != KeyboardHelper.PRESS) return; if (event.getButton() != 1) return; @@ -232,7 +232,7 @@ public class BlueprintAndQuillHandler { GlStateManager.enableTexture(); TessellatorHelper.begin(); - TessellatorTextures.SelectedRoom.bind(); + AllSpecialTextures.Selection.bind(); TessellatorHelper.doubleFace(Tessellator.getInstance().getBuffer(), new BlockPos(faceMin), new BlockPos(faceMax.subtract(faceMin)), 1 / 16f * selectedFace.getAxisDirection().getOffset(), false, false, false); @@ -262,7 +262,7 @@ public class BlueprintAndQuillHandler { ClientPlayerEntity player = Minecraft.getInstance().player; selectedPos = null; - if (Keyboard.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL)) { + if (KeyboardHelper.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL)) { selectedPos = new BlockPos(player.getEyePosition(Minecraft.getInstance().getRenderPartialTicks()) .add(player.getLookVec().scale(range))); } else { diff --git a/src/main/java/com/simibubi/create/gui/BlueprintEditScreen.java b/src/main/java/com/simibubi/create/modules/schematics/client/BlueprintEditScreen.java similarity index 92% rename from src/main/java/com/simibubi/create/gui/BlueprintEditScreen.java rename to src/main/java/com/simibubi/create/modules/schematics/client/BlueprintEditScreen.java index 8fc4221ca..afa15ad81 100644 --- a/src/main/java/com/simibubi/create/gui/BlueprintEditScreen.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/BlueprintEditScreen.java @@ -1,4 +1,4 @@ -package com.simibubi.create.gui; +package com.simibubi.create.modules.schematics.client; import java.util.Collections; import java.util.List; @@ -6,10 +6,11 @@ import java.util.List; import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllItems; -import com.simibubi.create.gui.widgets.Label; -import com.simibubi.create.gui.widgets.SelectionScrollInput; -import com.simibubi.create.gui.widgets.ScrollInput; -import com.simibubi.create.schematic.BlueprintHandler; +import com.simibubi.create.foundation.gui.AbstractSimiScreen; +import com.simibubi.create.foundation.gui.ScreenResources; +import com.simibubi.create.foundation.gui.widgets.Label; +import com.simibubi.create.foundation.gui.widgets.ScrollInput; +import com.simibubi.create.foundation.gui.widgets.SelectionScrollInput; import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/simibubi/create/schematic/BlueprintHandler.java b/src/main/java/com/simibubi/create/modules/schematics/client/BlueprintHandler.java similarity index 94% rename from src/main/java/com/simibubi/create/schematic/BlueprintHandler.java rename to src/main/java/com/simibubi/create/modules/schematics/client/BlueprintHandler.java index 5064679dc..d594815e0 100644 --- a/src/main/java/com/simibubi/create/schematic/BlueprintHandler.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/BlueprintHandler.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic; +package com.simibubi.create.modules.schematics.client; import java.util.HashMap; @@ -7,16 +7,17 @@ import org.lwjgl.glfw.GLFW; import com.google.common.collect.ImmutableList; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; +import com.simibubi.create.AllPackets; import com.simibubi.create.Create; -import com.simibubi.create.gui.BlueprintHotbarOverlay; -import com.simibubi.create.gui.ToolSelectionScreen; -import com.simibubi.create.item.BlueprintItem; -import com.simibubi.create.networking.NbtPacket; -import com.simibubi.create.networking.SchematicPlacePacket; -import com.simibubi.create.networking.AllPackets; -import com.simibubi.create.schematic.tools.Tools; -import com.simibubi.create.utility.Keyboard; -import com.simibubi.create.utility.TessellatorHelper; +import com.simibubi.create.foundation.gui.ToolSelectionScreen; +import com.simibubi.create.foundation.packet.NbtPacket; +import com.simibubi.create.foundation.type.Cuboid; +import com.simibubi.create.foundation.utility.KeyboardHelper; +import com.simibubi.create.foundation.utility.TessellatorHelper; +import com.simibubi.create.modules.schematics.SchematicWorld; +import com.simibubi.create.modules.schematics.client.tools.Tools; +import com.simibubi.create.modules.schematics.item.BlueprintItem; +import com.simibubi.create.modules.schematics.packet.SchematicPlacePacket; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.player.ClientPlayerEntity; @@ -189,7 +190,7 @@ public class BlueprintHandler { public static void onClick(MouseInputEvent event) { if (Minecraft.getInstance().currentScreen != null) return; - if (event.getAction() != Keyboard.PRESS) + if (event.getAction() != KeyboardHelper.PRESS) return; if (event.getButton() != 1) return; @@ -210,7 +211,7 @@ public class BlueprintHandler { if (!instance.active) return; - boolean released = event.getAction() == Keyboard.RELEASE; + boolean released = event.getAction() == KeyboardHelper.RELEASE; ToolSelectionScreen toolSelection = instance.selectionScreen; if (released && toolSelection.focused) { @@ -241,7 +242,7 @@ public class BlueprintHandler { selectionScreen.cycle((int) delta); return true; } - if (Keyboard.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL)) { + if (KeyboardHelper.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL)) { return currentTool.getTool().handleMouseWheel(delta); } diff --git a/src/main/java/com/simibubi/create/gui/BlueprintHotbarOverlay.java b/src/main/java/com/simibubi/create/modules/schematics/client/BlueprintHotbarOverlay.java similarity index 83% rename from src/main/java/com/simibubi/create/gui/BlueprintHotbarOverlay.java rename to src/main/java/com/simibubi/create/modules/schematics/client/BlueprintHotbarOverlay.java index bd22ea1a0..bba678a52 100644 --- a/src/main/java/com/simibubi/create/gui/BlueprintHotbarOverlay.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/BlueprintHotbarOverlay.java @@ -1,6 +1,7 @@ -package com.simibubi.create.gui; +package com.simibubi.create.modules.schematics.client; import com.mojang.blaze3d.platform.GlStateManager; +import com.simibubi.create.foundation.gui.ScreenResources; import net.minecraft.client.MainWindow; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/simibubi/create/schematic/SchematicHologram.java b/src/main/java/com/simibubi/create/modules/schematics/client/SchematicHologram.java similarity index 97% rename from src/main/java/com/simibubi/create/schematic/SchematicHologram.java rename to src/main/java/com/simibubi/create/modules/schematics/client/SchematicHologram.java index 0c3640817..fc2b700ff 100644 --- a/src/main/java/com/simibubi/create/schematic/SchematicHologram.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/SchematicHologram.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic; +package com.simibubi.create.modules.schematics.client; import java.nio.ByteBuffer; import java.util.Arrays; @@ -9,6 +9,8 @@ import java.util.List; import org.lwjgl.opengl.GL11; import com.mojang.blaze3d.platform.GlStateManager; +import com.simibubi.create.foundation.type.Cuboid; +import com.simibubi.create.modules.schematics.SchematicWorld; import net.minecraft.block.BedBlock; import net.minecraft.block.BlockState; diff --git a/src/main/java/com/simibubi/create/schematic/tools/DeployTool.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/DeployTool.java similarity index 91% rename from src/main/java/com/simibubi/create/schematic/tools/DeployTool.java rename to src/main/java/com/simibubi/create/modules/schematics/client/tools/DeployTool.java index 5551d2b85..b7358a9ab 100644 --- a/src/main/java/com/simibubi/create/schematic/tools/DeployTool.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/DeployTool.java @@ -1,9 +1,9 @@ -package com.simibubi.create.schematic.tools; +package com.simibubi.create.modules.schematics.client.tools; import org.lwjgl.glfw.GLFW; import com.mojang.blaze3d.platform.GlStateManager; -import com.simibubi.create.utility.Keyboard; +import com.simibubi.create.foundation.utility.KeyboardHelper; import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.util.math.BlockPos; @@ -24,7 +24,7 @@ public class DeployTool extends PlacementToolBase { selectionRange = (int) blueprint.size.manhattanDistance(BlockPos.ZERO) / 2; selectionRange = MathHelper.clamp(selectionRange, 1, 100); } - selectIgnoreBlocks = Keyboard.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL); + selectIgnoreBlocks = KeyboardHelper.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL); super.updateSelection(); } diff --git a/src/main/java/com/simibubi/create/schematic/tools/FlipTool.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/FlipTool.java similarity index 91% rename from src/main/java/com/simibubi/create/schematic/tools/FlipTool.java rename to src/main/java/com/simibubi/create/modules/schematics/client/tools/FlipTool.java index c356e8997..b0f4d7fce 100644 --- a/src/main/java/com/simibubi/create/schematic/tools/FlipTool.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/FlipTool.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic.tools; +package com.simibubi.create.modules.schematics.client.tools; public class FlipTool extends PlacementToolBase { diff --git a/src/main/java/com/simibubi/create/schematic/tools/ISchematicTool.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/ISchematicTool.java similarity index 79% rename from src/main/java/com/simibubi/create/schematic/tools/ISchematicTool.java rename to src/main/java/com/simibubi/create/modules/schematics/client/tools/ISchematicTool.java index f86165630..dc86fa1c6 100644 --- a/src/main/java/com/simibubi/create/schematic/tools/ISchematicTool.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/ISchematicTool.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic.tools; +package com.simibubi.create.modules.schematics.client.tools; public interface ISchematicTool { diff --git a/src/main/java/com/simibubi/create/schematic/tools/MoveTool.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/MoveTool.java similarity index 90% rename from src/main/java/com/simibubi/create/schematic/tools/MoveTool.java rename to src/main/java/com/simibubi/create/modules/schematics/client/tools/MoveTool.java index 4744fe0c3..528ce9296 100644 --- a/src/main/java/com/simibubi/create/schematic/tools/MoveTool.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/MoveTool.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic.tools; +package com.simibubi.create.modules.schematics.client.tools; public class MoveTool extends PlacementToolBase { diff --git a/src/main/java/com/simibubi/create/schematic/tools/MoveVerticalTool.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/MoveVerticalTool.java similarity index 79% rename from src/main/java/com/simibubi/create/schematic/tools/MoveVerticalTool.java rename to src/main/java/com/simibubi/create/modules/schematics/client/tools/MoveVerticalTool.java index 1d0306259..d4ee439c5 100644 --- a/src/main/java/com/simibubi/create/schematic/tools/MoveVerticalTool.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/MoveVerticalTool.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic.tools; +package com.simibubi.create.modules.schematics.client.tools; public class MoveVerticalTool extends PlacementToolBase { diff --git a/src/main/java/com/simibubi/create/schematic/tools/PlaceTool.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/PlaceTool.java similarity index 79% rename from src/main/java/com/simibubi/create/schematic/tools/PlaceTool.java rename to src/main/java/com/simibubi/create/modules/schematics/client/tools/PlaceTool.java index 422e9a3f1..208724c17 100644 --- a/src/main/java/com/simibubi/create/schematic/tools/PlaceTool.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/PlaceTool.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic.tools; +package com.simibubi.create.modules.schematics.client.tools; public class PlaceTool extends SchematicToolBase { diff --git a/src/main/java/com/simibubi/create/schematic/tools/PlacementToolBase.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/PlacementToolBase.java similarity index 88% rename from src/main/java/com/simibubi/create/schematic/tools/PlacementToolBase.java rename to src/main/java/com/simibubi/create/modules/schematics/client/tools/PlacementToolBase.java index 4a06abe21..793d4db35 100644 --- a/src/main/java/com/simibubi/create/schematic/tools/PlacementToolBase.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/PlacementToolBase.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic.tools; +package com.simibubi.create.modules.schematics.client.tools; public abstract class PlacementToolBase extends SchematicToolBase { diff --git a/src/main/java/com/simibubi/create/schematic/tools/RotateTool.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/RotateTool.java similarity index 80% rename from src/main/java/com/simibubi/create/schematic/tools/RotateTool.java rename to src/main/java/com/simibubi/create/modules/schematics/client/tools/RotateTool.java index 72a1b5950..d87f72acf 100644 --- a/src/main/java/com/simibubi/create/schematic/tools/RotateTool.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/RotateTool.java @@ -1,4 +1,4 @@ -package com.simibubi.create.schematic.tools; +package com.simibubi.create.modules.schematics.client.tools; import net.minecraft.util.Rotation; diff --git a/src/main/java/com/simibubi/create/schematic/tools/SchematicToolBase.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/SchematicToolBase.java similarity index 89% rename from src/main/java/com/simibubi/create/schematic/tools/SchematicToolBase.java rename to src/main/java/com/simibubi/create/modules/schematics/client/tools/SchematicToolBase.java index 67783b314..c5f854228 100644 --- a/src/main/java/com/simibubi/create/schematic/tools/SchematicToolBase.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/SchematicToolBase.java @@ -1,12 +1,12 @@ -package com.simibubi.create.schematic.tools; +package com.simibubi.create.modules.schematics.client.tools; import org.lwjgl.glfw.GLFW; import com.mojang.blaze3d.platform.GlStateManager; -import com.simibubi.create.schematic.BlueprintHandler; -import com.simibubi.create.utility.Keyboard; -import com.simibubi.create.utility.RaycastHelper; -import com.simibubi.create.utility.RaycastHelper.PredicateTraceResult; +import com.simibubi.create.foundation.utility.KeyboardHelper; +import com.simibubi.create.foundation.utility.RaycastHelper; +import com.simibubi.create.foundation.utility.RaycastHelper.PredicateTraceResult; +import com.simibubi.create.modules.schematics.client.BlueprintHandler; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.player.ClientPlayerEntity; @@ -97,7 +97,7 @@ public abstract class SchematicToolBase implements ISchematicTool { WorldRenderer.drawBoundingBox(min.getX() - 1 / 8d, min.getY() + 1 / 16d, min.getZ() - 1 / 8d, max.getX() + 1 / 8d, max.getY() + 1 / 8d, max.getZ() + 1 / 8d, 1, 1, 1, 1); - if (schematicSelected && renderSelectedFace && Keyboard.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL)) { + if (schematicSelected && renderSelectedFace && KeyboardHelper.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL)) { Vec3d vec = new Vec3d(selectedFace.getDirectionVec()); Vec3d center = new Vec3d(min.add(max)).scale(1 / 2f); Vec3d radii = new Vec3d(max.subtract(min)).scale(1 / 2f); diff --git a/src/main/java/com/simibubi/create/schematic/tools/Tools.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/Tools.java similarity index 94% rename from src/main/java/com/simibubi/create/schematic/tools/Tools.java rename to src/main/java/com/simibubi/create/modules/schematics/client/tools/Tools.java index b99617b03..87908e183 100644 --- a/src/main/java/com/simibubi/create/schematic/tools/Tools.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/Tools.java @@ -1,11 +1,11 @@ -package com.simibubi.create.schematic.tools; +package com.simibubi.create.modules.schematics.client.tools; import java.util.ArrayList; import java.util.Collections; import java.util.List; import com.google.common.collect.ImmutableList; -import com.simibubi.create.gui.ScreenResources; +import com.simibubi.create.foundation.gui.ScreenResources; import net.minecraft.util.text.TextFormatting; diff --git a/src/main/java/com/simibubi/create/item/BlueprintAndQuillItem.java b/src/main/java/com/simibubi/create/modules/schematics/item/BlueprintAndQuillItem.java similarity index 91% rename from src/main/java/com/simibubi/create/item/BlueprintAndQuillItem.java rename to src/main/java/com/simibubi/create/modules/schematics/item/BlueprintAndQuillItem.java index 46b4ca8cd..4ec72b222 100644 --- a/src/main/java/com/simibubi/create/item/BlueprintAndQuillItem.java +++ b/src/main/java/com/simibubi/create/modules/schematics/item/BlueprintAndQuillItem.java @@ -1,8 +1,8 @@ -package com.simibubi.create.item; +package com.simibubi.create.modules.schematics.item; import java.util.List; -import com.simibubi.create.utility.Keyboard; +import com.simibubi.create.foundation.utility.KeyboardHelper; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.item.Item; @@ -20,7 +20,7 @@ public class BlueprintAndQuillItem extends Item { @Override public void addInformation(ItemStack stack, World worldIn, List tooltip, ITooltipFlag flagIn) { - if (Keyboard.isKeyDown(Keyboard.LSHIFT)) { + if (KeyboardHelper.isKeyDown(KeyboardHelper.LSHIFT)) { TextFormatting gray = TextFormatting.GRAY; TextFormatting blue = TextFormatting.BLUE; diff --git a/src/main/java/com/simibubi/create/item/BlueprintItem.java b/src/main/java/com/simibubi/create/modules/schematics/item/BlueprintItem.java similarity index 94% rename from src/main/java/com/simibubi/create/item/BlueprintItem.java rename to src/main/java/com/simibubi/create/modules/schematics/item/BlueprintItem.java index 4cf42ac6d..d4c101c90 100644 --- a/src/main/java/com/simibubi/create/item/BlueprintItem.java +++ b/src/main/java/com/simibubi/create/modules/schematics/item/BlueprintItem.java @@ -1,4 +1,4 @@ -package com.simibubi.create.item; +package com.simibubi.create.modules.schematics.item; import java.io.IOException; import java.io.InputStream; @@ -10,9 +10,9 @@ import java.util.List; import org.apache.commons.io.IOUtils; import com.simibubi.create.AllItems; -import com.simibubi.create.gui.BlueprintEditScreen; -import com.simibubi.create.gui.ScreenOpener; -import com.simibubi.create.utility.Keyboard; +import com.simibubi.create.foundation.gui.ScreenOpener; +import com.simibubi.create.foundation.utility.KeyboardHelper; +import com.simibubi.create.modules.schematics.client.BlueprintEditScreen; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.PlayerEntity; @@ -67,7 +67,7 @@ public class BlueprintItem extends Item { @Override @OnlyIn(value = Dist.CLIENT) public void addInformation(ItemStack stack, World worldIn, List tooltip, ITooltipFlag flagIn) { - if (Keyboard.isKeyDown(Keyboard.LSHIFT)) { + if (KeyboardHelper.isKeyDown(KeyboardHelper.LSHIFT)) { TextFormatting gray = TextFormatting.GRAY; tooltip.add(new StringTextComponent(gray + "Holds a structure to be printed")); tooltip.add(new StringTextComponent(gray + "by the Schematicannon.")); diff --git a/src/main/java/com/simibubi/create/networking/ConfigureSchematicannonPacket.java b/src/main/java/com/simibubi/create/modules/schematics/packet/ConfigureSchematicannonPacket.java similarity index 91% rename from src/main/java/com/simibubi/create/networking/ConfigureSchematicannonPacket.java rename to src/main/java/com/simibubi/create/modules/schematics/packet/ConfigureSchematicannonPacket.java index b60e05d9b..04466b8cd 100644 --- a/src/main/java/com/simibubi/create/networking/ConfigureSchematicannonPacket.java +++ b/src/main/java/com/simibubi/create/modules/schematics/packet/ConfigureSchematicannonPacket.java @@ -1,9 +1,9 @@ -package com.simibubi.create.networking; +package com.simibubi.create.modules.schematics.packet; import java.util.function.Supplier; -import com.simibubi.create.block.SchematicannonTileEntity; -import com.simibubi.create.block.SchematicannonTileEntity.State; +import com.simibubi.create.modules.schematics.block.SchematicannonTileEntity; +import com.simibubi.create.modules.schematics.block.SchematicannonTileEntity.State; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.network.PacketBuffer; diff --git a/src/main/java/com/simibubi/create/networking/SchematicPlacePacket.java b/src/main/java/com/simibubi/create/modules/schematics/packet/SchematicPlacePacket.java similarity index 89% rename from src/main/java/com/simibubi/create/networking/SchematicPlacePacket.java rename to src/main/java/com/simibubi/create/modules/schematics/packet/SchematicPlacePacket.java index eba78109b..aa8a1e6cd 100644 --- a/src/main/java/com/simibubi/create/networking/SchematicPlacePacket.java +++ b/src/main/java/com/simibubi/create/modules/schematics/packet/SchematicPlacePacket.java @@ -1,8 +1,8 @@ -package com.simibubi.create.networking; +package com.simibubi.create.modules.schematics.packet; import java.util.function.Supplier; -import com.simibubi.create.item.BlueprintItem; +import com.simibubi.create.modules.schematics.item.BlueprintItem; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/simibubi/create/networking/SchematicUploadPacket.java b/src/main/java/com/simibubi/create/modules/schematics/packet/SchematicUploadPacket.java similarity index 85% rename from src/main/java/com/simibubi/create/networking/SchematicUploadPacket.java rename to src/main/java/com/simibubi/create/modules/schematics/packet/SchematicUploadPacket.java index 4fdf6475e..f99b5013f 100644 --- a/src/main/java/com/simibubi/create/networking/SchematicUploadPacket.java +++ b/src/main/java/com/simibubi/create/modules/schematics/packet/SchematicUploadPacket.java @@ -1,14 +1,14 @@ -package com.simibubi.create.networking; +package com.simibubi.create.modules.schematics.packet; import java.util.function.Supplier; import com.simibubi.create.Create; -import com.simibubi.create.block.SchematicTableContainer; +import com.simibubi.create.foundation.type.DimensionPos; +import com.simibubi.create.modules.schematics.block.SchematicTableContainer; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.network.PacketBuffer; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ServerWorld; import net.minecraftforge.fml.network.NetworkEvent.Context; public class SchematicUploadPacket { @@ -79,14 +79,4 @@ public class SchematicUploadPacket { }); } - public static class DimensionPos { - public ServerWorld world; - public BlockPos pos; - - public DimensionPos(ServerPlayerEntity player, BlockPos pos) { - this.world = player.getServerWorld(); - this.pos = pos; - } - } - } diff --git a/src/main/java/com/simibubi/create/networking/SymmetryEffectPacket.java b/src/main/java/com/simibubi/create/modules/symmetry/SymmetryEffectPacket.java similarity index 93% rename from src/main/java/com/simibubi/create/networking/SymmetryEffectPacket.java rename to src/main/java/com/simibubi/create/modules/symmetry/SymmetryEffectPacket.java index 255113581..6441f4d07 100644 --- a/src/main/java/com/simibubi/create/networking/SymmetryEffectPacket.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/SymmetryEffectPacket.java @@ -1,11 +1,9 @@ -package com.simibubi.create.networking; +package com.simibubi.create.modules.symmetry; import java.util.ArrayList; import java.util.List; import java.util.function.Supplier; -import com.simibubi.create.item.SymmetryHandler; - import net.minecraft.client.Minecraft; import net.minecraft.network.PacketBuffer; import net.minecraft.util.math.BlockPos; diff --git a/src/main/java/com/simibubi/create/item/SymmetryHandler.java b/src/main/java/com/simibubi/create/modules/symmetry/SymmetryHandler.java similarity index 92% rename from src/main/java/com/simibubi/create/item/SymmetryHandler.java rename to src/main/java/com/simibubi/create/modules/symmetry/SymmetryHandler.java index 1f6745f1c..1f98bd9d4 100644 --- a/src/main/java/com/simibubi/create/item/SymmetryHandler.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/SymmetryHandler.java @@ -1,4 +1,4 @@ -package com.simibubi.create.item; +package com.simibubi.create.modules.symmetry; import java.util.Random; @@ -6,9 +6,9 @@ import org.lwjgl.opengl.GL11; import com.mojang.blaze3d.platform.GlStateManager; import com.simibubi.create.AllItems; -import com.simibubi.create.item.symmetry.SymmetryElement; -import com.simibubi.create.item.symmetry.SymmetryEmptySlot; -import com.simibubi.create.utility.TessellatorHelper; +import com.simibubi.create.foundation.utility.TessellatorHelper; +import com.simibubi.create.modules.symmetry.mirror.EmptyMirror; +import com.simibubi.create.modules.symmetry.mirror.SymmetryMirror; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.player.ClientPlayerEntity; @@ -83,8 +83,8 @@ public class SymmetryHandler { ItemStack stackInSlot = player.inventory.getStackInSlot(i); if (stackInSlot != null && AllItems.SYMMETRY_WAND.typeOf(stackInSlot) && SymmetryWandItem.isEnabled(stackInSlot)) { - SymmetryElement mirror = SymmetryWandItem.getMirror(stackInSlot); - if (mirror instanceof SymmetryEmptySlot) + SymmetryMirror mirror = SymmetryWandItem.getMirror(stackInSlot); + if (mirror instanceof EmptyMirror) continue; TessellatorHelper.prepareForDrawing(); @@ -130,8 +130,8 @@ public class SymmetryHandler { if (stackInSlot != null && AllItems.SYMMETRY_WAND.typeOf(stackInSlot) && SymmetryWandItem.isEnabled(stackInSlot)) { - SymmetryElement mirror = SymmetryWandItem.getMirror(stackInSlot); - if (mirror instanceof SymmetryEmptySlot) + SymmetryMirror mirror = SymmetryWandItem.getMirror(stackInSlot); + if (mirror instanceof EmptyMirror) continue; Random r = new Random(); diff --git a/src/main/java/com/simibubi/create/item/SymmetryWandItem.java b/src/main/java/com/simibubi/create/modules/symmetry/SymmetryWandItem.java similarity index 82% rename from src/main/java/com/simibubi/create/item/SymmetryWandItem.java rename to src/main/java/com/simibubi/create/modules/symmetry/SymmetryWandItem.java index df0d9d874..46d9d97b2 100644 --- a/src/main/java/com/simibubi/create/item/SymmetryWandItem.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/SymmetryWandItem.java @@ -1,19 +1,17 @@ -package com.simibubi.create.item; +package com.simibubi.create.modules.symmetry; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import com.simibubi.create.gui.ScreenOpener; -import com.simibubi.create.gui.SymmetryWandScreen; -import com.simibubi.create.item.symmetry.SymmetryCrossPlane; -import com.simibubi.create.item.symmetry.SymmetryElement; -import com.simibubi.create.item.symmetry.SymmetryEmptySlot; -import com.simibubi.create.item.symmetry.SymmetryPlane; -import com.simibubi.create.networking.SymmetryEffectPacket; -import com.simibubi.create.utility.Keyboard; -import com.simibubi.create.networking.AllPackets; +import com.simibubi.create.AllPackets; +import com.simibubi.create.foundation.gui.ScreenOpener; +import com.simibubi.create.foundation.utility.KeyboardHelper; +import com.simibubi.create.modules.symmetry.mirror.CrossPlaneMirror; +import com.simibubi.create.modules.symmetry.mirror.EmptyMirror; +import com.simibubi.create.modules.symmetry.mirror.PlaneMirror; +import com.simibubi.create.modules.symmetry.mirror.SymmetryMirror; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -55,7 +53,7 @@ public class SymmetryWandItem extends Item { @Override @OnlyIn(Dist.CLIENT) public void addInformation(ItemStack stack, World worldIn, List tooltip, ITooltipFlag flagIn) { - if (Keyboard.isKeyDown(Keyboard.LSHIFT)) { + if (KeyboardHelper.isKeyDown(KeyboardHelper.LSHIFT)) { tooltip.add(new StringTextComponent(TextFormatting.GRAY + "Perfectly mirrors your Block placement")); tooltip.add(new StringTextComponent(TextFormatting.GRAY + "across the configured planes.")); tooltip.add(new StringTextComponent("")); @@ -83,23 +81,23 @@ public class SymmetryWandItem extends Item { checkNBT(wand); CompoundNBT compound = wand.getTag().getCompound($SYMMETRY); pos = pos.offset(context.getFace()); - SymmetryElement previousElement = SymmetryElement.fromNBT(compound); + SymmetryMirror previousElement = SymmetryMirror.fromNBT(compound); if (player.isSneaking()) { - if (!(previousElement instanceof SymmetryEmptySlot)) + if (!(previousElement instanceof EmptyMirror)) wand.getTag().putBoolean($ENABLE, !isEnabled(wand)); return ActionResultType.SUCCESS; } wand.getTag().putBoolean($ENABLE, true); Vec3d pos3d = new Vec3d(pos.getX(), pos.getY(), pos.getZ()); - SymmetryElement newElement = new SymmetryPlane(pos3d); + SymmetryMirror newElement = new PlaneMirror(pos3d); - if (previousElement instanceof SymmetryEmptySlot) { + if (previousElement instanceof EmptyMirror) { newElement.setOrientation( (player.getHorizontalFacing() == Direction.NORTH || player.getHorizontalFacing() == Direction.SOUTH) - ? SymmetryPlane.Align.XY.ordinal() - : SymmetryPlane.Align.YZ.ordinal()); + ? PlaneMirror.Align.XY.ordinal() + : PlaneMirror.Align.YZ.ordinal()); newElement.enable = true; player.sendStatusMessage(new StringTextComponent(TextFormatting.GREEN + "New Plane created"), true); wand.getTag().putBoolean($ENABLE, true); @@ -107,18 +105,18 @@ public class SymmetryWandItem extends Item { } else { previousElement.setPosition(pos3d); - if (previousElement instanceof SymmetryPlane) { + if (previousElement instanceof PlaneMirror) { previousElement.setOrientation((player.getHorizontalFacing() == Direction.NORTH - || player.getHorizontalFacing() == Direction.SOUTH) ? SymmetryPlane.Align.XY.ordinal() - : SymmetryPlane.Align.YZ.ordinal()); + || player.getHorizontalFacing() == Direction.SOUTH) ? PlaneMirror.Align.XY.ordinal() + : PlaneMirror.Align.YZ.ordinal()); } - if (previousElement instanceof SymmetryCrossPlane) { + if (previousElement instanceof CrossPlaneMirror) { float rotation = player.getRotationYawHead(); float abs = Math.abs(rotation % 90); boolean diagonal = abs > 22 && abs < 45 + 22; previousElement.setOrientation( - diagonal ? SymmetryCrossPlane.Align.D.ordinal() : SymmetryCrossPlane.Align.Y.ordinal()); + diagonal ? CrossPlaneMirror.Align.D.ordinal() : CrossPlaneMirror.Align.Y.ordinal()); } newElement = previousElement; @@ -150,7 +148,7 @@ public class SymmetryWandItem extends Item { private static void checkNBT(ItemStack wand) { if (!wand.hasTag() || !wand.getTag().contains($SYMMETRY)) { wand.setTag(new CompoundNBT()); - wand.getTag().put($SYMMETRY, new SymmetryEmptySlot(new Vec3d(0, 0, 0)).writeToNbt()); + wand.getTag().put($SYMMETRY, new EmptyMirror(new Vec3d(0, 0, 0)).writeToNbt()); wand.getTag().putBoolean($ENABLE, false); } } @@ -160,9 +158,9 @@ public class SymmetryWandItem extends Item { return stack.getTag().getBoolean($ENABLE); } - public static SymmetryElement getMirror(ItemStack stack) { + public static SymmetryMirror getMirror(ItemStack stack) { checkNBT(stack); - return SymmetryElement.fromNBT((CompoundNBT) stack.getTag().getCompound($SYMMETRY)); + return SymmetryMirror.fromNBT((CompoundNBT) stack.getTag().getCompound($SYMMETRY)); } public static void apply(World world, ItemStack wand, PlayerEntity player, BlockPos pos, BlockState block) { @@ -174,7 +172,7 @@ public class SymmetryWandItem extends Item { Map blockSet = new HashMap<>(); blockSet.put(pos, block); - SymmetryElement symmetry = SymmetryElement.fromNBT((CompoundNBT) wand.getTag().getCompound($SYMMETRY)); + SymmetryMirror symmetry = SymmetryMirror.fromNBT((CompoundNBT) wand.getTag().getCompound($SYMMETRY)); Vec3d mirrorPos = symmetry.getPosition(); if (mirrorPos.distanceTo(new Vec3d(pos)) > 50) @@ -222,7 +220,7 @@ public class SymmetryWandItem extends Item { Map blockSet = new HashMap<>(); blockSet.put(pos, air); - SymmetryElement symmetry = SymmetryElement.fromNBT((CompoundNBT) wand.getTag().getCompound($SYMMETRY)); + SymmetryMirror symmetry = SymmetryMirror.fromNBT((CompoundNBT) wand.getTag().getCompound($SYMMETRY)); Vec3d mirrorPos = symmetry.getPosition(); if (mirrorPos.distanceTo(new Vec3d(pos)) > 50) diff --git a/src/main/java/com/simibubi/create/gui/SymmetryWandScreen.java b/src/main/java/com/simibubi/create/modules/symmetry/SymmetryWandScreen.java similarity index 77% rename from src/main/java/com/simibubi/create/gui/SymmetryWandScreen.java rename to src/main/java/com/simibubi/create/modules/symmetry/SymmetryWandScreen.java index 1ea9bd025..ec1b7c132 100644 --- a/src/main/java/com/simibubi/create/gui/SymmetryWandScreen.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/SymmetryWandScreen.java @@ -1,19 +1,20 @@ -package com.simibubi.create.gui; +package com.simibubi.create.modules.symmetry; import org.lwjgl.opengl.GL11; import com.mojang.blaze3d.platform.GlStateManager; -import com.simibubi.create.gui.widgets.Label; -import com.simibubi.create.gui.widgets.SelectionScrollInput; -import com.simibubi.create.gui.widgets.ScrollInput; -import com.simibubi.create.item.SymmetryWandItem; -import com.simibubi.create.item.symmetry.SymmetryCrossPlane; -import com.simibubi.create.item.symmetry.SymmetryElement; -import com.simibubi.create.item.symmetry.SymmetryEmptySlot; -import com.simibubi.create.item.symmetry.SymmetryPlane; -import com.simibubi.create.item.symmetry.SymmetryTriplePlane; -import com.simibubi.create.networking.NbtPacket; -import com.simibubi.create.networking.AllPackets; +import com.simibubi.create.AllPackets; +import com.simibubi.create.foundation.gui.AbstractSimiScreen; +import com.simibubi.create.foundation.gui.ScreenResources; +import com.simibubi.create.foundation.gui.widgets.Label; +import com.simibubi.create.foundation.gui.widgets.ScrollInput; +import com.simibubi.create.foundation.gui.widgets.SelectionScrollInput; +import com.simibubi.create.foundation.packet.NbtPacket; +import com.simibubi.create.modules.symmetry.mirror.CrossPlaneMirror; +import com.simibubi.create.modules.symmetry.mirror.EmptyMirror; +import com.simibubi.create.modules.symmetry.mirror.PlaneMirror; +import com.simibubi.create.modules.symmetry.mirror.SymmetryMirror; +import com.simibubi.create.modules.symmetry.mirror.TriplePlaneMirror; import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.RenderHelper; @@ -35,7 +36,7 @@ public class SymmetryWandScreen extends AbstractSimiScreen { private ScrollInput areaAlign; private Label labelAlign; - private SymmetryElement currentElement; + private SymmetryMirror currentElement; private float animationProgress; private ItemStack wand; @@ -43,8 +44,8 @@ public class SymmetryWandScreen extends AbstractSimiScreen { super(); currentElement = SymmetryWandItem.getMirror(wand); - if (currentElement instanceof SymmetryEmptySlot) { - currentElement = new SymmetryPlane(Vec3d.ZERO); + if (currentElement instanceof EmptyMirror) { + currentElement = new PlaneMirror(Vec3d.ZERO); } this.wand = wand; animationProgress = 0; @@ -58,22 +59,22 @@ public class SymmetryWandScreen extends AbstractSimiScreen { labelType = new Label(topLeftX + 122, topLeftY + 15, "").colored(0xFFFFFFFF).withShadow(); labelAlign = new Label(topLeftX + 122, topLeftY + 35, "").colored(0xFFFFFFFF).withShadow(); - int state = currentElement instanceof SymmetryTriplePlane ? 2 - : currentElement instanceof SymmetryCrossPlane ? 1 : 0; + int state = currentElement instanceof TriplePlaneMirror ? 2 + : currentElement instanceof CrossPlaneMirror ? 1 : 0; areaType = new SelectionScrollInput(topLeftX + 119, topLeftY + 12, 70, 14) - .forOptions(SymmetryElement.TOOLTIP_ELEMENTS).titled("Type of Mirror").writingTo(labelType) + .forOptions(SymmetryMirror.TOOLTIP_ELEMENTS).titled("Type of Mirror").writingTo(labelType) .setState(state); areaType.calling(position -> { switch (position) { case 0: - currentElement = new SymmetryPlane(currentElement.getPosition()); + currentElement = new PlaneMirror(currentElement.getPosition()); break; case 1: - currentElement = new SymmetryCrossPlane(currentElement.getPosition()); + currentElement = new CrossPlaneMirror(currentElement.getPosition()); break; case 2: - currentElement = new SymmetryTriplePlane(currentElement.getPosition()); + currentElement = new TriplePlaneMirror(currentElement.getPosition()); break; default: break; @@ -91,7 +92,7 @@ public class SymmetryWandScreen extends AbstractSimiScreen { } - private void initAlign(SymmetryElement element) { + private void initAlign(SymmetryMirror element) { if (areaAlign != null) { widgets.remove(areaAlign); } diff --git a/src/main/java/com/simibubi/create/block/symmetry/CrossPlaneSymmetryBlock.java b/src/main/java/com/simibubi/create/modules/symmetry/block/CrossPlaneSymmetryBlock.java similarity index 60% rename from src/main/java/com/simibubi/create/block/symmetry/CrossPlaneSymmetryBlock.java rename to src/main/java/com/simibubi/create/modules/symmetry/block/CrossPlaneSymmetryBlock.java index c4ce9f8d7..0c4625892 100644 --- a/src/main/java/com/simibubi/create/block/symmetry/CrossPlaneSymmetryBlock.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/block/CrossPlaneSymmetryBlock.java @@ -1,6 +1,6 @@ -package com.simibubi.create.block.symmetry; +package com.simibubi.create.modules.symmetry.block; -import com.simibubi.create.item.symmetry.SymmetryCrossPlane; +import com.simibubi.create.modules.symmetry.mirror.CrossPlaneMirror; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -10,12 +10,12 @@ import net.minecraft.state.StateContainer.Builder; public class CrossPlaneSymmetryBlock extends SymmetryBlock { - public static final EnumProperty align = EnumProperty.create("align", - SymmetryCrossPlane.Align.class); + public static final EnumProperty align = EnumProperty.create("align", + CrossPlaneMirror.Align.class); public CrossPlaneSymmetryBlock() { super(Properties.create(Material.AIR)); - this.setDefaultState(getDefaultState().with(align, SymmetryCrossPlane.Align.Y)); + this.setDefaultState(getDefaultState().with(align, CrossPlaneMirror.Align.Y)); } @Override diff --git a/src/main/java/com/simibubi/create/block/symmetry/PlaneSymmetryBlock.java b/src/main/java/com/simibubi/create/modules/symmetry/block/PlaneSymmetryBlock.java similarity index 61% rename from src/main/java/com/simibubi/create/block/symmetry/PlaneSymmetryBlock.java rename to src/main/java/com/simibubi/create/modules/symmetry/block/PlaneSymmetryBlock.java index 96b246fee..397968299 100644 --- a/src/main/java/com/simibubi/create/block/symmetry/PlaneSymmetryBlock.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/block/PlaneSymmetryBlock.java @@ -1,6 +1,6 @@ -package com.simibubi.create.block.symmetry; +package com.simibubi.create.modules.symmetry.block; -import com.simibubi.create.item.symmetry.SymmetryPlane; +import com.simibubi.create.modules.symmetry.mirror.PlaneMirror; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -10,11 +10,11 @@ import net.minecraft.state.StateContainer.Builder; public class PlaneSymmetryBlock extends SymmetryBlock { - public static final EnumProperty align = EnumProperty.create("align", SymmetryPlane.Align.class); + public static final EnumProperty align = EnumProperty.create("align", PlaneMirror.Align.class); public PlaneSymmetryBlock() { super(Properties.create(Material.AIR)); - this.setDefaultState(getDefaultState().with(align, SymmetryPlane.Align.XY)); + this.setDefaultState(getDefaultState().with(align, PlaneMirror.Align.XY)); } @Override diff --git a/src/main/java/com/simibubi/create/modules/symmetry/block/SymmetryBlock.java b/src/main/java/com/simibubi/create/modules/symmetry/block/SymmetryBlock.java new file mode 100644 index 000000000..fe84e7665 --- /dev/null +++ b/src/main/java/com/simibubi/create/modules/symmetry/block/SymmetryBlock.java @@ -0,0 +1,13 @@ +package com.simibubi.create.modules.symmetry.block; + +import com.simibubi.create.foundation.block.IRenderUtilityBlock; + +import net.minecraft.block.Block; + +public class SymmetryBlock extends Block implements IRenderUtilityBlock { + + public SymmetryBlock(Properties properties) { + super(properties); + } + +} diff --git a/src/main/java/com/simibubi/create/block/symmetry/TriplePlaneSymmetryBlock.java b/src/main/java/com/simibubi/create/modules/symmetry/block/TriplePlaneSymmetryBlock.java similarity index 79% rename from src/main/java/com/simibubi/create/block/symmetry/TriplePlaneSymmetryBlock.java rename to src/main/java/com/simibubi/create/modules/symmetry/block/TriplePlaneSymmetryBlock.java index ed435b1e4..4bbc70d5c 100644 --- a/src/main/java/com/simibubi/create/block/symmetry/TriplePlaneSymmetryBlock.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/block/TriplePlaneSymmetryBlock.java @@ -1,4 +1,4 @@ -package com.simibubi.create.block.symmetry; +package com.simibubi.create.modules.symmetry.block; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/simibubi/create/item/symmetry/SymmetryCrossPlane.java b/src/main/java/com/simibubi/create/modules/symmetry/mirror/CrossPlaneMirror.java similarity index 89% rename from src/main/java/com/simibubi/create/item/symmetry/SymmetryCrossPlane.java rename to src/main/java/com/simibubi/create/modules/symmetry/mirror/CrossPlaneMirror.java index 4d11ee52c..17f6db70f 100644 --- a/src/main/java/com/simibubi/create/item/symmetry/SymmetryCrossPlane.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/mirror/CrossPlaneMirror.java @@ -1,4 +1,4 @@ -package com.simibubi.create.item.symmetry; +package com.simibubi.create.modules.symmetry.mirror; import java.util.HashMap; import java.util.List; @@ -6,14 +6,14 @@ import java.util.Map; import com.google.common.collect.ImmutableList; import com.simibubi.create.AllBlocks; -import com.simibubi.create.block.symmetry.CrossPlaneSymmetryBlock; +import com.simibubi.create.modules.symmetry.block.CrossPlaneSymmetryBlock; import net.minecraft.block.BlockState; import net.minecraft.util.IStringSerializable; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -public class SymmetryCrossPlane extends SymmetryElement { +public class CrossPlaneMirror extends SymmetryMirror { public static enum Align implements IStringSerializable { Y("y"), D("d"); @@ -35,7 +35,7 @@ public class SymmetryCrossPlane extends SymmetryElement { } } - public SymmetryCrossPlane(Vec3d pos) { + public CrossPlaneMirror(Vec3d pos) { super(pos); orientation = Align.Y; } diff --git a/src/main/java/com/simibubi/create/item/symmetry/SymmetryEmptySlot.java b/src/main/java/com/simibubi/create/modules/symmetry/mirror/EmptyMirror.java similarity index 88% rename from src/main/java/com/simibubi/create/item/symmetry/SymmetryEmptySlot.java rename to src/main/java/com/simibubi/create/modules/symmetry/mirror/EmptyMirror.java index 6e3de73cb..e11016f6d 100644 --- a/src/main/java/com/simibubi/create/item/symmetry/SymmetryEmptySlot.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/mirror/EmptyMirror.java @@ -1,4 +1,4 @@ -package com.simibubi.create.item.symmetry; +package com.simibubi.create.modules.symmetry.mirror; import java.util.HashMap; import java.util.List; @@ -11,7 +11,7 @@ import net.minecraft.util.IStringSerializable; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -public class SymmetryEmptySlot extends SymmetryElement { +public class EmptyMirror extends SymmetryMirror { public static enum Align implements IStringSerializable { None("none"); @@ -22,7 +22,7 @@ public class SymmetryEmptySlot extends SymmetryElement { @Override public String toString() { return name; } } - public SymmetryEmptySlot(Vec3d pos) { + public EmptyMirror(Vec3d pos) { super(pos); orientation = Align.None; } diff --git a/src/main/java/com/simibubi/create/item/symmetry/SymmetryPlane.java b/src/main/java/com/simibubi/create/modules/symmetry/mirror/PlaneMirror.java similarity index 89% rename from src/main/java/com/simibubi/create/item/symmetry/SymmetryPlane.java rename to src/main/java/com/simibubi/create/modules/symmetry/mirror/PlaneMirror.java index 1aab2ddf7..493ec63e3 100644 --- a/src/main/java/com/simibubi/create/item/symmetry/SymmetryPlane.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/mirror/PlaneMirror.java @@ -1,4 +1,4 @@ -package com.simibubi.create.item.symmetry; +package com.simibubi.create.modules.symmetry.mirror; import java.util.HashMap; import java.util.List; @@ -6,14 +6,14 @@ import java.util.Map; import com.google.common.collect.ImmutableList; import com.simibubi.create.AllBlocks; -import com.simibubi.create.block.symmetry.PlaneSymmetryBlock; +import com.simibubi.create.modules.symmetry.block.PlaneSymmetryBlock; import net.minecraft.block.BlockState; import net.minecraft.util.IStringSerializable; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -public class SymmetryPlane extends SymmetryElement { +public class PlaneMirror extends SymmetryMirror { public static enum Align implements IStringSerializable { XY("xy"), YZ("yz"); @@ -35,7 +35,7 @@ public class SymmetryPlane extends SymmetryElement { } } - public SymmetryPlane(Vec3d pos) { + public PlaneMirror(Vec3d pos) { super(pos); orientation = Align.XY; } diff --git a/src/main/java/com/simibubi/create/item/symmetry/SymmetryElement.java b/src/main/java/com/simibubi/create/modules/symmetry/mirror/SymmetryMirror.java similarity index 95% rename from src/main/java/com/simibubi/create/item/symmetry/SymmetryElement.java rename to src/main/java/com/simibubi/create/modules/symmetry/mirror/SymmetryMirror.java index 9da5f2859..519c57c8f 100644 --- a/src/main/java/com/simibubi/create/item/symmetry/SymmetryElement.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/mirror/SymmetryMirror.java @@ -1,4 +1,4 @@ -package com.simibubi.create.item.symmetry; +package com.simibubi.create.modules.symmetry.mirror; import java.util.HashMap; import java.util.List; @@ -20,7 +20,7 @@ import net.minecraft.util.Mirror; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -public abstract class SymmetryElement { +public abstract class SymmetryMirror { public static final String EMPTY = "empty"; public static final String PLANE = "plane"; @@ -34,7 +34,7 @@ public abstract class SymmetryElement { protected int orientationIndex; public boolean enable; - public SymmetryElement(Vec3d pos) { + public SymmetryMirror(Vec3d pos) { position = pos; enable = true; orientationIndex = 0; @@ -95,23 +95,23 @@ public abstract class SymmetryElement { return nbt; } - public static SymmetryElement fromNBT(CompoundNBT nbt) { + public static SymmetryMirror fromNBT(CompoundNBT nbt) { ListNBT floatList = nbt.getList($POSITION, 5); Vec3d pos = new Vec3d(floatList.getFloat(0), floatList.getFloat(1), floatList.getFloat(2)); - SymmetryElement element; + SymmetryMirror element; switch (nbt.getString($TYPE)) { case PLANE: - element = new SymmetryPlane(pos); + element = new PlaneMirror(pos); break; case CROSS_PLANE: - element = new SymmetryCrossPlane(pos); + element = new CrossPlaneMirror(pos); break; case TRIPLE_PLANE: - element = new SymmetryTriplePlane(pos); + element = new TriplePlaneMirror(pos); break; default: - element = new SymmetryEmptySlot(pos); + element = new EmptyMirror(pos); break; } diff --git a/src/main/java/com/simibubi/create/item/symmetry/SymmetryTriplePlane.java b/src/main/java/com/simibubi/create/modules/symmetry/mirror/TriplePlaneMirror.java similarity index 88% rename from src/main/java/com/simibubi/create/item/symmetry/SymmetryTriplePlane.java rename to src/main/java/com/simibubi/create/modules/symmetry/mirror/TriplePlaneMirror.java index b651d2030..da743921a 100644 --- a/src/main/java/com/simibubi/create/item/symmetry/SymmetryTriplePlane.java +++ b/src/main/java/com/simibubi/create/modules/symmetry/mirror/TriplePlaneMirror.java @@ -1,4 +1,4 @@ -package com.simibubi.create.item.symmetry; +package com.simibubi.create.modules.symmetry.mirror; import java.util.HashMap; import java.util.List; @@ -12,9 +12,9 @@ import net.minecraft.util.IStringSerializable; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -public class SymmetryTriplePlane extends SymmetryElement { +public class TriplePlaneMirror extends SymmetryMirror { - public SymmetryTriplePlane(Vec3d pos) { + public TriplePlaneMirror(Vec3d pos) { super(pos); orientationIndex = 0; } @@ -55,7 +55,7 @@ public class SymmetryTriplePlane extends SymmetryElement { @Override public IStringSerializable getOrientation() { - return SymmetryCrossPlane.Align.Y; + return CrossPlaneMirror.Align.Y; } @Override diff --git a/src/main/java/com/simibubi/create/utility/IJustForRendering.java b/src/main/java/com/simibubi/create/utility/IJustForRendering.java deleted file mode 100644 index 7039ee357..000000000 --- a/src/main/java/com/simibubi/create/utility/IJustForRendering.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.simibubi.create.utility; - -public interface IJustForRendering { - -} diff --git a/src/main/java/com/simibubi/create/utility/TessellatorTextures.java b/src/main/java/com/simibubi/create/utility/TessellatorTextures.java deleted file mode 100644 index e7a431a91..000000000 --- a/src/main/java/com/simibubi/create/utility/TessellatorTextures.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.simibubi.create.utility; - -import com.simibubi.create.Create; - -import net.minecraft.client.Minecraft; -import net.minecraft.util.ResourceLocation; - -public enum TessellatorTextures { - - Room("inner.png"), - RoomTransparent("inner_transparent.png"), - SelectedRoom("inner_selected.png"), - SuperSelectedRoom("inner_super_selected.png"), - Selection("select.png"), - Exporter("exporter.png"), - Trim("trim.png"); - - private ResourceLocation location; - - private TessellatorTextures(String filename) { - location = new ResourceLocation(Create.ID, - "textures/block/marker/" + filename); - } - - public void bind() { - Minecraft.getInstance().getTextureManager().bindTexture(location); - } - -} \ No newline at end of file diff --git a/src/main/resources/assets/create/textures/block/marker/exporter.png b/src/main/resources/assets/create/textures/block/marker/exporter.png deleted file mode 100644 index 89cf7a311..000000000 Binary files a/src/main/resources/assets/create/textures/block/marker/exporter.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/marker/heavy.png b/src/main/resources/assets/create/textures/block/marker/heavy.png deleted file mode 100644 index cf1f76289..000000000 Binary files a/src/main/resources/assets/create/textures/block/marker/heavy.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/marker/inner.png b/src/main/resources/assets/create/textures/block/marker/inner.png deleted file mode 100644 index ae1426441..000000000 Binary files a/src/main/resources/assets/create/textures/block/marker/inner.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/marker/inner_super_selected.png b/src/main/resources/assets/create/textures/block/marker/inner_super_selected.png deleted file mode 100644 index d7ee1d757..000000000 Binary files a/src/main/resources/assets/create/textures/block/marker/inner_super_selected.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/marker/inner_transparent.png b/src/main/resources/assets/create/textures/block/marker/inner_transparent.png deleted file mode 100644 index 5d52d49a3..000000000 Binary files a/src/main/resources/assets/create/textures/block/marker/inner_transparent.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/marker/light.png b/src/main/resources/assets/create/textures/block/marker/light.png deleted file mode 100644 index 4f2f340ce..000000000 Binary files a/src/main/resources/assets/create/textures/block/marker/light.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/marker/select.png b/src/main/resources/assets/create/textures/block/marker/select.png deleted file mode 100644 index eadf5cecb..000000000 Binary files a/src/main/resources/assets/create/textures/block/marker/select.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/marker/trim.png b/src/main/resources/assets/create/textures/block/marker/trim.png deleted file mode 100644 index 5f98a6f0a..000000000 Binary files a/src/main/resources/assets/create/textures/block/marker/trim.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/marker/inner_selected.png b/src/main/resources/assets/create/textures/special/selection.png similarity index 100% rename from src/main/resources/assets/create/textures/block/marker/inner_selected.png rename to src/main/resources/assets/create/textures/special/selection.png