diff --git a/src/main/java/techreborn/blocks/tier1/BlockAssemblingMachine.java b/src/main/java/techreborn/blocks/tier1/BlockAssemblingMachine.java index de86f0815..7b21a911c 100644 --- a/src/main/java/techreborn/blocks/tier1/BlockAssemblingMachine.java +++ b/src/main/java/techreborn/blocks/tier1/BlockAssemblingMachine.java @@ -39,7 +39,7 @@ public class BlockAssemblingMachine extends BlockMachineBase { public BlockAssemblingMachine() { super(); - this.setCreativeTab(TechRebornCreativeTab.instance); + setCreativeTab(TechRebornCreativeTab.instance); ShootingStar.registerModel(new ModelCompound(ModInfo.MOD_ID, this, "machines/tier1_machines")); } diff --git a/src/main/java/techreborn/client/gui/GuiAssemblingMachine.java b/src/main/java/techreborn/client/gui/GuiAssemblingMachine.java index 7aeeb0c3e..69afcd2ee 100644 --- a/src/main/java/techreborn/client/gui/GuiAssemblingMachine.java +++ b/src/main/java/techreborn/client/gui/GuiAssemblingMachine.java @@ -24,66 +24,41 @@ package techreborn.client.gui; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.ResourceLocation; import techreborn.tiles.tier1.TileAssemblingMachine; -public class GuiAssemblingMachine extends GuiContainer { +public class GuiAssemblingMachine extends GuiBase { - public static final ResourceLocation texture = new ResourceLocation("techreborn", - "textures/gui/assembling_machine.png"); + TileAssemblingMachine tile; - TileAssemblingMachine assemblingmachine; - - public GuiAssemblingMachine(final EntityPlayer player, final TileAssemblingMachine assemblingMachine) { - super(assemblingMachine.createContainer(player)); - this.xSize = 176; - this.ySize = 167; - this.assemblingmachine = assemblingMachine; + public GuiAssemblingMachine(final EntityPlayer player, final TileAssemblingMachine tile) { + super(player, tile, tile.createContainer(player)); + this.tile = tile; } @Override - public void initGui() { - super.initGui(); + protected void drawGuiContainerBackgroundLayer(final float partialTicks, final int mouseX, final int mouseY) { + super.drawGuiContainerBackgroundLayer(partialTicks, mouseX, mouseY); + final GuiBase.Layer layer = GuiBase.Layer.BACKGROUND; + + // Battery slot + this.drawSlot(8, 72, layer); + + // Input slots + this.drawSlot(55, 35, layer); + this.drawSlot(55, 55, layer); + + this.drawOutputSlot(101, 45, layer); + + this.builder.drawJEIButton(this, 150, 4, layer); } @Override - protected void drawGuiContainerBackgroundLayer(final float p_146976_1_, final int p_146976_2_, final int p_146976_3_) { - this.drawDefaultBackground(); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.getTextureManager().bindTexture(GuiAssemblingMachine.texture); - final int k = (this.width - this.xSize) / 2; - final int l = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); + protected void drawGuiContainerForegroundLayer(final int mouseX, final int mouseY) { + super.drawGuiContainerForegroundLayer(mouseX, mouseY); + final GuiBase.Layer layer = GuiBase.Layer.FOREGROUND; - int j = 0; - - j = this.assemblingmachine.getProgressScaled(20); - if (j > 0) { - this.drawTexturedModalRect(k + 86, l + 34, 176, 14, j + 1, 16); - } - - j = this.assemblingmachine.getEnergyScaled(12); - if (j > 0) { - this.drawTexturedModalRect(k + 56, l + 36 + 12 - j, 176, 12 - j, 14, j + 2); - } - } - - @Override - protected void drawGuiContainerForegroundLayer(final int p_146979_1_, final int p_146979_2_) { - final String name = I18n.format("tile.techreborn:assembly_machine.name"); - this.fontRenderer.drawString(name, this.xSize / 2 - this.fontRenderer.getStringWidth(name) / 2, 6, - 4210752); - this.fontRenderer.drawString(I18n.format("container.inventory", new Object[0]), 8, - this.ySize - 96 + 2, 4210752); - } - - @Override - public void drawScreen(int mouseX, int mouseY, float partialTicks) { - super.drawScreen(mouseX, mouseY, partialTicks); - this.renderHoveredToolTip(mouseX, mouseY); + this.builder.drawProgressBar(this, this.tile.getProgressScaled(100), 100, 76, 48, mouseX, mouseY, TRBuilder.ProgressDirection.RIGHT, layer); + this.builder.drawMultiEnergyBar(this, 9, 19, (int) this.tile.getEnergy(), (int) this.tile.getMaxPower(), mouseX, mouseY, 0, layer); } } diff --git a/src/main/java/techreborn/compat/jei/TechRebornJeiPlugin.java b/src/main/java/techreborn/compat/jei/TechRebornJeiPlugin.java index 285dd9806..15b6ef920 100644 --- a/src/main/java/techreborn/compat/jei/TechRebornJeiPlugin.java +++ b/src/main/java/techreborn/compat/jei/TechRebornJeiPlugin.java @@ -332,11 +332,11 @@ public class TechRebornJeiPlugin implements IModPlugin { addRecipeClickArea(GuiFusionReactor.class, 150, 4, 18, 18, RecipeCategoryUids.FUSION_REACTOR); addRecipeClickArea(GuiRollingMachine.class, 150, 4, 20, 12, RecipeCategoryUids.ROLLING_MACHINE); addRecipeClickArea(GuiFluidReplicator.class, 150, 4, 20, 12, RecipeCategoryUids.FLUID_REPLICATOR); + addRecipeClickArea(GuiAssemblingMachine.class, 150, 4, 20, 12, RecipeCategoryUids.ASSEMBLING_MACHINE); //OLD ONES addRecipeClickArea(GuiAlloyFurnace.class, 80, 35, 26, 20, RecipeCategoryUids.ALLOY_SMELTER, VanillaRecipeCategoryUid.FUEL); - addRecipeClickArea(GuiAssemblingMachine.class, 85, 34, 24, 20, RecipeCategoryUids.ASSEMBLING_MACHINE); addRecipeClickArea(GuiIronFurnace.class, 78, 36, 24, 16, VanillaRecipeCategoryUid.SMELTING, VanillaRecipeCategoryUid.FUEL); diff --git a/src/main/java/techreborn/compat/jei/assemblingMachine/AssemblingMachineRecipeCategory.java b/src/main/java/techreborn/compat/jei/assemblingMachine/AssemblingMachineRecipeCategory.java index a677a5de7..b49107631 100644 --- a/src/main/java/techreborn/compat/jei/assemblingMachine/AssemblingMachineRecipeCategory.java +++ b/src/main/java/techreborn/compat/jei/assemblingMachine/AssemblingMachineRecipeCategory.java @@ -28,9 +28,8 @@ import mezz.jei.api.IGuiHelper; import mezz.jei.api.gui.*; import mezz.jei.api.ingredients.IIngredients; import mezz.jei.api.recipe.IRecipeCategory; -import net.minecraft.client.Minecraft; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.translation.I18n; -import techreborn.client.gui.GuiAssemblingMachine; import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeUtil; import techreborn.lib.ModInfo; @@ -39,18 +38,16 @@ import javax.annotation.Nonnull; @SuppressWarnings("deprecation") public class AssemblingMachineRecipeCategory implements IRecipeCategory { + public static final ResourceLocation texture = new ResourceLocation("techreborn", "textures/gui/jei.png"); private static final int[] INPUT_SLOTS = { 0, 1 }; private static final int[] OUTPUT_SLOTS = { 2 }; private final IDrawable background; - private final IDrawableAnimated electricity; private final String title; public AssemblingMachineRecipeCategory(IGuiHelper guiHelper) { - background = guiHelper.createDrawable(GuiAssemblingMachine.texture, 46, 16, 91, 54); - IDrawableStatic electricityDrawable = guiHelper.createDrawable(GuiAssemblingMachine.texture, 176, 0, 14, 14); - electricity = guiHelper.createAnimatedDrawable(electricityDrawable, 300, IDrawableAnimated.StartDirection.TOP, - true); + // TO-DO add texture to JEI + background = guiHelper.createDrawable(texture, 0, 94, 120, 78); title = I18n.translateToLocal("tile.techreborn.assemblingmachine.name"); } @@ -78,21 +75,10 @@ public class AssemblingMachineRecipeCategory implements IRecipeCategory { - @Nonnull - private final IJeiHelpers jeiHelpers; - - public AssemblingMachineRecipeHandler( - @Nonnull - IJeiHelpers jeiHelpers) { - this.jeiHelpers = jeiHelpers; - } - - @Nonnull - @Override - public Class getRecipeClass() { - return AssemblingMachineRecipe.class; - } - - @Nonnull - @Override - public String getRecipeCategoryUid( - @Nonnull - AssemblingMachineRecipe recipe) { - return RecipeCategoryUids.ASSEMBLING_MACHINE; - } - - @Nonnull - @Override - public IRecipeWrapper getRecipeWrapper( - @Nonnull - AssemblingMachineRecipe recipe) { - return new AssemblingMachineRecipeWrapper(jeiHelpers, recipe); - } - - @Override - public boolean isRecipeValid( - @Nonnull - AssemblingMachineRecipe recipe) { - return true; - } -} diff --git a/src/main/java/techreborn/compat/jei/assemblingMachine/AssemblingMachineRecipeWrapper.java b/src/main/java/techreborn/compat/jei/assemblingMachine/AssemblingMachineRecipeWrapper.java index da23f8800..a93c564f5 100644 --- a/src/main/java/techreborn/compat/jei/assemblingMachine/AssemblingMachineRecipeWrapper.java +++ b/src/main/java/techreborn/compat/jei/assemblingMachine/AssemblingMachineRecipeWrapper.java @@ -30,7 +30,7 @@ import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableStatic; import net.minecraft.client.Minecraft; import techreborn.api.recipe.machines.AssemblingMachineRecipe; -import techreborn.client.gui.GuiAssemblingMachine; +import techreborn.client.gui.TRBuilder; import techreborn.compat.jei.BaseRecipeWrapper; import javax.annotation.Nonnull; @@ -38,21 +38,17 @@ import javax.annotation.Nonnull; public class AssemblingMachineRecipeWrapper extends BaseRecipeWrapper { private final IDrawableAnimated progress; - public AssemblingMachineRecipeWrapper( - @Nonnull - IJeiHelpers jeiHelpers, - @Nonnull - AssemblingMachineRecipe baseRecipe) { + public AssemblingMachineRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull AssemblingMachineRecipe baseRecipe) { super(baseRecipe); IGuiHelper guiHelper = jeiHelpers.getGuiHelper(); - IDrawableStatic progressStatic = guiHelper.createDrawable(GuiAssemblingMachine.texture, 176, 14, 20, 18); + IDrawableStatic progressStatic = guiHelper.createDrawable(TRBuilder.GUI_SHEET, 100, 151, 16, 10); this.progress = guiHelper.createAnimatedDrawable(progressStatic, baseRecipe.tickTime(), - IDrawableAnimated.StartDirection.LEFT, false); + IDrawableAnimated.StartDirection.LEFT, false); } @Override public void drawInfo(Minecraft minecraft, int recipeWidth, int recipeHeight, int mouseX, int mouseY) { super.drawInfo(minecraft, recipeWidth, recipeHeight, mouseX, mouseY); - progress.draw(minecraft, 40, 18); + progress.draw(minecraft, 25, 11); } } diff --git a/src/main/java/techreborn/tiles/tier1/TileAssemblingMachine.java b/src/main/java/techreborn/tiles/tier1/TileAssemblingMachine.java index 1ba23b2d8..b5e8738c5 100644 --- a/src/main/java/techreborn/tiles/tier1/TileAssemblingMachine.java +++ b/src/main/java/techreborn/tiles/tier1/TileAssemblingMachine.java @@ -56,8 +56,8 @@ public class TileAssemblingMachine extends TileGenericMachine implements IContai // IContainerProvider @Override public BuiltContainer createContainer(final EntityPlayer player) { - return new ContainerBuilder("assemblingmachine").player(player.inventory).inventory(8, 84).hotbar(8, 142) - .addInventory().tile(this).slot(0, 47, 17).slot(1, 65, 17).outputSlot(2, 116, 35).energySlot(3, 56, 53) + return new ContainerBuilder("assemblingmachine").player(player.inventory).inventory().hotbar() + .addInventory().tile(this).slot(0, 55, 35).slot(1, 55, 55).outputSlot(2, 101, 45).energySlot(3, 8, 72) .syncEnergyValue().syncCrafterValue().addInventory().create(this); } }