From 123b5b18104078cd8b51663cc96f191d14129bae Mon Sep 17 00:00:00 2001 From: Flanks255 <32142731+Flanks255@users.noreply.github.com> Date: Sun, 5 Jun 2022 15:30:25 -0500 Subject: [PATCH] some cleaning, refactoring, and starting work on the coffee machine. --- .../actuallyadditions/mod/AASounds.java | 1 - .../mod/blocks/BlockCoffeeMachine.java | 9 ++++- .../mod/inventory/gui/AAScreen.java | 8 ++++ .../mod/inventory/gui/GuiBreaker.java | 2 - .../mod/inventory/gui/GuiCanolaPress.java | 3 -- .../mod/inventory/gui/GuiCoalGenerator.java | 2 - .../mod/inventory/gui/GuiCoffeeMachine.java | 40 +++++++++---------- .../inventory/gui/GuiDirectionalBreaker.java | 6 --- .../mod/inventory/gui/GuiFarmer.java | 3 -- .../inventory/gui/GuiFermentingBarrel.java | 3 -- .../mod/inventory/gui/GuiFluidCollector.java | 2 - .../mod/inventory/gui/GuiFurnaceDouble.java | 2 - .../mod/inventory/gui/GuiOilGenerator.java | 2 - .../mod/inventory/gui/GuiRangedCollector.java | 5 --- .../mod/tile/TileEntityCoffeeMachine.java | 6 ++- .../mod/util/StringUtil.java | 2 + .../assets/actuallyadditions/lang/en_us.json | 1 + 17 files changed, 42 insertions(+), 55 deletions(-) diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/AASounds.java b/src/main/java/de/ellpeck/actuallyadditions/mod/AASounds.java index ae546822b..d6b6fef83 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/AASounds.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/AASounds.java @@ -1,7 +1,6 @@ package de.ellpeck.actuallyadditions.mod; import net.minecraft.util.ResourceLocation; -import net.minecraft.util.SoundCategory; import net.minecraft.util.SoundEvent; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.RegistryObject; diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java index 689b9e995..2aabe5aab 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockCoffeeMachine.java @@ -47,9 +47,14 @@ public class BlockCoffeeMachine extends DirectionalBlock.Container { return super.use(state, world, pos, player, hand, hit); } + @Override + public boolean hasTileEntity(BlockState state) { + return true; + } + @Nullable - //@Override - public TileEntity newBlockEntity(IBlockReader worldIn) { + @Override + public TileEntity createTileEntity(BlockState state, IBlockReader world) { return new TileEntityCoffeeMachine(); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/AAScreen.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/AAScreen.java index 8d83c8716..25fc98faf 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/AAScreen.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/AAScreen.java @@ -36,4 +36,12 @@ public abstract class AAScreen extends ContainerScreen { public void renderLabels(@Nonnull MatrixStack matrices, int x, int y) { font.draw(matrices, this.title, titleLabelX, titleLabelY, 0xFFFFFF); } + + @Override + protected void init() { + super.init(); + + titleLabelX = (int) (imageWidth / 2.0f - font.width(title) / 2.0f); + titleLabelY = -10; + } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiBreaker.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiBreaker.java index 066bc376f..ff4e59d9e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiBreaker.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiBreaker.java @@ -40,8 +40,6 @@ public class GuiBreaker extends AAScreen { @Override public void init(Minecraft pMinecraft, int pWidth, int pHeight) { super.init(pMinecraft, pWidth, pHeight); - titleLabelX = (int) (imageWidth / 2.0f - font.width(title) / 2.0f); - titleLabelY = -10; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCanolaPress.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCanolaPress.java index 6372178ae..df17d0fca 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCanolaPress.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCanolaPress.java @@ -43,9 +43,6 @@ public class GuiCanolaPress extends AAScreen { super.init(); this.energy = new EnergyDisplay(this.leftPos + 42, this.topPos + 5, this.press.storage); this.fluid = new FluidDisplay(this.leftPos + 116, this.topPos + 5, this.press.tank); - - titleLabelX = (int) (imageWidth / 2.0f - font.width(title) / 2.0f); - titleLabelY = -10; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoalGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoalGenerator.java index 06e3750cd..36b7e2434 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoalGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoalGenerator.java @@ -43,8 +43,6 @@ public class GuiCoalGenerator extends AAScreen { public void init() { super.init(); this.energy = new EnergyDisplay(this.leftPos + 42, this.topPos + 5, this.generator.storage); - titleLabelX = (int) (imageWidth / 2.0f - font.width(title) / 2.0f); - titleLabelY = -10; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoffeeMachine.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoffeeMachine.java index 3b8252aa6..1496ea3cf 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoffeeMachine.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiCoffeeMachine.java @@ -14,16 +14,24 @@ import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.systems.RenderSystem; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.inventory.ContainerCoffeeMachine; +import de.ellpeck.actuallyadditions.mod.network.PacketHandlerHelper; import de.ellpeck.actuallyadditions.mod.tile.TileEntityCoffeeMachine; -import de.ellpeck.actuallyadditions.mod.util.AssetUtil; -import de.ellpeck.actuallyadditions.mod.util.StringUtil; +import de.ellpeck.actuallyadditions.mod.util.*; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.widget.button.Button; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.StringTextComponent; +import net.minecraft.util.text.TextComponent; +import net.minecraft.util.text.TranslationTextComponent; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.fml.client.gui.GuiUtils; import javax.annotation.Nonnull; +import java.util.Arrays; +import java.util.Collections; @OnlyIn(Dist.CLIENT) public class GuiCoffeeMachine extends AAScreen { @@ -45,20 +53,22 @@ public class GuiCoffeeMachine extends AAScreen { public void init() { super.init(); -// Button buttonOkay = new Button(this.leftPos + 60, this.topPos + 11, 58, 20, StringUtil.localize("info." + ActuallyAdditions.MODID + ".gui.ok")); -// this.addButton(buttonOkay); -// -// this.energy = new EnergyDisplay(this.leftPos + 16, this.topPos + 5, this.machine.storage); -// this.fluid = new FluidDisplay(this.leftPos - 30, this.topPos + 1, this.machine.tank, true, false); + this.addButton(new Button(this.leftPos + 60, this.topPos + 11, 58, 20, new TranslationTextComponent("info.actuallyadditions.gui.ok"), + (b) -> PacketHandlerHelper.sendButtonPacket(this.machine, 0))); + + this.energy = new EnergyDisplay(this.leftPos + 16, this.topPos + 5, this.machine.storage); + this.fluid = new FluidDisplay(this.leftPos - 30, this.topPos + 1, this.machine.tank, true, false); } @Override public void render(@Nonnull MatrixStack matrices, int x, int y, float f) { super.render(matrices, x, y, f); + Minecraft mc = Minecraft.getInstance(); - String text2 = this.machine.coffeeCacheAmount + "/" + TileEntityCoffeeMachine.COFFEE_CACHE_MAX_AMOUNT + " " + StringUtil.localize("info." + ActuallyAdditions.MODID + ".gui.coffee"); + TextComponent text = new TranslationTextComponent("info.actuallyadditions.gui.coffee_amount", this.machine.coffeeCacheAmount, TileEntityCoffeeMachine.COFFEE_CACHE_MAX_AMOUNT); if (x >= this.leftPos + 40 && y >= this.topPos + 25 && x <= this.leftPos + 49 && y <= this.topPos + 56) { - //this.drawHoveringText(Collections.singletonList(text2), x, y); + GuiUtils.drawHoveringText(matrices, Collections.singletonList(text), x, y, mc.getWindow().getWidth(), mc.getWindow().getWidth(), -1, font); + } this.energy.render(matrices, x, y); @@ -66,12 +76,7 @@ public class GuiCoffeeMachine extends AAScreen { } @Override - public void renderLabels(@Nonnull MatrixStack matrices, int x, int y) { - AssetUtil.displayNameString(matrices, this.font, this.imageWidth, -10, this.machine); - } - - @Override - public void renderBg(MatrixStack matrices, float f, int x, int y) { + public void renderBg(@Nonnull MatrixStack matrices, float f, int x, int y) { RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.getMinecraft().getTextureManager().bind(AssetUtil.GUI_INVENTORY_LOCATION); @@ -96,9 +101,4 @@ public class GuiCoffeeMachine extends AAScreen { this.energy.draw(matrices); this.fluid.draw(matrices); } - -// @Override -// public void actionPerformed(Button button) { -// PacketHandlerHelper.sendButtonPacket(this.machine, button.id); -// } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiDirectionalBreaker.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiDirectionalBreaker.java index 2ab20e403..14d230c03 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiDirectionalBreaker.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiDirectionalBreaker.java @@ -46,15 +46,9 @@ public class GuiDirectionalBreaker extends AAScreen @Override public void render(@Nonnull MatrixStack matrices, int x, int y, float f) { super.render(matrices, x, y, f); - this.energy.render(matrices, x, y); } - @Override - public void renderLabels(@Nonnull MatrixStack matrices, int x, int y) { - AssetUtil.displayNameString(matrices, this.font, this.imageWidth, -10, this.breaker); - } - @Override public void renderBg(MatrixStack matrices, float f, int x, int y) { RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFarmer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFarmer.java index 56025ee4e..f14c2a883 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFarmer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFarmer.java @@ -44,9 +44,6 @@ public class GuiFarmer extends AAScreen { super.init(); this.energy = new EnergyDisplay(this.leftPos + 33, this.topPos + 6, this.farmer.storage); - - titleLabelX = (int) (imageWidth / 2.0f - font.width(title) / 2.0f); - titleLabelY = -10; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFermentingBarrel.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFermentingBarrel.java index 2f450e529..98f1a8efa 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFermentingBarrel.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFermentingBarrel.java @@ -51,9 +51,6 @@ public class GuiFermentingBarrel extends AAScreen { super.init(); this.input = new FluidDisplay(this.leftPos + 60, this.topPos + 5, this.press.tanks.inputTank); this.output = new FluidDisplay(this.leftPos + 98, this.topPos + 5, this.press.tanks.outputTank); - - titleLabelX = (int) (imageWidth / 2.0f - font.width(title) / 2.0f); - titleLabelY = -10; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFluidCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFluidCollector.java index a9da139bb..179f5384a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFluidCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFluidCollector.java @@ -49,8 +49,6 @@ public class GuiFluidCollector extends AAScreen { public void init() { super.init(); this.fluid = new FluidDisplay(this.leftPos + 67, this.topPos + 5, this.collector.tank); - titleLabelX = (int) (imageWidth / 2.0f - font.width(title) / 2.0f); - titleLabelY = -10; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFurnaceDouble.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFurnaceDouble.java index cc4655df9..d8f3740fd 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFurnaceDouble.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFurnaceDouble.java @@ -65,8 +65,6 @@ public class GuiFurnaceDouble extends AAScreen { public void init() { super.init(); this.energy = new EnergyDisplay(this.leftPos + 27, this.topPos + 5, this.tileFurnace.storage); - titleLabelX = (int) (imageWidth / 2.0f - font.width(title) / 2.0f); - titleLabelY = -10; this.buttonAutoSplit = new Buttons.SmallerButton(this.leftPos, this.topPos, new StringTextComponent("S"), (button) -> PacketHandlerHelper.sendButtonPacket(this.tileFurnace, 0)); buttonAutoSplit.setFGColor(this.tileFurnace.isAutoSplit ? TextFormatting.DARK_GREEN.getColor() : TextFormatting.RED.getColor()); this.addButton(this.buttonAutoSplit); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiOilGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiOilGenerator.java index 7eda4bb65..5fc2dac25 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiOilGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiOilGenerator.java @@ -47,8 +47,6 @@ public class GuiOilGenerator extends AAScreen { super.init(); this.energy = new EnergyDisplay(this.leftPos + 42, this.topPos + 5, this.generator.storage); this.fluid = new FluidDisplay(this.leftPos + 116, this.topPos + 5, this.generator.tank); - titleLabelX = (int) (imageWidth / 2.0f - font.width(title) / 2.0f); - titleLabelY = -10; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiRangedCollector.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiRangedCollector.java index dc3c2babe..bd6b5d960 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiRangedCollector.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiRangedCollector.java @@ -60,11 +60,6 @@ public class GuiRangedCollector extends AAScreen { this.filter.tick(); } - @Override - public void renderLabels(@Nonnull MatrixStack matrices, int x, int y) { - AssetUtil.displayNameString(matrices, this.font, this.imageWidth, -10, this.collector); - } - @Override public void renderBg(MatrixStack matrices, float f, int x, int y) { RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java index d564d4a1b..ff6569633 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityCoffeeMachine.java @@ -33,10 +33,12 @@ import net.minecraft.util.Direction; import net.minecraft.util.SoundCategory; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; +import net.minecraft.util.text.TranslationTextComponent; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.energy.IEnergyStorage; +import net.minecraftforge.fluids.FluidAttributes; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.fluids.capability.templates.FluidTank; @@ -58,7 +60,7 @@ public class TileEntityCoffeeMachine extends TileEntityInventoryBase implements public final CustomEnergyStorage storage = new CustomEnergyStorage(300000, 250, 0); public final LazyOptional lazyEnergy = LazyOptional.of(() -> this.storage); - public final FluidTank tank = new FluidTank(4 * Util.BUCKET) { + public final FluidTank tank = new FluidTank(4 * FluidAttributes.BUCKET_VOLUME) { @Nonnull @Override public FluidStack drain(int maxDrain, FluidAction action) { @@ -242,7 +244,7 @@ public class TileEntityCoffeeMachine extends TileEntityInventoryBase implements @Override public ITextComponent getDisplayName() { - return StringTextComponent.EMPTY; + return new TranslationTextComponent("container.actuallyadditions.coffeeMachine"); } @Nullable diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/StringUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/StringUtil.java index a60ad42f4..a0cd14521 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/StringUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/StringUtil.java @@ -20,6 +20,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.ForgeI18n; +@Deprecated public final class StringUtil { public static final int DECIMAL_COLOR_WHITE = 16777215; @@ -32,6 +33,7 @@ public final class StringUtil { /** * Localizes a given String */ + @Deprecated @OnlyIn(Dist.CLIENT) public static String localize(String text) { return I18n.get(text); diff --git a/src/main/resources/assets/actuallyadditions/lang/en_us.json b/src/main/resources/assets/actuallyadditions/lang/en_us.json index b3b11f645..a986e8502 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_us.json +++ b/src/main/resources/assets/actuallyadditions/lang/en_us.json @@ -544,6 +544,7 @@ "info.actuallyadditions.gui.inbound": "INBOUND", "info.actuallyadditions.gui.outbound": "OUTBOUND", "info.actuallyadditions.gui.coffee": "Coffee", + "info.actuallyadditions.gui.coffee_amount": "%d/%d Coffee", "info.actuallyadditions.gui.ok": "Ok", "info.actuallyadditions.gui.the": "the", "info.actuallyadditions.gui.smart": "Smart Whitelist",