From 6d42fae81a7ecc09eeb65c588ab0d478b294fc1b Mon Sep 17 00:00:00 2001 From: Daggerhound Date: Fri, 19 Jul 2024 14:30:03 -0300 Subject: [PATCH 1/4] Data class --- .../api/inventories/InventoryManager.java | 8 +++ .../api/inventories/InventoryMode.java | 6 +++ .../api/inventories/MuTEInventory.java | 50 +++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 src/main/java/com/blueweabo/mutecore/api/inventories/InventoryManager.java create mode 100644 src/main/java/com/blueweabo/mutecore/api/inventories/InventoryMode.java create mode 100644 src/main/java/com/blueweabo/mutecore/api/inventories/MuTEInventory.java diff --git a/src/main/java/com/blueweabo/mutecore/api/inventories/InventoryManager.java b/src/main/java/com/blueweabo/mutecore/api/inventories/InventoryManager.java new file mode 100644 index 0000000..a91a9b8 --- /dev/null +++ b/src/main/java/com/blueweabo/mutecore/api/inventories/InventoryManager.java @@ -0,0 +1,8 @@ +package com.blueweabo.mutecore.api.inventories; + +/* +For logic + */ +public class InventoryManager { + +} diff --git a/src/main/java/com/blueweabo/mutecore/api/inventories/InventoryMode.java b/src/main/java/com/blueweabo/mutecore/api/inventories/InventoryMode.java new file mode 100644 index 0000000..0f28f96 --- /dev/null +++ b/src/main/java/com/blueweabo/mutecore/api/inventories/InventoryMode.java @@ -0,0 +1,6 @@ +package com.blueweabo.mutecore.api.inventories; + +public enum InventoryMode { + INPUT, + OUTPUT; +} diff --git a/src/main/java/com/blueweabo/mutecore/api/inventories/MuTEInventory.java b/src/main/java/com/blueweabo/mutecore/api/inventories/MuTEInventory.java new file mode 100644 index 0000000..ed6cf45 --- /dev/null +++ b/src/main/java/com/blueweabo/mutecore/api/inventories/MuTEInventory.java @@ -0,0 +1,50 @@ +package com.blueweabo.mutecore.api.inventories; + +import com.cleanroommc.modularui.utils.fluid.FluidTankLong; +import com.cleanroommc.modularui.utils.item.ItemStackLong; +import net.minecraft.inventory.InventoryBasic; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +public class MuTEInventory{ + public InventoryMode mode; + + private List items = new ArrayList<>(); + private List fluids = new ArrayList<>(); + + private int itemSlotAmount; + private int maxItemsPerSlot; + private int fluidSlotAmount; + private int maxFluidsPerSlot; + + private final UUID KEY; + String name; + + public MuTEInventory(int itemSlotAmount, int fluidSlotAmount, int maxItemsPerSlot, int maxFluidsPerSlot) { + this(InventoryMode.INPUT, "", itemSlotAmount, fluidSlotAmount, maxItemsPerSlot, maxFluidsPerSlot); + } + + public MuTEInventory(String name, int itemSlotAmount, int fluidSlotAmount, int maxItemsPerSlot, int maxFluidsPerSlot) { + this(InventoryMode.INPUT, name, itemSlotAmount, fluidSlotAmount, maxItemsPerSlot, maxFluidsPerSlot); + } + + public MuTEInventory(InventoryMode mode, String name, int itemSlotAmount, int fluidSlotAmount, int maxItemsPerSlot, int maxFluidsPerSlot) { + this.mode = mode; + this.name = name; + this.KEY = UUID.randomUUID(); + + this.itemSlotAmount = itemSlotAmount; + this.maxItemsPerSlot = maxItemsPerSlot; + this.fluidSlotAmount = fluidSlotAmount; + this.maxFluidsPerSlot = maxFluidsPerSlot; + } + + public List getFluids() { return this.fluids; } + public List getItems() { return this.items; } + + public UUID getKEY() { return this.KEY; } +} From c50ed41002f77cc813d2571fa8481bde1abc28a0 Mon Sep 17 00:00:00 2001 From: Daggerhound Date: Fri, 19 Jul 2024 14:39:44 -0300 Subject: [PATCH 2/4] Data classes --- .../mutecore/api/inventories/InventoryManager.java | 2 +- .../mutecore/api/inventories/InventoryMode.java | 2 +- .../mutecore/api/inventories/MuTEInventory.java | 5 +---- 3 files changed, 3 insertions(+), 6 deletions(-) rename src/main/java/com/{blueweabo => gtnewhorizons}/mutecore/api/inventories/InventoryManager.java (50%) rename src/main/java/com/{blueweabo => gtnewhorizons}/mutecore/api/inventories/InventoryMode.java (50%) rename src/main/java/com/{blueweabo => gtnewhorizons}/mutecore/api/inventories/MuTEInventory.java (90%) diff --git a/src/main/java/com/blueweabo/mutecore/api/inventories/InventoryManager.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryManager.java similarity index 50% rename from src/main/java/com/blueweabo/mutecore/api/inventories/InventoryManager.java rename to src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryManager.java index a91a9b8..0060c4c 100644 --- a/src/main/java/com/blueweabo/mutecore/api/inventories/InventoryManager.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryManager.java @@ -1,4 +1,4 @@ -package com.blueweabo.mutecore.api.inventories; +package com.gtnewhorizons.mutecore.api.inventories; /* For logic diff --git a/src/main/java/com/blueweabo/mutecore/api/inventories/InventoryMode.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryMode.java similarity index 50% rename from src/main/java/com/blueweabo/mutecore/api/inventories/InventoryMode.java rename to src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryMode.java index 0f28f96..9bb1197 100644 --- a/src/main/java/com/blueweabo/mutecore/api/inventories/InventoryMode.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryMode.java @@ -1,4 +1,4 @@ -package com.blueweabo.mutecore.api.inventories; +package com.gtnewhorizons.mutecore.api.inventories; public enum InventoryMode { INPUT, diff --git a/src/main/java/com/blueweabo/mutecore/api/inventories/MuTEInventory.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/MuTEInventory.java similarity index 90% rename from src/main/java/com/blueweabo/mutecore/api/inventories/MuTEInventory.java rename to src/main/java/com/gtnewhorizons/mutecore/api/inventories/MuTEInventory.java index ed6cf45..d98cdae 100644 --- a/src/main/java/com/blueweabo/mutecore/api/inventories/MuTEInventory.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/MuTEInventory.java @@ -1,10 +1,7 @@ -package com.blueweabo.mutecore.api.inventories; +package com.gtnewhorizons.mutecore.api.inventories; import com.cleanroommc.modularui.utils.fluid.FluidTankLong; import com.cleanroommc.modularui.utils.item.ItemStackLong; -import net.minecraft.inventory.InventoryBasic; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; import java.util.ArrayList; import java.util.List; From 5919aa5fc9bd904114c114d8ff5fb979b5c7304c Mon Sep 17 00:00:00 2001 From: Daggerhound Date: Fri, 19 Jul 2024 14:49:03 -0300 Subject: [PATCH 3/4] Spotless Apply and changes to public --- .../com/gtnewhorizons/mutecore/MuTECore.java | 6 ++- .../gtnewhorizons/mutecore/MuTENetwork.java | 2 +- .../mutecore/SystemRegistrator.java | 3 +- .../api/block/MultiTileEntityBlock.java | 6 +-- .../mutecore/api/event/BlockBreakEvent.java | 2 +- .../mutecore/api/event/BlockPlaceEvent.java | 2 +- .../api/event/NeighborBlockChangeEvent.java | 5 ++- .../api/event/NeighborTileChangeEvent.java | 5 ++- .../api/gui/MultiTileEntityGuiFactory.java | 2 +- .../api/inventories/InventoryManager.java | 2 +- .../api/inventories/MuTEInventory.java | 39 ++++++++++++------- .../api/registry/MultiTileContainer.java | 4 -- .../api/registry/MultiTileEntityRegistry.java | 5 +-- .../mutecore/api/render/MuTEIcon.java | 5 +-- .../mutecore/api/render/MuTERender.java | 4 +- .../mutecore/api/tile/MultiTileEntity.java | 6 +-- .../client/MultiTileBlockRenderer.java | 9 +++-- .../mutecore/test/TestRegistry.java | 4 +- 18 files changed, 62 insertions(+), 49 deletions(-) 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/InventoryManager.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryManager.java index 0060c4c..69199bb 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryManager.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryManager.java @@ -1,7 +1,7 @@ package com.gtnewhorizons.mutecore.api.inventories; /* -For logic + * For logic */ public class InventoryManager { diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/MuTEInventory.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/MuTEInventory.java index d98cdae..ecdee50 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/MuTEInventory.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/MuTEInventory.java @@ -1,22 +1,24 @@ package com.gtnewhorizons.mutecore.api.inventories; -import com.cleanroommc.modularui.utils.fluid.FluidTankLong; -import com.cleanroommc.modularui.utils.item.ItemStackLong; - import java.util.ArrayList; import java.util.List; import java.util.UUID; -public class MuTEInventory{ +import com.cleanroommc.modularui.utils.fluid.FluidTankLong; +import com.cleanroommc.modularui.utils.item.ItemStackLong; + +public class MuTEInventory { + public InventoryMode mode; - private List items = new ArrayList<>(); + private List items = new ArrayList<>(); private List fluids = new ArrayList<>(); - private int itemSlotAmount; - private int maxItemsPerSlot; - private int fluidSlotAmount; - private int maxFluidsPerSlot; + public int maxItemsPerSlot; + public int maxFluidsPerSlot; + + public int itemSlotAmount; + public int fluidSlotAmount; private final UUID KEY; String name; @@ -25,11 +27,13 @@ public MuTEInventory(int itemSlotAmount, int fluidSlotAmount, int maxItemsPerSlo this(InventoryMode.INPUT, "", itemSlotAmount, fluidSlotAmount, maxItemsPerSlot, maxFluidsPerSlot); } - public MuTEInventory(String name, int itemSlotAmount, int fluidSlotAmount, int maxItemsPerSlot, int maxFluidsPerSlot) { + public MuTEInventory(String name, int itemSlotAmount, int fluidSlotAmount, int maxItemsPerSlot, + int maxFluidsPerSlot) { this(InventoryMode.INPUT, name, itemSlotAmount, fluidSlotAmount, maxItemsPerSlot, maxFluidsPerSlot); } - public MuTEInventory(InventoryMode mode, String name, int itemSlotAmount, int fluidSlotAmount, int maxItemsPerSlot, int maxFluidsPerSlot) { + public MuTEInventory(InventoryMode mode, String name, int itemSlotAmount, int fluidSlotAmount, int maxItemsPerSlot, + int maxFluidsPerSlot) { this.mode = mode; this.name = name; this.KEY = UUID.randomUUID(); @@ -40,8 +44,15 @@ public MuTEInventory(InventoryMode mode, String name, int itemSlotAmount, int fl this.maxFluidsPerSlot = maxFluidsPerSlot; } - public List getFluids() { return this.fluids; } - public List getItems() { return this.items; } + public List getFluids() { + return this.fluids; + } + + public List getItems() { + return this.items; + } - public UUID getKEY() { return this.KEY; } + public UUID getKEY() { + return this.KEY; + } } 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; From f9a7f1d188e609cb98a979a1f0971389d5d7bc90 Mon Sep 17 00:00:00 2001 From: Daggerhound Date: Sun, 21 Jul 2024 09:17:23 -0300 Subject: [PATCH 4/4] 1. Separated item and fluid inventories 2. Simplified it to 1 constructor with the said ideal parameters 3. Setters for the inventories' arrays 4. UUID aint final no more 5. Started on WorldStateValidator interface implementation --- .../api/inventories/InventoryBase.java | 23 ++++++++ .../api/inventories/InventoryFluid.java | 35 +++++++++++ .../api/inventories/InventoryInputFluid.java | 7 +++ .../api/inventories/InventoryMode.java | 6 -- .../api/inventories/InventoryOutputFluid.java | 7 +++ .../api/inventories/ItemInputInventory.java | 7 +++ .../api/inventories/ItemInventory.java | 50 ++++++++++++++++ .../api/inventories/ItemOutputInventory.java | 7 +++ .../api/inventories/MuTEInventory.java | 58 ------------------- 9 files changed, 136 insertions(+), 64 deletions(-) create mode 100644 src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryBase.java create mode 100644 src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryFluid.java create mode 100644 src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryInputFluid.java delete mode 100644 src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryMode.java create mode 100644 src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryOutputFluid.java create mode 100644 src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemInputInventory.java create mode 100644 src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemInventory.java create mode 100644 src/main/java/com/gtnewhorizons/mutecore/api/inventories/ItemOutputInventory.java delete mode 100644 src/main/java/com/gtnewhorizons/mutecore/api/inventories/MuTEInventory.java 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/InventoryMode.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryMode.java deleted file mode 100644 index 9bb1197..0000000 --- a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/InventoryMode.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.gtnewhorizons.mutecore.api.inventories; - -public enum InventoryMode { - INPUT, - OUTPUT; -} 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/inventories/MuTEInventory.java b/src/main/java/com/gtnewhorizons/mutecore/api/inventories/MuTEInventory.java deleted file mode 100644 index ecdee50..0000000 --- a/src/main/java/com/gtnewhorizons/mutecore/api/inventories/MuTEInventory.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gtnewhorizons.mutecore.api.inventories; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -import com.cleanroommc.modularui.utils.fluid.FluidTankLong; -import com.cleanroommc.modularui.utils.item.ItemStackLong; - -public class MuTEInventory { - - public InventoryMode mode; - - private List items = new ArrayList<>(); - private List fluids = new ArrayList<>(); - - public int maxItemsPerSlot; - public int maxFluidsPerSlot; - - public int itemSlotAmount; - public int fluidSlotAmount; - - private final UUID KEY; - String name; - - public MuTEInventory(int itemSlotAmount, int fluidSlotAmount, int maxItemsPerSlot, int maxFluidsPerSlot) { - this(InventoryMode.INPUT, "", itemSlotAmount, fluidSlotAmount, maxItemsPerSlot, maxFluidsPerSlot); - } - - public MuTEInventory(String name, int itemSlotAmount, int fluidSlotAmount, int maxItemsPerSlot, - int maxFluidsPerSlot) { - this(InventoryMode.INPUT, name, itemSlotAmount, fluidSlotAmount, maxItemsPerSlot, maxFluidsPerSlot); - } - - public MuTEInventory(InventoryMode mode, String name, int itemSlotAmount, int fluidSlotAmount, int maxItemsPerSlot, - int maxFluidsPerSlot) { - this.mode = mode; - this.name = name; - this.KEY = UUID.randomUUID(); - - this.itemSlotAmount = itemSlotAmount; - this.maxItemsPerSlot = maxItemsPerSlot; - this.fluidSlotAmount = fluidSlotAmount; - this.maxFluidsPerSlot = maxFluidsPerSlot; - } - - public List getFluids() { - return this.fluids; - } - - public List getItems() { - return this.items; - } - - public UUID getKEY() { - return this.KEY; - } -}