diff --git a/src/main/java/com/gtnewhorizons/mutecore/MuTECore.java b/src/main/java/com/gtnewhorizons/mutecore/MuTECore.java index a79dc7d..c14784c 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/MuTECore.java +++ b/src/main/java/com/gtnewhorizons/mutecore/MuTECore.java @@ -6,6 +6,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import com.cleanroommc.modularui.factory.GuiManager; import com.gtnewhorizons.mutecore.api.data.Coordinates; import com.gtnewhorizons.mutecore.api.data.GUIEvent; import com.gtnewhorizons.mutecore.api.data.WorldStateValidator; @@ -16,7 +17,6 @@ import com.gtnewhorizons.mutecore.api.tile.MultiTileEntity; import com.gtnewhorizons.mutecore.api.utils.PlayerHelper; import com.gtnewhorizons.mutecore.test.TestRegistry; -import com.cleanroommc.modularui.factory.GuiManager; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; @@ -44,7 +44,9 @@ public class MuTECore { public static final Logger LOG = LogManager.getLogger(MODID); public static final String DEPENDENCIES = "required-after:gtnhlib@[0.2.7,);" + "required-after:modularui;" + "after:appliedenegistics2"; - @SidedProxy(clientSide = "com.gtnewhorizons.mutecore.ClientProxy", serverSide = "com.gtnewhorizons.mutecore.CommonProxy") + @SidedProxy( + clientSide = "com.gtnewhorizons.mutecore.ClientProxy", + serverSide = "com.gtnewhorizons.mutecore.CommonProxy") public static CommonProxy proxy; public static Dominion ENGINE; public static boolean ENABLE_TESTS; diff --git a/src/main/java/com/gtnewhorizons/mutecore/MuTENetwork.java b/src/main/java/com/gtnewhorizons/mutecore/MuTENetwork.java index 75b2e18..dff189b 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/MuTENetwork.java +++ b/src/main/java/com/gtnewhorizons/mutecore/MuTENetwork.java @@ -17,13 +17,13 @@ import org.jetbrains.annotations.Nullable; +import com.cleanroommc.modularui.network.IPacket; import com.gtnewhorizons.mutecore.api.block.MultiTileEntityBlock; import com.gtnewhorizons.mutecore.api.data.Coordinates; import com.gtnewhorizons.mutecore.api.data.WorldStateValidator; import com.gtnewhorizons.mutecore.api.registry.MultiTileContainer; import com.gtnewhorizons.mutecore.api.registry.MultiTileEntityRegistry; import com.gtnewhorizons.mutecore.api.tile.MultiTileEntity; -import com.cleanroommc.modularui.network.IPacket; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; diff --git a/src/main/java/com/gtnewhorizons/mutecore/SystemRegistrator.java b/src/main/java/com/gtnewhorizons/mutecore/SystemRegistrator.java index e4bfc82..c102152 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/SystemRegistrator.java +++ b/src/main/java/com/gtnewhorizons/mutecore/SystemRegistrator.java @@ -28,7 +28,8 @@ public static void registerSystems(Runnable... systems) { * Register any amount of systems. The systems registered this way will be ran in parallel */ public static void registerSystemsParallel(Runnable... systems) { - int processors = Runtime.getRuntime().availableProcessors(); + int processors = Runtime.getRuntime() + .availableProcessors(); Runnable[] parallel = new Runnable[processors]; int count = 0; for (Runnable system : systems) { diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/block/MultiTileEntityBlock.java b/src/main/java/com/gtnewhorizons/mutecore/api/block/MultiTileEntityBlock.java index 7858ea1..ac13f59 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/block/MultiTileEntityBlock.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/block/MultiTileEntityBlock.java @@ -23,14 +23,14 @@ import com.gtnewhorizons.mutecore.MuTENetwork; import com.gtnewhorizons.mutecore.MuTENetwork.MuTEPacket; import com.gtnewhorizons.mutecore.api.data.Coordinates; -import com.gtnewhorizons.mutecore.api.registry.EventRegistry; -import com.gtnewhorizons.mutecore.api.registry.MultiTileContainer.Id; -import com.gtnewhorizons.mutecore.api.registry.MultiTileEntityRegistry; import com.gtnewhorizons.mutecore.api.event.BlockBreakEvent; import com.gtnewhorizons.mutecore.api.event.BlockPlaceEvent; import com.gtnewhorizons.mutecore.api.event.NeighborBlockChangeEvent; import com.gtnewhorizons.mutecore.api.event.NeighborTileChangeEvent; import com.gtnewhorizons.mutecore.api.event.PlayerInteractionEvent; +import com.gtnewhorizons.mutecore.api.registry.EventRegistry; +import com.gtnewhorizons.mutecore.api.registry.MultiTileContainer.Id; +import com.gtnewhorizons.mutecore.api.registry.MultiTileEntityRegistry; import com.gtnewhorizons.mutecore.api.tile.MultiTileEntity; import com.gtnewhorizons.mutecore.client.MultiTileBlockRenderer; diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/event/BlockBreakEvent.java b/src/main/java/com/gtnewhorizons/mutecore/api/event/BlockBreakEvent.java index 2248538..17303ef 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/event/BlockBreakEvent.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/event/BlockBreakEvent.java @@ -4,7 +4,7 @@ import dev.dominion.ecs.api.Entity; -public class BlockBreakEvent implements Comparable{ +public class BlockBreakEvent implements Comparable { private int priority; private BlockBreak interaction; diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/event/BlockPlaceEvent.java b/src/main/java/com/gtnewhorizons/mutecore/api/event/BlockPlaceEvent.java index aa846d7..2d18ca2 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/event/BlockPlaceEvent.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/event/BlockPlaceEvent.java @@ -4,7 +4,7 @@ import dev.dominion.ecs.api.Entity; -public class BlockPlaceEvent implements Comparable{ +public class BlockPlaceEvent implements Comparable { private int priority; private BlockPlace interaction; diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/event/NeighborBlockChangeEvent.java b/src/main/java/com/gtnewhorizons/mutecore/api/event/NeighborBlockChangeEvent.java index b78138d..2311943 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/event/NeighborBlockChangeEvent.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/event/NeighborBlockChangeEvent.java @@ -2,10 +2,11 @@ import javax.annotation.Nonnull; -import dev.dominion.ecs.api.Entity; import net.minecraft.block.Block; -public class NeighborBlockChangeEvent implements Comparable{ +import dev.dominion.ecs.api.Entity; + +public class NeighborBlockChangeEvent implements Comparable { private int priority; private NeighborBlockChange interaction; diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/event/NeighborTileChangeEvent.java b/src/main/java/com/gtnewhorizons/mutecore/api/event/NeighborTileChangeEvent.java index 8dc2963..41a8d60 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/event/NeighborTileChangeEvent.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/event/NeighborTileChangeEvent.java @@ -2,10 +2,11 @@ import javax.annotation.Nonnull; -import dev.dominion.ecs.api.Entity; import net.minecraft.tileentity.TileEntity; -public class NeighborTileChangeEvent implements Comparable{ +import dev.dominion.ecs.api.Entity; + +public class NeighborTileChangeEvent implements Comparable { private int priority; private NeighborTileChange interaction; diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/gui/MultiTileEntityGuiFactory.java b/src/main/java/com/gtnewhorizons/mutecore/api/gui/MultiTileEntityGuiFactory.java index 48ccff9..0144838 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/gui/MultiTileEntityGuiFactory.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/gui/MultiTileEntityGuiFactory.java @@ -12,10 +12,10 @@ import org.jetbrains.annotations.NotNull; -import com.gtnewhorizons.mutecore.MuTECore; import com.cleanroommc.modularui.api.IGuiHolder; import com.cleanroommc.modularui.factory.AbstractUIFactory; import com.cleanroommc.modularui.factory.GuiManager; +import com.gtnewhorizons.mutecore.MuTECore; public class MultiTileEntityGuiFactory extends AbstractUIFactory { diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryBase.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryBase.java new file mode 100644 index 0000000..e280cdf --- /dev/null +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryBase.java @@ -0,0 +1,23 @@ +package com.gtnewhorizons.mutecore.api.inventories; + +import java.util.UUID; + +public class InventoryBase { + + // Config related data + public int maxPerSlot; + public int maxSlots; + + // Identifiers + private UUID KEY; + public String name; + + public InventoryBase(int maxPerSlot, int maxSlots) { + this.maxPerSlot = maxPerSlot; + this.maxSlots = maxSlots; + } + + public UUID getKey() { + return this.KEY; + } +} diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryFluid.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryFluid.java new file mode 100644 index 0000000..1a2fa44 --- /dev/null +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryFluid.java @@ -0,0 +1,35 @@ +package com.gtnewhorizons.mutecore.api.inventories; + +import com.cleanroommc.modularui.utils.fluid.FluidTankLong; +import com.gtnewhorizons.mutecore.api.data.WorldStateValidator; +import net.minecraft.nbt.NBTTagCompound; + +public class InventoryFluid extends InventoryBase implements WorldStateValidator { + + private FluidTankLong[] fluids; + + private final String NBTTAG_KEY = "MuTEFluidInventory"; + + public InventoryFluid(int maxPerSlot, int maxSlots) { + super(maxPerSlot, maxSlots); + this.fluids = new FluidTankLong[maxSlots]; + } + + @Override + public void save(NBTTagCompound nbt) { + + } + + @Override + public void load(NBTTagCompound nbt) { + + } + + public FluidTankLong getFluid(int index) { + return this.fluids[index]; + } + + public void setFluid(int index, FluidTankLong fluid) { + this.fluids[index] = fluid; + } +} diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryInputFluid.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryInputFluid.java new file mode 100644 index 0000000..6c68132 --- /dev/null +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryInputFluid.java @@ -0,0 +1,7 @@ +package com.gtnewhorizons.mutecore.api.inventories; + +public class InventoryInputFluid extends InventoryFluid { + public InventoryInputFluid(int maxPerSlot, int maxSlots) { + super(maxPerSlot, maxSlots); + } +} diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryManager.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryManager.java new file mode 100644 index 0000000..69199bb --- /dev/null +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryManager.java @@ -0,0 +1,8 @@ +package com.gtnewhorizons.mutecore.api.inventories; + +/* + * For logic + */ +public class InventoryManager { + +} diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryOutputFluid.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryOutputFluid.java new file mode 100644 index 0000000..1c56c5f --- /dev/null +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryOutputFluid.java @@ -0,0 +1,7 @@ +package com.gtnewhorizons.mutecore.api.inventories; + +public class InventoryOutputFluid extends InventoryFluid { + public InventoryOutputFluid(int maxPerSlot, int maxSlots) { + super(maxPerSlot, maxSlots); + } +} diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemInputInventory.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemInputInventory.java new file mode 100644 index 0000000..31df557 --- /dev/null +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemInputInventory.java @@ -0,0 +1,7 @@ +package com.gtnewhorizons.mutecore.api.inventories; + +public class ItemInputInventory extends ItemInventory { + public ItemInputInventory(int maxPerSlot, int maxSlots) { + super(maxPerSlot, maxSlots); + } +} diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemInventory.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemInventory.java new file mode 100644 index 0000000..605d2e0 --- /dev/null +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemInventory.java @@ -0,0 +1,50 @@ +package com.gtnewhorizons.mutecore.api.inventories; + +import com.cleanroommc.modularui.utils.item.ItemStackLong; +import com.gtnewhorizons.mutecore.api.data.WorldStateValidator; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; + +public class ItemInventory extends InventoryBase implements WorldStateValidator { + + private ItemStackLong[] items; + + private final String NBTTAG_KEY = "MuTEItemInventory"; + + public ItemInventory(int maxPerSlot, int maxSlots) { + super(maxPerSlot, maxSlots); + this.items = new ItemStackLong[maxSlots]; + } + + @Override + public void save(NBTTagCompound nbt) { + // no clue if this works, idea was to shove items under its + // own NBT compound tag for easier read when/if needed + + // even less of a clue what to name these variables + NBTTagCompound inv = nbt.getCompoundTag(NBTTAG_KEY); + NBTTagList itemList = new NBTTagList(); + + for (ItemStackLong item : items) { + NBTTagCompound entry = new NBTTagCompound(); + item.writeToNBT(entry); + itemList.appendTag(entry); + } + + inv.setTag("Items", itemList); + inv.setString("UUID", this.getKey().toString()); + } + + @Override + public void load(NBTTagCompound nbt) { + // for (???) { items.add(ItemStackLong.loadFromNBT(???)); } + } + + public ItemStackLong getItem(int index) { + return this.items[index]; + } + + public void setItem(int index, ItemStackLong item) { + this.items[index] = item; + } +} diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemOutputInventory.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemOutputInventory.java new file mode 100644 index 0000000..a7d7230 --- /dev/null +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemOutputInventory.java @@ -0,0 +1,7 @@ +package com.gtnewhorizons.mutecore.api.inventories; + +public class ItemOutputInventory extends ItemInventory { + public ItemOutputInventory(int maxPerSlot, int maxSlots) { + super(maxPerSlot, maxSlots); + } +} diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileContainer.java b/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileContainer.java index 85e3458..8a12249 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileContainer.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileContainer.java @@ -6,18 +6,14 @@ import javax.annotation.Nullable; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; import com.gtnewhorizons.mutecore.MuTECore; import com.gtnewhorizons.mutecore.api.data.FirstTickEvent; import com.gtnewhorizons.mutecore.api.data.TickData; import com.gtnewhorizons.mutecore.api.data.WorldStateValidator; import com.gtnewhorizons.mutecore.api.gui.MuTEGUI; -import com.gtnewhorizons.mutecore.api.render.MuTERender; import com.gtnewhorizons.mutecore.api.tile.MultiTileEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import dev.dominion.ecs.api.Entity; public class MultiTileContainer { diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileEntityRegistry.java b/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileEntityRegistry.java index ff81831..b2628ce 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileEntityRegistry.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileEntityRegistry.java @@ -10,14 +10,13 @@ import org.jetbrains.annotations.ApiStatus.Internal; +import com.cleanroommc.modularui.utils.item.ItemStackLong; +import com.google.common.primitives.Ints; import com.gtnewhorizons.mutecore.MuTECore; import com.gtnewhorizons.mutecore.api.block.MultiTileEntityBlock; import com.gtnewhorizons.mutecore.api.render.MuTERender; import com.gtnewhorizons.mutecore.api.tile.MultiTileEntity; -import com.cleanroommc.modularui.utils.item.ItemStackLong; -import com.google.common.primitives.Ints; - import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/render/MuTEIcon.java b/src/main/java/com/gtnewhorizons/mutecore/api/render/MuTEIcon.java index 083f398..b80f829 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/render/MuTEIcon.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/render/MuTEIcon.java @@ -1,17 +1,16 @@ package com.gtnewhorizons.mutecore.api.render; -import com.gtnewhorizons.mutecore.api.registry.TextureRegistry; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; +import com.gtnewhorizons.mutecore.api.registry.TextureRegistry; + public class MuTEIcon implements IIcon { private String iconPath; private IIcon icon; - public MuTEIcon(String modid, String path) { this(new ResourceLocation(modid, path).toString()); } diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/render/MuTERender.java b/src/main/java/com/gtnewhorizons/mutecore/api/render/MuTERender.java index 4af05ee..3f07bb5 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/render/MuTERender.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/render/MuTERender.java @@ -1,9 +1,11 @@ package com.gtnewhorizons.mutecore.api.render; -import dev.dominion.ecs.api.Entity; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.world.IBlockAccess; +import dev.dominion.ecs.api.Entity; + public interface MuTERender { + void render(Entity entity, RenderBlocks render, int x, int y, int z, IBlockAccess world); } diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/tile/MultiTileEntity.java b/src/main/java/com/gtnewhorizons/mutecore/api/tile/MultiTileEntity.java index 99a504f..6528262 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/tile/MultiTileEntity.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/tile/MultiTileEntity.java @@ -6,6 +6,9 @@ import org.jetbrains.annotations.ApiStatus.Internal; +import com.cleanroommc.modularui.api.IGuiHolder; +import com.cleanroommc.modularui.screen.ModularPanel; +import com.cleanroommc.modularui.value.sync.GuiSyncManager; import com.gtnewhorizons.mutecore.MuTECore; import com.gtnewhorizons.mutecore.MuTENetwork; import com.gtnewhorizons.mutecore.MuTENetwork.MuTEPacket; @@ -17,9 +20,6 @@ import com.gtnewhorizons.mutecore.api.registry.MultiTileContainer; import com.gtnewhorizons.mutecore.api.registry.MultiTileContainer.Id; import com.gtnewhorizons.mutecore.api.registry.MultiTileEntityRegistry; -import com.cleanroommc.modularui.api.IGuiHolder; -import com.cleanroommc.modularui.screen.ModularPanel; -import com.cleanroommc.modularui.value.sync.GuiSyncManager; import dev.dominion.ecs.api.Entity; import dev.dominion.ecs.engine.IntEntity; diff --git a/src/main/java/com/gtnewhorizons/mutecore/client/MultiTileBlockRenderer.java b/src/main/java/com/gtnewhorizons/mutecore/client/MultiTileBlockRenderer.java index 89ebf16..21b80e1 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/client/MultiTileBlockRenderer.java +++ b/src/main/java/com/gtnewhorizons/mutecore/client/MultiTileBlockRenderer.java @@ -3,13 +3,11 @@ import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import com.gtnewhorizons.mutecore.api.block.MultiTileEntityBlock; -import com.gtnewhorizons.mutecore.api.registry.MultiTileContainer; -import com.gtnewhorizons.mutecore.api.registry.MultiTileEntityRegistry; import com.gtnewhorizons.mutecore.api.registry.MultiTileContainer.Id; +import com.gtnewhorizons.mutecore.api.registry.MultiTileEntityRegistry; import com.gtnewhorizons.mutecore.api.tile.MultiTileEntity; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; @@ -42,7 +40,10 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b Entity entity = mute.getEntity(); MultiTileEntityRegistry reg = mublock.getRegistry(); - reg.getRender(entity.get(Id.class).getId()).render(entity, renderer, x, y, z, world); + reg.getRender( + entity.get(Id.class) + .getId()) + .render(entity, renderer, x, y, z, world); return true; } diff --git a/src/main/java/com/gtnewhorizons/mutecore/test/TestRegistry.java b/src/main/java/com/gtnewhorizons/mutecore/test/TestRegistry.java index 2081dcd..9e2356b 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/test/TestRegistry.java +++ b/src/main/java/com/gtnewhorizons/mutecore/test/TestRegistry.java @@ -2,12 +2,12 @@ import net.minecraft.block.material.Material; +import com.cleanroommc.modularui.screen.ModularPanel; +import com.cleanroommc.modularui.utils.Alignment; import com.gtnewhorizons.mutecore.api.block.MultiTileEntityBlock; import com.gtnewhorizons.mutecore.api.item.MultiTileEntityItem; import com.gtnewhorizons.mutecore.api.registry.MultiTileEntityRegistry; import com.gtnewhorizons.mutecore.api.tile.MultiTileEntity; -import com.cleanroommc.modularui.screen.ModularPanel; -import com.cleanroommc.modularui.utils.Alignment; import cpw.mods.fml.common.registry.GameRegistry;