From 532aa1ca60e78bd9268d6ae013ac43f0a41ad7ac Mon Sep 17 00:00:00 2001 From: Shadows_of_Fire Date: Tue, 6 Mar 2018 21:08:25 -0500 Subject: [PATCH] Add FastBench Compat, closes #1035 --- build.gradle | 3 +- libs/FastWorkbench-1.12.2-1.2.1.jar | Bin 0 -> 20499 bytes .../mod/ActuallyAdditions.java | 8 +-- .../mod/inventory/ContainerCrafter.java | 29 ----------- .../mod/inventory/GuiHandler.java | 34 +++++++++++-- .../mod/inventory/gui/GuiCrafter.java | 46 ------------------ .../mod/jei/JEIActuallyAdditionsPlugin.java | 5 -- .../mod/util/compat/CompatFastBench.java | 26 ++++++++++ .../mod/util/compat/CompatUtil.java | 32 ++++++++---- 9 files changed, 86 insertions(+), 97 deletions(-) create mode 100644 libs/FastWorkbench-1.12.2-1.2.1.jar delete mode 100644 src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCrafter.java delete mode 100644 src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCrafter.java create mode 100644 src/main/java/de/ellpeck/actuallyadditions/mod/util/compat/CompatFastBench.java diff --git a/build.gradle b/build.gradle index ad6c85742..c7148b31b 100644 --- a/build.gradle +++ b/build.gradle @@ -28,6 +28,7 @@ minecraft { mappings = "snapshot_20180119" replaceIn "ModUtil.java" replace "@VERSION@", project.version.toString() + makeObfSourceJar = false } repositories { @@ -43,7 +44,7 @@ repositories { } dependencies { - deobfCompile "mezz.jei:jei_1.12.1:+" + deobfCompile "mezz.jei:jei_1.12.2:+" deobfCompile "mcp.mobius.waila:Hwyla:+" deobfCompile "org.cyclops.commoncapabilities:CommonCapabilities:1.12.2-+" } diff --git a/libs/FastWorkbench-1.12.2-1.2.1.jar b/libs/FastWorkbench-1.12.2-1.2.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..acde26ce934fac3bbc368aacdb567e2d1d5f7267 GIT binary patch literal 20499 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 IsRh4%13nr=3jhEB literal 0 HcmV?d00001 diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java b/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java index 1dbfd7094..25ba4b0a8 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java @@ -37,7 +37,6 @@ import de.ellpeck.actuallyadditions.mod.recipe.TreasureChestHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityBase; import de.ellpeck.actuallyadditions.mod.update.UpdateChecker; import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import de.ellpeck.actuallyadditions.mod.util.compat.CompatUtil; import net.minecraft.server.MinecraftServer; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; @@ -48,7 +47,11 @@ import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.SidedProxy; -import net.minecraftforge.fml.common.event.*; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.event.FMLServerStartedEvent; +import net.minecraftforge.fml.common.event.FMLServerStoppedEvent; @Mod(modid = ModUtil.MOD_ID, name = ModUtil.NAME, version = ModUtil.VERSION, guiFactory = "de.ellpeck.actuallyadditions.mod.config.GuiFactory", acceptedMinecraftVersions = "[1.12, 1.13)") public class ActuallyAdditions{ @@ -101,7 +104,6 @@ public class ActuallyAdditions{ TileEntityBase.init(); new CommonEvents(); InitEntities.init(); - CompatUtil.registerCraftingTweaksCompat(); proxy.init(event); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCrafter.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCrafter.java deleted file mode 100644 index f1fdb5b0d..000000000 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/ContainerCrafter.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * This file ("ContainerCrafter.java") is part of the Actually Additions mod for Minecraft. - * It is created and owned by Ellpeck and distributed - * under the Actually Additions License to be found at - * http://ellpeck.de/actaddlicense - * View the source code at https://github.com/Ellpeck/ActuallyAdditions - * - * © 2015-2017 Ellpeck - */ - -package de.ellpeck.actuallyadditions.mod.inventory; - - -import invtweaks.api.container.InventoryContainer; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ContainerWorkbench; - -@InventoryContainer -public class ContainerCrafter extends ContainerWorkbench{ - - public ContainerCrafter(EntityPlayer player){ - super(player.inventory, player.world, player.getPosition()); - } - - @Override - public boolean canInteractWith(EntityPlayer player){ - return true; - } -} \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/GuiHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/GuiHandler.java index 1c6d252c4..3b433e566 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/GuiHandler.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/GuiHandler.java @@ -15,10 +15,38 @@ import de.ellpeck.actuallyadditions.mod.booklet.gui.GuiBooklet; import de.ellpeck.actuallyadditions.mod.booklet.gui.GuiMainPage; import de.ellpeck.actuallyadditions.mod.booklet.misc.BookletUtils; import de.ellpeck.actuallyadditions.mod.data.PlayerData; -import de.ellpeck.actuallyadditions.mod.inventory.gui.*; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiBag; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiBioReactor; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiBreaker; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiCanolaPress; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiCoalGenerator; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiCoffeeMachine; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiDirectionalBreaker; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiDrill; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiDropper; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiEnergizer; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiEnervator; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiFarmer; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiFeeder; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiFermentingBarrel; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiFilter; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiFluidCollector; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiFurnaceDouble; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiGiantChest; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiGrinder; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiInputter; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiLaserRelayItemWhitelist; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiMiner; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiOilGenerator; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiPhantomPlacer; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiRangedCollector; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiRepairer; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiSmileyCloud; +import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiXPSolidifier; import de.ellpeck.actuallyadditions.mod.items.ItemBooklet; import de.ellpeck.actuallyadditions.mod.tile.TileEntityBase; import de.ellpeck.actuallyadditions.mod.util.ModUtil; +import de.ellpeck.actuallyadditions.mod.util.compat.CompatUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -48,7 +76,7 @@ public class GuiHandler implements IGuiHandler{ case GIANT_CHEST_PAGE_3: return new ContainerGiantChest(player.inventory, tile, 2); case CRAFTER: - return new ContainerCrafter(player); + return CompatUtil.getCrafterContainerElement(player, world, x, y, z); case GRINDER: return new ContainerGrinder(player.inventory, tile, false); case GRINDER_DOUBLE: @@ -130,7 +158,7 @@ public class GuiHandler implements IGuiHandler{ case GIANT_CHEST_PAGE_3: return new GuiGiantChest(player.inventory, tile, 2); case CRAFTER: - return new GuiCrafter(player); + return CompatUtil.getCrafterGuiElement(player, world, x, y, z); case GRINDER: return new GuiGrinder(player.inventory, tile); case GRINDER_DOUBLE: diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCrafter.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCrafter.java deleted file mode 100644 index 35d57da88..000000000 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCrafter.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file ("GuiCrafter.java") is part of the Actually Additions mod for Minecraft. - * It is created and owned by Ellpeck and distributed - * under the Actually Additions License to be found at - * http://ellpeck.de/actaddlicense - * View the source code at https://github.com/Ellpeck/ActuallyAdditions - * - * © 2015-2017 Ellpeck - */ - -package de.ellpeck.actuallyadditions.mod.inventory.gui; - -import de.ellpeck.actuallyadditions.mod.inventory.ContainerCrafter; -import de.ellpeck.actuallyadditions.mod.util.AssetUtil; -import de.ellpeck.actuallyadditions.mod.util.ModUtil; -import de.ellpeck.actuallyadditions.mod.util.StringUtil; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class GuiCrafter extends GuiWtfMojang{ - - private static final ResourceLocation RES_LOC = new ResourceLocation("textures/gui/container/crafting_table.png"); - - public GuiCrafter(EntityPlayer player){ - super(new ContainerCrafter(player)); - - this.xSize = 176; - this.ySize = 166; - } - - @Override - public void drawGuiContainerForegroundLayer(int x, int y){ - AssetUtil.displayNameString(this.fontRenderer, this.xSize, -10, StringUtil.localize("container."+ModUtil.MOD_ID+".crafting.name")); - } - - @Override - public void drawGuiContainerBackgroundLayer(float f, int x, int y){ - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.getTextureManager().bindTexture(RES_LOC); - this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize); - } -} \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/JEIActuallyAdditionsPlugin.java b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/JEIActuallyAdditionsPlugin.java index ecd393100..fc76c91a7 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/JEIActuallyAdditionsPlugin.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/JEIActuallyAdditionsPlugin.java @@ -18,7 +18,6 @@ import de.ellpeck.actuallyadditions.api.recipe.CrusherRecipe; import de.ellpeck.actuallyadditions.api.recipe.EmpowererRecipe; import de.ellpeck.actuallyadditions.api.recipe.LensConversionRecipe; import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks; -import de.ellpeck.actuallyadditions.mod.inventory.ContainerCrafter; import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiCoffeeMachine; import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiFurnaceDouble; import de.ellpeck.actuallyadditions.mod.inventory.gui.GuiGrinder; @@ -44,7 +43,6 @@ import mezz.jei.api.JEIPlugin; import mezz.jei.api.ingredients.IIngredientBlacklist; import mezz.jei.api.recipe.IRecipeCategoryRegistration; import mezz.jei.api.recipe.VanillaRecipeCategoryUid; -import mezz.jei.api.recipe.transfer.IRecipeTransferRegistry; import net.minecraft.item.ItemStack; @JEIPlugin @@ -94,9 +92,6 @@ public class JEIActuallyAdditionsPlugin implements IModPlugin{ blacklist.addIngredientToBlacklist(new ItemStack(InitBlocks.blockColoredLampOn, 1, Util.WILDCARD)); blacklist.addIngredientToBlacklist(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.YOUTUBE_ICON.ordinal())); - IRecipeTransferRegistry transfer = registry.getRecipeTransferRegistry(); - transfer.addRecipeTransferHandler(ContainerCrafter.class, VanillaRecipeCategoryUid.CRAFTING, 1, 9, 10, 36); - registry.addRecipeCatalyst(new ItemStack(InitItems.itemCrafterOnAStick), VanillaRecipeCategoryUid.CRAFTING); registry.addRecipeCatalyst(new ItemStack(InitBlocks.blockFurnaceDouble), VanillaRecipeCategoryUid.SMELTING); registry.addRecipeCatalyst(new ItemStack(InitBlocks.blockGrinder), CrusherRecipeCategory.NAME); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/compat/CompatFastBench.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/compat/CompatFastBench.java new file mode 100644 index 000000000..3f94a0d85 --- /dev/null +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/compat/CompatFastBench.java @@ -0,0 +1,26 @@ +package de.ellpeck.actuallyadditions.mod.util.compat; + +import net.minecraft.client.gui.Gui; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import shadows.fastbench.gui.ContainerFastBench; +import shadows.fastbench.gui.GuiFastBench; + +public class CompatFastBench { + + public static Container getFastBenchContainer(EntityPlayer p, World world, int x, int y, int z) { + return new ContainerFastBench(p, world, x, y, z) { + @Override + public boolean canInteractWith(EntityPlayer playerIn) { + return true; + } + }; + } + + public static Gui getFastBenchGui(EntityPlayer p, World world, int x, int y, int z) { + return new GuiFastBench(p.inventory, world, new BlockPos(x, y, z)); + } + +} diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/compat/CompatUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/compat/CompatUtil.java index af9cf2d75..0b5e7c484 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/compat/CompatUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/compat/CompatUtil.java @@ -10,16 +10,28 @@ package de.ellpeck.actuallyadditions.mod.util.compat; -import de.ellpeck.actuallyadditions.mod.inventory.ContainerCrafter; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.fml.common.event.FMLInterModComms; +import net.minecraft.client.gui.inventory.GuiCrafting; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ContainerWorkbench; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.Loader; -public final class CompatUtil{ +public final class CompatUtil { - public static void registerCraftingTweaksCompat(){ - NBTTagCompound tagCompound = new NBTTagCompound(); - tagCompound.setString("ContainerClass", ContainerCrafter.class.getName()); - tagCompound.setString("AlignToGrid", "left"); - FMLInterModComms.sendMessage("craftingtweaks", "RegisterProvider", tagCompound); - } + static boolean fb = Loader.isModLoaded("fastbench"); + + public static Object getCrafterGuiElement(EntityPlayer player, World world, int x, int y, int z) { + if (fb) return CompatFastBench.getFastBenchGui(player, world, x, y, z); + return new GuiCrafting(player.inventory, world, new BlockPos(x, y, z)); + } + + public static Object getCrafterContainerElement(EntityPlayer player, World world, int x, int y, int z) { + if (fb) return CompatFastBench.getFastBenchContainer(player, world, x, y, z); + return new ContainerWorkbench(player.inventory, world, new BlockPos(x, y, z)) { + public boolean canInteractWith(EntityPlayer playerIn) { + return true; + } + }; + } }