From fc3970e08e16c0d0ef2899bf84cfecf5906d525d Mon Sep 17 00:00:00 2001 From: trinsdar <30245301+Trinsdar@users.noreply.github.com> Date: Sun, 26 Nov 2023 12:30:12 -0500 Subject: [PATCH] made digital chest and fusion control computer use new methods in GuiData --- .../java/trinsdar/gt4r/GT4Reimagined.java | 2 +- .../main/java/trinsdar/gt4r/data/Guis.java | 6 ++-- .../java/trinsdar/gt4r/data/MenuHandlers.java | 17 ----------- .../gt4r/data/client/ScreenFactories.java | 3 -- .../gt4r/gui/ContainerDigitalChest.java | 28 ------------------ .../gt4r/gui/screen/ScreenDigitalChest.java | 14 --------- .../gt4r/loader/crafting/MachineCrafting.java | 7 +++-- .../textures/gui/background/digital_chest.png | Bin 0 -> 11128 bytes 8 files changed, 8 insertions(+), 69 deletions(-) delete mode 100644 common/src/main/java/trinsdar/gt4r/gui/ContainerDigitalChest.java delete mode 100644 common/src/main/java/trinsdar/gt4r/gui/screen/ScreenDigitalChest.java create mode 100644 common/src/main/resources/assets/gt4r/textures/gui/background/digital_chest.png diff --git a/common/src/main/java/trinsdar/gt4r/GT4Reimagined.java b/common/src/main/java/trinsdar/gt4r/GT4Reimagined.java index 2c52ac47..1a5cd56e 100644 --- a/common/src/main/java/trinsdar/gt4r/GT4Reimagined.java +++ b/common/src/main/java/trinsdar/gt4r/GT4Reimagined.java @@ -57,12 +57,12 @@ public void onRegistrationEvent(RegistrationEvent event, Side side) { Guis.init(side); Models.init(); Registry.register(Registry.LOOT_FUNCTION_TYPE, new ResourceLocation(GT4RRef.ID, "random_drop_bonus"), GT4RRandomDropBonus.RANDOM_DROP_BONUS); + TierMaps.buildTierMaps(); } case DATA_READY -> { if (AntimatterAPI.isModLoaded(GT4RRef.MOD_BLUEPOWER)) { //GEM.forceOverride(Amethyst, ForgeRegistries.ITEMS.getValue(new ResourceLocation("bluepower", "amethyst_gem"))); } - TierMaps.buildTierMaps(); Structures.init(); Structures.initPatterns(); OreConfigHandler.ORE_CONFIG_HANDLER.save(); diff --git a/common/src/main/java/trinsdar/gt4r/data/Guis.java b/common/src/main/java/trinsdar/gt4r/data/Guis.java index 8c963dea..28e4ae1b 100644 --- a/common/src/main/java/trinsdar/gt4r/data/Guis.java +++ b/common/src/main/java/trinsdar/gt4r/data/Guis.java @@ -82,7 +82,6 @@ private static void initMaterialMachine(Side side){ //TODO move these textures to background folder BiFunction textures = (c, l) -> new ResourceLocation(GT4RRef.ID, "textures/gui/machine/" + (c ? "charging_" : "") + l + ".png"); QUANTUM_CHEST.setGUI(MenuHandlers.QUANTUM_CHEST_HANDLER); - DIGITAL_CHEST.setGUI(MenuHandlers.DIGITAL_CHEST_HANDLER); @@ -269,7 +268,7 @@ public static void backgroundTextures(){ LARGE_STEAM_TURBINE.getGui().setBackgroundTexture("multiblock"); THERMAL_BOILER.getGui().setBackgroundTexture("multiblock"); HEAT_EXCHANGER.getGui().setBackgroundTexture("multiblock"); - FUSION_REACTOR.setGUI(MenuHandlers.FUSION_MENU_HANDLER); + DIGITAL_CHEST.getGui().setBackgroundTexture("digital_chest"); FUSION_REACTOR.getGui().setBackgroundTexture("fusion_control_computer"); } @@ -300,7 +299,8 @@ public static void machineData(){ DISTILLATION_TOWER.setGuiProgressBarForJEI(BarDir.TOP, true); DISTILLATION_TOWER.getGui().getMachineData().setProgressLocation("distillation_tower") .setProgressSize(16, 72).setProgressPos(80, 4).setMachineStatePos(65, 25); - FUSION_REACTOR.getGui().setEnablePlayerSlots(false) + DIGITAL_CHEST.getGui().setYSize(221).setPlayerYOffset(56); + FUSION_REACTOR.getGui().setYSize(182).setTitleDrawingAllowed(false).setEnablePlayerSlots(false) .getMachineData().setProgressLocation("fusion_reactor").setProgressPos(163, 4).setProgressSize(149, 16); } diff --git a/common/src/main/java/trinsdar/gt4r/data/MenuHandlers.java b/common/src/main/java/trinsdar/gt4r/data/MenuHandlers.java index c9f706d6..1773a9e6 100644 --- a/common/src/main/java/trinsdar/gt4r/data/MenuHandlers.java +++ b/common/src/main/java/trinsdar/gt4r/data/MenuHandlers.java @@ -8,7 +8,6 @@ import muramasa.antimatter.blockentity.multi.BlockEntityMultiMachine; import net.minecraft.world.entity.player.Inventory; import trinsdar.gt4r.GT4RRef; -import trinsdar.gt4r.gui.ContainerDigitalChest; import trinsdar.gt4r.gui.ContainerQuantumChest; import trinsdar.gt4r.gui.MenuHandlerCrafting; import trinsdar.gt4r.gui.MenuHandlerCraftingItem; @@ -45,22 +44,6 @@ public String screenID() { } }; - public static MenuHandlerMachine DIGITAL_CHEST_HANDLER = new MenuHandlerMachine(GT4RRef.ID, "container_digital_chest") { - @Override - public ContainerBasicMachine getMenu(IGuiHandler tile, Inventory playerInv, int windowId) { - return tile instanceof BlockEntityDigitalChest ? new ContainerDigitalChest((BlockEntityDigitalChest) tile, playerInv, this, windowId) : null; - } - - @Override - public String screenID() { - return "digital_chest"; - } - - @Override - public String screenDomain() { - return GT4RRef.ID; - } - }; public static MenuHandlerCrafting COVER_CRAFTING_HANDLER = new MenuHandlerCrafting(GT4RRef.ID, "crafting_grid"); public static MenuHandlerCraftingItem ITEM_CRAFTING_HANDLER = new MenuHandlerCraftingItem(GT4RRef.ID, "crafting_item"); diff --git a/common/src/main/java/trinsdar/gt4r/data/client/ScreenFactories.java b/common/src/main/java/trinsdar/gt4r/data/client/ScreenFactories.java index 7f3fcd95..084b9e08 100644 --- a/common/src/main/java/trinsdar/gt4r/data/client/ScreenFactories.java +++ b/common/src/main/java/trinsdar/gt4r/data/client/ScreenFactories.java @@ -6,13 +6,10 @@ import net.minecraft.client.gui.screens.inventory.CraftingScreen; import net.minecraft.world.inventory.CraftingMenu; import trinsdar.gt4r.GT4RRef; -import trinsdar.gt4r.gui.ContainerDigitalChest; -import trinsdar.gt4r.gui.screen.ScreenDigitalChest; import trinsdar.gt4r.gui.screen.ScreenFusionReactor; public class ScreenFactories { public final static MenuScreens.ScreenConstructor SCREEN_FUSION_REACTOR = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "fusion_reactor", GT4RRef.ID,(MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenFusionReactor<>((ContainerMultiMachine) a,b,c)); - public final static MenuScreens.ScreenConstructor SCREEN_DIGITAL_CHEST = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "digital_chest", GT4RRef.ID,(MenuScreens.ScreenConstructor)(a, b, c) -> new ScreenDigitalChest((ContainerDigitalChest) a,b,c)); public final static MenuScreens.ScreenConstructor SCREEN_CRAFTING_TABLE = AntimatterAPI.register(MenuScreens.ScreenConstructor.class, "crafting_table", GT4RRef.ID,(MenuScreens.ScreenConstructor)(a, b, c) -> new CraftingScreen((CraftingMenu) a, b, c)); public static void init(){ diff --git a/common/src/main/java/trinsdar/gt4r/gui/ContainerDigitalChest.java b/common/src/main/java/trinsdar/gt4r/gui/ContainerDigitalChest.java deleted file mode 100644 index e9c74825..00000000 --- a/common/src/main/java/trinsdar/gt4r/gui/ContainerDigitalChest.java +++ /dev/null @@ -1,28 +0,0 @@ -package trinsdar.gt4r.gui; - -import muramasa.antimatter.gui.MenuHandlerMachine; -import muramasa.antimatter.gui.container.ContainerBasicMachine; -import muramasa.antimatter.gui.container.ContainerMachine; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.inventory.Slot; -import trinsdar.gt4r.blockentity.single.BlockEntityDigitalChest; - -public class ContainerDigitalChest extends ContainerBasicMachine { - public ContainerDigitalChest(BlockEntityDigitalChest tile, Inventory playerInv, MenuHandlerMachine> handler, int windowId) { - super(tile, playerInv, handler, windowId); - } - - @Override - protected void addPlayerSlots() { - if (playerInv == null) return; - for (int i = 0; i < 3; ++i) { //Inventory Slots - for (int j = 0; j < 9; ++j) { - int y = 140; - this.addSlot(new Slot(playerInv, j + i * 9 + 9, 8 + j * 18, (y) + (i * 18))); - } - } - for (int k = 0; k < 9; ++k) { //HotBar Slots - this.addSlot(new Slot(playerInv, k, 8 + k * 18, 198)); - } - } -} diff --git a/common/src/main/java/trinsdar/gt4r/gui/screen/ScreenDigitalChest.java b/common/src/main/java/trinsdar/gt4r/gui/screen/ScreenDigitalChest.java deleted file mode 100644 index 11fa4a92..00000000 --- a/common/src/main/java/trinsdar/gt4r/gui/screen/ScreenDigitalChest.java +++ /dev/null @@ -1,14 +0,0 @@ -package trinsdar.gt4r.gui.screen; - -import muramasa.antimatter.gui.screen.ScreenMachine; -import net.minecraft.network.chat.Component; -import net.minecraft.world.entity.player.Inventory; -import trinsdar.gt4r.gui.ContainerDigitalChest; -import trinsdar.gt4r.blockentity.single.BlockEntityDigitalChest; - -public class ScreenDigitalChest extends ScreenMachine { - public ScreenDigitalChest(ContainerDigitalChest container, Inventory inv, Component name) { - super(container, inv, name); - this.imageHeight = 221; - } -} diff --git a/common/src/main/java/trinsdar/gt4r/loader/crafting/MachineCrafting.java b/common/src/main/java/trinsdar/gt4r/loader/crafting/MachineCrafting.java index 3eac0ef5..44b899fd 100644 --- a/common/src/main/java/trinsdar/gt4r/loader/crafting/MachineCrafting.java +++ b/common/src/main/java/trinsdar/gt4r/loader/crafting/MachineCrafting.java @@ -20,6 +20,7 @@ import static com.google.common.collect.ImmutableMap.of; import static io.github.gregtechintergalactical.gtcore.data.GTCoreItems.*; +import static muramasa.antimatter.data.AntimatterMaterialTypes.ROD; import static muramasa.antimatter.machine.Tier.*; import static muramasa.antimatter.util.TagUtils.getForgelikeItemTag; import static trinsdar.gt4r.data.CustomTags.*; @@ -179,7 +180,7 @@ private static void loadSimpleMachineRecipes(Consumer output, An provider.addItemRecipe(output, GT4RRef.ID, "heat_exchanger", "machines", "has_machine_hull_basic", provider.hasSafeItem(MACHINE_HULLS_BASIC), HEAT_EXCHANGER.getItem(LV), of('I', AntimatterMaterialTypes.PLATE.getMaterialTag(Invar), 'C', CopperCoil, 'P', FLUID_PIPE_INVAR.getBlock(PipeSize.SMALL), 'M', MACHINE_HULLS_BASIC), "ICI", "PMP", "ICI"); provider.addItemRecipe(output, GT4RRef.ID, "fermenter", "machines", "has_machine_hull_basic", provider.hasSafeItem(MACHINE_HULLS_BASIC), FERMENTER.getItem(LV), of('C', CIRCUITS_BASIC, 'G', ForgeCTags.GLASS, 'M', MACHINE_HULLS_BASIC, 'P', PumpModule), " P ", "GMG", " C "); - provider.addItemRecipe(output, GT4RRef.ID, "distillery", "machines", "has_machine_hull_basic", provider.hasSafeItem(MACHINE_HULLS_BASIC), DISTILLERY.getItem(LV), of('C', CIRCUITS_BASIC, 'G', ForgeCTags.GLASS, 'M', MACHINE_HULLS_BASIC, 'P', PumpModule, 'B', AntimatterMaterialTypes.ROD.getMaterialTag(AntimatterMaterials.Blaze)), " B ", "CMC", "GPG"); + provider.addItemRecipe(output, GT4RRef.ID, "distillery", "machines", "has_machine_hull_basic", provider.hasSafeItem(MACHINE_HULLS_BASIC), DISTILLERY.getItem(LV), of('C', CIRCUITS_BASIC, 'G', ForgeCTags.GLASS, 'M', MACHINE_HULLS_BASIC, 'P', PumpModule, 'B', ROD.getMaterialTag(AntimatterMaterials.Blaze)), " B ", "CMC", "GPG"); provider.addItemRecipe(output, GT4RRef.ID, "mass_fabricator", "machines", "has_teleporter", provider.hasSafeItem(TELEPORTER.getItem(HV)), MASS_FABRICATOR.getItem(EV), of('C', CIRCUITS_MASTER, 'F', FUSION_COIL, 'L', BatteryEnergyOrb, 'T', TELEPORTER.getItem(HV)), "CTC", "FLF", "CTC"); provider.addItemRecipe(output, GT4RRef.ID, "replicator", "machines", "has_teleporter", provider.hasSafeItem(TELEPORTER.getItem(HV)), @@ -209,8 +210,8 @@ private static void loadUtilityBlockRecipes(Consumer output, Ant provider.addItemRecipe(output, GT4RRef.ID, "computer_cube", "machines", "has_basic_machine", provider.hasSafeItem(MACHINE_HULLS_BASIC), COMPUTER_CUBE.getItem(LV), of('C', CIRCUITS_MASTER, 'c', ComputerMonitor, 'B', MACHINE_HULLS_BASIC, 'D', CIRCUITS_ULTIMATE), "DcC", "cBc", "CcD"); GT4RMaterialTags.CABINET.all().forEach(m -> { - provider.addItemRecipe(output, GT4RRef.ID, "barrel_" + m.getId(), "machines", "has_chest", provider.hasSafeItem(ForgeCTags.CHESTS_WOODEN), Machine.get(m.getId() + "_barrel", GTCore.ID).map(mch -> mch.getItem(NONE)).orElse(Items.AIR), of('P', AntimatterMaterialTypes.PLATE.getMaterialTag(m), 'C', ForgeCTags.CHESTS_WOODEN), "PPP", "CPC", "PPP"); - provider.addItemRecipe(output, GT4RRef.ID, "chest_" + m.getId(), "machines", "has_chest", provider.hasSafeItem(ForgeCTags.CHESTS_WOODEN), Machine.get(m.getId() + "_chest", GTCore.ID).map(mch -> mch.getItem(NONE)).orElse(Items.AIR), of('P', AntimatterMaterialTypes.PLATE.getMaterialTag(m), 'C', ForgeCTags.CHESTS_WOODEN, 'R', AntimatterMaterialTypes.ROD.getMaterialTag(m), 'S', AntimatterDefaultTools.SAW.getTag(), 'W', AntimatterDefaultTools.WRENCH.getTag()), "SPW", "RCR", "PPP"); + provider.addItemRecipe(output, GT4RRef.ID, "barrel_" + m.getId(), "machines", Machine.get(m.getId() + "_barrel", GTCore.ID).map(mch -> mch.getItem(NONE)).orElse(Items.AIR), of('P', AntimatterMaterialTypes.PLATE.getMaterialTag(m), 'C', Items.BARREL, 'R', ROD.getMaterialTag(m), 'S', AntimatterDefaultTools.SAW.getTag(), 'W', AntimatterDefaultTools.WRENCH.getTag()), "PRP", "SCW", "PRP"); + provider.addItemRecipe(output, GT4RRef.ID, "chest_" + m.getId(), "machines", Machine.get(m.getId() + "_chest", GTCore.ID).map(mch -> mch.getItem(NONE)).orElse(Items.AIR), of('P', AntimatterMaterialTypes.PLATE.getMaterialTag(m), 'C', ForgeCTags.CHESTS_WOODEN, 'R', ROD.getMaterialTag(m), 'S', AntimatterDefaultTools.SAW.getTag(), 'W', AntimatterDefaultTools.WRENCH.getTag()), "SPW", "RCR", "PPP"); }); /*GT4RMaterialTags.LOCKER.all().forEach(m -> { diff --git a/common/src/main/resources/assets/gt4r/textures/gui/background/digital_chest.png b/common/src/main/resources/assets/gt4r/textures/gui/background/digital_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..6bcab8c5812f425a0b9146f1d52426b531251450 GIT binary patch literal 11128 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 literal 0 HcmV?d00001