From 21d9c3c6531abcccce2323d53d8131400f0c6812 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Mon, 16 Sep 2019 22:04:41 +0200 Subject: [PATCH] More small refactorings --- .../raoulvdberge/refinedstorage/RSItems.java | 10 +- .../CraftingMonitorElementItemRender.java | 3 +- .../render/CraftingMonitorElementDrawers.java | 7 +- .../refinedstorage/block/BlockBase.java | 3 +- .../gui/GuiAmountSpecifying.java | 3 +- .../refinedstorage/gui/GuiBase.java | 15 +- .../refinedstorage/gui/GuiConstructor.java | 3 +- .../refinedstorage/gui/GuiController.java | 11 +- .../refinedstorage/gui/GuiCrafter.java | 3 +- .../refinedstorage/gui/GuiCrafterManager.java | 4 +- .../gui/GuiCraftingMonitor.java | 5 +- .../gui/GuiCraftingPreview.java | 5 +- .../refinedstorage/gui/GuiDestructor.java | 3 +- .../refinedstorage/gui/GuiDetector.java | 3 +- .../gui/GuiDiskManipulator.java | 3 +- .../refinedstorage/gui/GuiExporter.java | 3 +- .../refinedstorage/gui/GuiFilter.java | 7 +- .../refinedstorage/gui/GuiFluidInterface.java | 8 +- .../refinedstorage/gui/GuiImporter.java | 3 +- .../refinedstorage/gui/GuiInterface.java | 3 +- .../gui/GuiNetworkTransmitter.java | 3 +- .../refinedstorage/gui/GuiReaderWriter.java | 7 +- .../refinedstorage/gui/GuiRelay.java | 3 +- .../gui/GuiSecurityManager.java | 6 +- .../refinedstorage/gui/GuiStorage.java | 6 +- .../refinedstorage/gui/GuiStorageMonitor.java | 3 +- .../gui/GuiWirelessTransmitter.java | 3 +- .../refinedstorage/gui/grid/GuiGrid.java | 22 +-- .../gui/widget/ScrollbarWidget.java | 6 +- .../gui/widget/TabListWidget.java | 6 +- .../gui/widget/sidebutton/SideButton.java | 6 +- .../ReaderWriterHandlerForgeEnergy.java | 2 +- .../inventory/item/ItemHandlerFilter.java | 11 +- .../refinedstorage/item/ItemBase.java | 20 --- .../refinedstorage/item/ItemCover.java | 16 +- .../refinedstorage/item/ItemEnergyItem.java | 93 ----------- .../refinedstorage/item/ItemHollowCover.java | 5 +- .../refinedstorage/item/ItemNetworkItem.java | 109 ------------- .../item/ItemWirelessCraftingMonitor.java | 21 ++- .../item/ItemWirelessFluidGrid.java | 20 ++- .../refinedstorage/item/ItemWirelessGrid.java | 22 ++- .../refinedstorage/item/ItemWithEnergy.java | 87 +++++++++++ .../refinedstorage/item/ItemWithNetwork.java | 144 ++++++++++++++++++ .../CapabilityProviderEnergy.java | 6 +- .../refinedstorage/item/info/IItemInfo.java | 7 - .../refinedstorage/item/info/ItemInfo.java | 16 -- .../item/itemblock/ItemBlockBase.java | 3 +- .../item/itemblock/ItemBlockController.java | 6 +- .../item/itemblock/ItemBlockEnergyItem.java | 9 +- .../item/itemblock/ItemBlockFluidStorage.java | 4 +- .../item/itemblock/ItemBlockPortableGrid.java | 3 +- .../item/itemblock/ItemBlockStorage.java | 4 +- .../refinedstorage/util/RenderUtils.java | 52 ++----- .../assets/refinedstorage/lang/en_us.json | 6 +- 54 files changed, 416 insertions(+), 426 deletions(-) delete mode 100755 src/main/java/com/raoulvdberge/refinedstorage/item/ItemBase.java delete mode 100644 src/main/java/com/raoulvdberge/refinedstorage/item/ItemEnergyItem.java delete mode 100755 src/main/java/com/raoulvdberge/refinedstorage/item/ItemNetworkItem.java create mode 100644 src/main/java/com/raoulvdberge/refinedstorage/item/ItemWithEnergy.java create mode 100644 src/main/java/com/raoulvdberge/refinedstorage/item/ItemWithNetwork.java rename src/main/java/com/raoulvdberge/refinedstorage/item/{capprovider => capabilityprovider}/CapabilityProviderEnergy.java (83%) delete mode 100644 src/main/java/com/raoulvdberge/refinedstorage/item/info/IItemInfo.java delete mode 100644 src/main/java/com/raoulvdberge/refinedstorage/item/info/ItemInfo.java diff --git a/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java b/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java index 5e9c3fc88..02d46953d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java @@ -4,11 +4,11 @@ import com.raoulvdberge.refinedstorage.item.*; import net.minecraftforge.registries.ObjectHolder; public final class RSItems { - public static final ItemWirelessGrid WIRELESS_GRID = new ItemWirelessGrid(); - public static final ItemWirelessFluidGrid WIRELESS_FLUID_GRID = new ItemWirelessFluidGrid(); - public static final ItemWirelessCraftingMonitor WIRELESS_CRAFTING_MONITOR = new ItemWirelessCraftingMonitor(); - public static final ItemCover COVER = new ItemCover(); - public static final ItemHollowCover HOLLOW_COVER = new ItemHollowCover(); + public static final ItemWirelessGrid WIRELESS_GRID = null; + public static final ItemWirelessFluidGrid WIRELESS_FLUID_GRID = null; + public static final ItemWirelessCraftingMonitor WIRELESS_CRAFTING_MONITOR = null; + public static final ItemCover COVER = null; + public static final ItemHollowCover HOLLOW_COVER = null; @ObjectHolder(RS.ID + ":quartz_enriched_iron") public static final ItemQuartzEnrichedIron QUARTZ_ENRICHED_IRON = null; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementItemRender.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementItemRender.java index 3542efd6b..fc2618914 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementItemRender.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementItemRender.java @@ -12,7 +12,6 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import javax.annotation.Nullable; -import java.util.stream.Collectors; public class CraftingMonitorElementItemRender implements ICraftingMonitorElement { private static final int COLOR_PROCESSING = 0xFFD9EDF7; @@ -100,7 +99,7 @@ public class CraftingMonitorElementItemRender implements ICraftingMonitorElement @Nullable @Override public String getTooltip() { - return RenderUtils.getItemTooltip(this.stack).stream().map(t -> t.getFormattedText()).collect(Collectors.joining("\n")); // TODO getFormattedText + return String.join("\n", RenderUtils.getTooltipFromItem(this.stack)); } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java index 01ac84f3c..7a3668271 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java @@ -1,8 +1,10 @@ package com.raoulvdberge.refinedstorage.apiimpl.render; import com.mojang.blaze3d.platform.GlStateManager; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.render.IElementDrawer; import com.raoulvdberge.refinedstorage.gui.GuiBase; +import net.minecraft.client.gui.AbstractGui; import net.minecraft.client.gui.FontRenderer; public class CraftingMonitorElementDrawers extends ElementDrawers { @@ -13,15 +15,14 @@ public class CraftingMonitorElementDrawers extends ElementDrawers { GlStateManager.color4f(1, 1, 1, 1); GlStateManager.disableLighting(); - gui.fill(x, y, x + itemWidth, y + itemHeight, color); + AbstractGui.fill(x, y, x + itemWidth, y + itemHeight, color); }; private IElementDrawer errorDrawer = (x, y, nothing) -> { GlStateManager.color4f(1, 1, 1, 1); GlStateManager.disableLighting(); - gui.bindTexture("gui/crafting_preview.png"); - + gui.bindTexture(RS.ID, "gui/crafting_preview.png"); gui.blit(x + itemWidth - 12 - 2, y + itemHeight - 12 - 2, 0, 244, 12, 12); }; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java index f1d7919b8..731048247 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java @@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.block; import com.raoulvdberge.refinedstorage.block.info.BlockDirection; import com.raoulvdberge.refinedstorage.block.info.IBlockInfo; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; import com.raoulvdberge.refinedstorage.item.itemblock.ItemBlockBase; import com.raoulvdberge.refinedstorage.render.IModelRegistration; import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup; @@ -60,7 +59,7 @@ public abstract class BlockBase extends Block { } public Item createItem() { - return new ItemBlockBase(this, new ItemInfo(info.getId().getNamespace(), info.getId().getPath())); + return new ItemBlockBase(this); } /* TODO @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiAmountSpecifying.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiAmountSpecifying.java index a16246d65..22080386e 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiAmountSpecifying.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiAmountSpecifying.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.client.gui.widget.button.Button; import net.minecraft.client.resources.I18n; @@ -103,7 +104,7 @@ public abstract class GuiAmountSpecifying extends GuiBase extends ContainerScreen { if (slot.isEnabled() && slot instanceof SlotFilterFluid) { FluidStack stack = ((SlotFilterFluid) slot).getFluidInventory().getFluid(slot.getSlotIndex()); - if (!stack.isEmpty() && inBounds(slot.xPos, slot.yPos, 17, 17, mouseX, mouseY)) { + if (!stack.isEmpty() && RenderUtils.inBounds(slot.xPos, slot.yPos, 17, 17, mouseX, mouseY)) { renderTooltip(mouseX, mouseY, stack.getDisplayName().getFormattedText()); } } @@ -226,16 +227,8 @@ public abstract class GuiBase extends ContainerScreen { return button; } - public boolean inBounds(int x, int y, int w, int h, double ox, double oy) { - return ox >= x && ox <= x + w && oy >= y && oy <= y + h; - } - - public void bindTexture(String file) { - bindTexture(RS.ID, file); - } - - public void bindTexture(String base, String file) { - minecraft.getTextureManager().bindTexture(TEXTURE_CACHE.computeIfAbsent(base + ":" + file, (newId) -> new ResourceLocation(base, "textures/" + file))); + public void bindTexture(String namespace, String filenameInTexturesFolder) { + minecraft.getTextureManager().bindTexture(TEXTURE_CACHE.computeIfAbsent(namespace + ":" + filenameInTexturesFolder, (newId) -> new ResourceLocation(namespace, "textures/" + filenameInTexturesFolder))); } public void renderItem(int x, int y, ItemStack stack) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiConstructor.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiConstructor.java index cd5ad907c..7a716c059 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiConstructor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiConstructor.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.container.ContainerConstructor; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; @@ -31,7 +32,7 @@ public class GuiConstructor extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/constructor.png"); + bindTexture(RS.ID, "gui/constructor.png"); blit(x, y, 0, 0, xSize, ySize); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiController.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiController.java index 3dc8deac0..9225f252c 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiController.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiController.java @@ -1,6 +1,7 @@ package com.raoulvdberge.refinedstorage.gui; import com.mojang.blaze3d.platform.GlStateManager; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.container.ContainerController; import com.raoulvdberge.refinedstorage.gui.widget.ScrollbarWidget; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; @@ -48,7 +49,7 @@ public class GuiController extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/controller.png"); + bindTexture(RS.ID, "gui/controller.png"); blit(x, y, 0, 0, xSize, ySize); @@ -93,7 +94,7 @@ public class GuiController extends GuiBase { GlStateManager.popMatrix(); - if (inBounds(x, y, 16, 16, mouseX, mouseY)) { + if (RenderUtils.inBounds(x, y, 16, 16, mouseX, mouseY)) { nodeHovering = node; } } @@ -109,11 +110,11 @@ public class GuiController extends GuiBase { } if (nodeHovering != null) { - renderTooltip(mouseX, mouseY, I18n.format("misc.refinedstorage:energy_usage_minimal", nodeHovering.getEnergyUsage())); + renderTooltip(mouseX, mouseY, I18n.format("misc.refinedstorage.energy_usage_minimal", nodeHovering.getEnergyUsage())); } - if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) { - renderTooltip(mouseX, mouseY, I18n.format("misc.refinedstorage:energy_usage", TileController.ENERGY_USAGE.getValue()) + "\n" + I18n.format("misc.refinedstorage:energy_stored", TileController.ENERGY_STORED.getValue(), TileController.ENERGY_CAPACITY.getValue())); + if (RenderUtils.inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) { + renderTooltip(mouseX, mouseY, I18n.format("misc.refinedstorage.energy_usage", TileController.ENERGY_USAGE.getValue()) + "\n" + I18n.format("misc.refinedstorage.energy_stored", TileController.ENERGY_STORED.getValue(), TileController.ENERGY_CAPACITY.getValue())); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafter.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafter.java index bd071bd5c..bc2278560 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafter.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.container.ContainerCrafter; import com.raoulvdberge.refinedstorage.tile.TileCrafter; import com.raoulvdberge.refinedstorage.util.RenderUtils; @@ -21,7 +22,7 @@ public class GuiCrafter extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/crafter.png"); + bindTexture(RS.ID, "gui/crafter.png"); blit(x, y, 0, 0, xSize, ySize); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java index a932bab4a..e74a422ee 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java @@ -131,7 +131,7 @@ public class GuiCrafterManager extends GuiBase implemen @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/crafter_manager.png"); + bindTexture(RS.ID, "gui/crafter_manager.png"); blit(x, y, 0, 0, xSize, getTopHeight()); @@ -202,7 +202,7 @@ public class GuiCrafterManager extends GuiBase implemen GlStateManager.disableLighting(); GlStateManager.color3f(1, 1, 1); - bindTexture("gui/crafter_manager.png"); + bindTexture(RS.ID, "gui/crafter_manager.png"); blit(7, y, 0, 174, 18 * 9, 18); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingMonitor.java index 9eaaf1c3c..6b7bc7f9f 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingMonitor.java @@ -2,6 +2,7 @@ package com.raoulvdberge.refinedstorage.gui; import com.google.common.collect.Lists; import com.mojang.blaze3d.platform.GlStateManager; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement; import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingRequestInfo; import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab; @@ -231,7 +232,7 @@ public class GuiCraftingMonitor extends GuiBase { tabs.drawBackground(x, y - tabs.getHeight()); } - bindTexture("gui/crafting_preview.png"); + bindTexture(RS.ID, "gui/crafting_preview.png"); blit(x, y, 0, 0, xSize, ySize); @@ -257,7 +258,7 @@ public class GuiCraftingMonitor extends GuiBase { element.draw(x, y, drawers); - if (inBounds(x, y, ITEM_WIDTH, ITEM_HEIGHT, mouseX, mouseY)) { + if (RenderUtils.inBounds(x, y, ITEM_WIDTH, ITEM_HEIGHT, mouseX, mouseY)) { itemSelectedTooltip = element.getTooltip(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java index b48b04f55..5c4260b81 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java @@ -1,6 +1,7 @@ package com.raoulvdberge.refinedstorage.gui; import com.mojang.blaze3d.platform.GlStateManager; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern; import com.raoulvdberge.refinedstorage.api.autocrafting.preview.ICraftingPreviewElement; import com.raoulvdberge.refinedstorage.api.autocrafting.task.CraftingTaskErrorType; @@ -95,7 +96,7 @@ public class GuiCraftingPreview extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/crafting_preview.png"); + bindTexture(RS.ID, "gui/crafting_preview.png"); blit(x, y, 0, 0, xSize, ySize); @@ -175,7 +176,7 @@ public class GuiCraftingPreview extends GuiBase { stack.draw(x, y + 5, drawers); - if (inBounds(x + 5, y + 7, 16, 16, mouseX, mouseY)) { + if (RenderUtils.inBounds(x + 5, y + 7, 16, 16, mouseX, mouseY)) { this.hoveringStack = stack.getId().equals(CraftingPreviewElementItemStack.ID) ? (ItemStack) stack.getElement() : null; if (this.hoveringStack == null) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDestructor.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDestructor.java index 68906f438..3616176ae 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDestructor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDestructor.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.container.ContainerDestructor; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.*; @@ -31,7 +32,7 @@ public class GuiDestructor extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/destructor.png"); + bindTexture(RS.ID, "gui/destructor.png"); blit(x, y, 0, 0, xSize, ySize); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDetector.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDetector.java index ce81c059f..075f73dac 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDetector.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDetector.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.container.ContainerDetector; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; @@ -40,7 +41,7 @@ public class GuiDetector extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/detector.png"); + bindTexture(RS.ID, "gui/detector.png"); blit(x, y, 0, 0, xSize, ySize); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDiskManipulator.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDiskManipulator.java index 79047e474..7e03c7249 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDiskManipulator.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiDiskManipulator.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.container.ContainerDiskManipulator; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.*; @@ -28,7 +29,7 @@ public class GuiDiskManipulator extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/disk_manipulator.png"); + bindTexture(RS.ID, "gui/disk_manipulator.png"); blit(x, y, 0, 0, xSize, ySize); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiExporter.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiExporter.java index 0e9971ef2..7343eef59 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiExporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiExporter.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.container.ContainerExporter; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; @@ -29,7 +30,7 @@ public class GuiExporter extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/exporter.png"); + bindTexture(RS.ID, "gui/exporter.png"); blit(x, y, 0, 0, xSize, ySize); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiFilter.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiFilter.java index e758450c8..bc23ac91c 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiFilter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiFilter.java @@ -78,11 +78,6 @@ public class GuiFilter extends GuiBase { addSideButton(new SideButtonFilterType(this)); } - @Override - public boolean keyPressed(int p_keyPressed_1_, int p_keyPressed_2_, int p_keyPressed_3_) { - return nameField.keyPressed(p_keyPressed_1_, p_keyPressed_2_, p_keyPressed_3_) || super.keyPressed(p_keyPressed_1_, p_keyPressed_2_, p_keyPressed_3_); - } - private void updateModeButton(int mode) { String text = mode == IFilter.MODE_WHITELIST ? I18n.format("sidebutton.refinedstorage.mode.whitelist") : I18n.format("sidebutton.refinedstorage.mode.blacklist"); @@ -97,7 +92,7 @@ public class GuiFilter extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/filter.png"); + bindTexture(RS.ID, "gui/filter.png"); blit(x, y, 0, 0, xSize, ySize); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiFluidInterface.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiFluidInterface.java index 32314433d..db467b2cf 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiFluidInterface.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiFluidInterface.java @@ -1,11 +1,13 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeFluidInterface; import com.raoulvdberge.refinedstorage.container.ContainerFluidInterface; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.render.FluidRenderer; import com.raoulvdberge.refinedstorage.tile.TileFluidInterface; +import com.raoulvdberge.refinedstorage.util.RenderUtils; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.util.text.TextFormatting; @@ -28,7 +30,7 @@ public class GuiFluidInterface extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/fluid_interface.png"); + bindTexture(RS.ID, "gui/fluid_interface.png"); blit(x, y, 0, 0, xSize, ySize); @@ -49,12 +51,12 @@ public class GuiFluidInterface extends GuiBase { renderString(7, 111, I18n.format("container.inventory")); // TODO getFormattedText - if (inBounds(46, 56, 12, 47, mouseX, mouseY) && TileFluidInterface.TANK_IN.getValue() != null) { + if (RenderUtils.inBounds(46, 56, 12, 47, mouseX, mouseY) && TileFluidInterface.TANK_IN.getValue() != null) { renderTooltip(mouseX, mouseY, TileFluidInterface.TANK_IN.getValue().getDisplayName().getFormattedText() + "\n" + TextFormatting.GRAY + API.instance().getQuantityFormatter().formatInBucketForm(TileFluidInterface.TANK_IN.getValue().getAmount()) + TextFormatting.RESET); } // TODO getFormattedText - if (inBounds(118, 56, 12, 47, mouseX, mouseY) && TileFluidInterface.TANK_OUT.getValue() != null) { + if (RenderUtils.inBounds(118, 56, 12, 47, mouseX, mouseY) && TileFluidInterface.TANK_OUT.getValue() != null) { renderTooltip(mouseX, mouseY, TileFluidInterface.TANK_OUT.getValue().getDisplayName().getFormattedText() + "\n" + TextFormatting.GRAY + API.instance().getQuantityFormatter().formatInBucketForm(TileFluidInterface.TANK_OUT.getValue().getAmount()) + TextFormatting.RESET); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiImporter.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiImporter.java index fcd9d643f..a8af1c216 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiImporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiImporter.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.container.ContainerImporter; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; @@ -32,7 +33,7 @@ public class GuiImporter extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/importer.png"); + bindTexture(RS.ID, "gui/importer.png"); blit(x, y, 0, 0, xSize, ySize); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiInterface.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiInterface.java index 708a7d01a..6b5244935 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiInterface.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiInterface.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.container.ContainerInterface; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; @@ -26,7 +27,7 @@ public class GuiInterface extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/interface.png"); + bindTexture(RS.ID, "gui/interface.png"); blit(x, y, 0, 0, xSize, ySize); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiNetworkTransmitter.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiNetworkTransmitter.java index 80d3a5a47..6ff3ee1b3 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiNetworkTransmitter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiNetworkTransmitter.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.container.ContainerNetworkTransmitter; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter; @@ -26,7 +27,7 @@ public class GuiNetworkTransmitter extends GuiBase @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/network_transmitter.png"); + bindTexture(RS.ID, "gui/network_transmitter.png"); blit(x, y, 0, 0, xSize, ySize); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiReaderWriter.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiReaderWriter.java index 91f93e586..3bfad7b3d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiReaderWriter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiReaderWriter.java @@ -1,6 +1,7 @@ package com.raoulvdberge.refinedstorage.gui; import com.mojang.blaze3d.platform.GlStateManager; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiReaderWriter; import com.raoulvdberge.refinedstorage.container.ContainerReaderWriter; import com.raoulvdberge.refinedstorage.gui.widget.ScrollbarWidget; @@ -91,7 +92,7 @@ public class GuiReaderWriter extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/readerwriter.png"); + bindTexture(RS.ID, "gui/readerwriter.png"); blit(x, y, 0, 0, xSize, ySize); @@ -149,7 +150,7 @@ public class GuiReaderWriter extends GuiBase { return true; } - if (inBounds(8, 39, 144, 73, mouseX - guiLeft, mouseY - guiTop)) { + if (RenderUtils.inBounds(8, 39, 144, 73, mouseX - guiLeft, mouseY - guiTop)) { if (mouseButton == 0) { int item = scrollbar != null ? scrollbar.getOffset() : 0; @@ -157,7 +158,7 @@ public class GuiReaderWriter extends GuiBase { int ix = 8; int iy = 39 + (i * ITEM_HEIGHT); - if (inBounds(ix, iy, ITEM_WIDTH, ITEM_HEIGHT, mouseX - guiLeft, mouseY - guiTop) && (item + i) < getChannels().size()) { + if (RenderUtils.inBounds(ix, iy, ITEM_WIDTH, ITEM_HEIGHT, mouseX - guiLeft, mouseY - guiTop) && (item + i) < getChannels().size()) { itemSelected = item + i; TileDataManager.setParameter(readerWriter.getChannelParameter(), getChannels().get(itemSelected)); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiRelay.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiRelay.java index 0302a9b6d..130bc79ba 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiRelay.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiRelay.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.container.ContainerRelay; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.tile.TileRelay; @@ -22,7 +23,7 @@ public class GuiRelay extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/relay.png"); + bindTexture(RS.ID, "gui/relay.png"); blit(x, y, 0, 0, xSize, ySize); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java index feb70552f..465dd408d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java @@ -1,9 +1,11 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.network.security.Permission; import com.raoulvdberge.refinedstorage.container.ContainerSecurityManager; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.tile.TileSecurityManager; +import com.raoulvdberge.refinedstorage.util.RenderUtils; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.item.ItemStack; @@ -67,7 +69,7 @@ public class GuiSecurityManager extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/security_manager.png"); + bindTexture(RS.ID, "gui/security_manager.png"); blit(x, y, 0, 0, xSize, ySize); } @@ -81,7 +83,7 @@ public class GuiSecurityManager extends GuiBase { for (int i = 0; i < permissions.length; ++i) { GuiCheckBox permission = permissions[i]; - if (inBounds(permission.x - guiLeft, permission.y - guiTop, permission.getWidth(), permission.getHeight(), mouseX, mouseY)) { + if (RenderUtils.inBounds(permission.x - guiLeft, permission.y - guiTop, permission.getWidth(), permission.getHeight(), mouseX, mouseY)) { renderTooltip(mouseX, mouseY, I18n.format("gui.refinedstorage:security_manager.permission." + i + ".tooltip")); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorage.java index 9bde9d447..46f1ddfb7 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorage.java @@ -1,10 +1,12 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiStorage; import com.raoulvdberge.refinedstorage.container.ContainerBase; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.*; +import com.raoulvdberge.refinedstorage.util.RenderUtils; import net.minecraft.client.gui.widget.button.Button; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.PlayerInventory; @@ -66,7 +68,7 @@ public class GuiStorage extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture(texture); + bindTexture(RS.ID, texture); blit(x, y, 0, 0, xSize, ySize); @@ -89,7 +91,7 @@ public class GuiStorage extends GuiBase { renderString(7, 129, I18n.format("container.inventory")); - if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) { + if (RenderUtils.inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) { int full = 0; if (gui.getCapacity() >= 0) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorageMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorageMonitor.java index 2e4070b18..717c6c51a 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorageMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorageMonitor.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.container.ContainerStorageMonitor; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; @@ -23,7 +24,7 @@ public class GuiStorageMonitor extends GuiBase { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture("gui/storage_monitor.png"); + bindTexture(RS.ID, "gui/storage_monitor.png"); blit(x, y, 0, 0, xSize, ySize); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiWirelessTransmitter.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiWirelessTransmitter.java index ef6245816..4110f0086 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiWirelessTransmitter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiWirelessTransmitter.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.container.ContainerWirelessTransmitter; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.tile.TileWirelessTransmitter; @@ -22,7 +23,7 @@ public class GuiWirelessTransmitter extends GuiBase implements IResizableDisplay } public boolean isOverSlotArea(int mouseX, int mouseY) { - return inBounds(7, 19, 162, 18 * getVisibleRows(), mouseX, mouseY); + return RenderUtils.inBounds(7, 19, 162, 18 * getVisibleRows(), mouseX, mouseY); } public int getSlotNumber() { @@ -241,20 +241,20 @@ public class GuiGrid extends GuiBase implements IResizableDisplay switch (grid.getGridType()) { case CRAFTING: - return inBounds(82, y, 7, 7, mouseX, mouseY); + return RenderUtils.inBounds(82, y, 7, 7, mouseX, mouseY); case PATTERN: if (((NetworkNodeGrid) grid).isProcessingPattern()) { - return inBounds(154, y, 7, 7, mouseX, mouseY); + return RenderUtils.inBounds(154, y, 7, 7, mouseX, mouseY); } - return inBounds(82, y, 7, 7, mouseX, mouseY); + return RenderUtils.inBounds(82, y, 7, 7, mouseX, mouseY); default: return false; } } private boolean isOverCreatePattern(int mouseX, int mouseY) { - return grid.getGridType() == GridType.PATTERN && inBounds(172, getTopHeight() + (getVisibleRows() * 18) + 22, 16, 16, mouseX, mouseY) && ((NetworkNodeGrid) grid).canCreatePattern(); + return grid.getGridType() == GridType.PATTERN && RenderUtils.inBounds(172, getTopHeight() + (getVisibleRows() * 18) + 22, 16, 16, mouseX, mouseY) && ((NetworkNodeGrid) grid).canCreatePattern(); } @Override @@ -262,13 +262,13 @@ public class GuiGrid extends GuiBase implements IResizableDisplay tabs.drawBackground(x, y - tabs.getHeight()); if (grid instanceof IPortableGrid) { - bindTexture("gui/portable_grid.png"); + bindTexture(RS.ID, "gui/portable_grid.png"); } else if (grid.getGridType() == GridType.CRAFTING) { - bindTexture("gui/crafting_grid.png"); + bindTexture(RS.ID, "gui/crafting_grid.png"); } else if (grid.getGridType() == GridType.PATTERN) { - bindTexture("gui/pattern_grid" + (((NetworkNodeGrid) grid).isProcessingPattern() ? "_processing" : "") + ".png"); + bindTexture(RS.ID, "gui/pattern_grid" + (((NetworkNodeGrid) grid).isProcessingPattern() ? "_processing" : "") + ".png"); } else { - bindTexture("gui/grid.png"); + bindTexture(RS.ID, "gui/grid.png"); } int yy = y; @@ -337,7 +337,7 @@ public class GuiGrid extends GuiBase implements IResizableDisplay RenderHelper.enableGUIStandardItemLighting(); for (int i = 0; i < 9 * getVisibleRows(); ++i) { - if (inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isActive()) { + if (RenderUtils.inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isActive()) { this.slotNumber = slot; } @@ -345,7 +345,7 @@ public class GuiGrid extends GuiBase implements IResizableDisplay view.getStacks().get(slot).draw(this, x, y); } - if (inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isActive()) { + if (RenderUtils.inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isActive()) { int color = grid.isActive() ? -2130706433 : 0xFF5B5B5B; GlStateManager.disableLighting(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/ScrollbarWidget.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/ScrollbarWidget.java index 458043b52..b8bd29972 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/ScrollbarWidget.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/ScrollbarWidget.java @@ -1,6 +1,8 @@ package com.raoulvdberge.refinedstorage.gui.widget; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.gui.GuiBase; +import com.raoulvdberge.refinedstorage.util.RenderUtils; import java.util.LinkedList; import java.util.List; @@ -50,7 +52,7 @@ public class ScrollbarWidget { } public void draw(GuiBase gui) { - gui.bindTexture("icons.png"); + gui.bindTexture(RS.ID, "icons.png"); gui.blit(gui.getGuiLeft() + x, gui.getGuiTop() + y + (int) Math.min(height - SCROLLER_HEIGHT, (float) offset / (float) maxOffset * (float) (height - SCROLLER_HEIGHT)), isEnabled() ? 232 : 244, 0, 12, 15); } @@ -62,7 +64,7 @@ public class ScrollbarWidget { // TODO boolean down = Mouse.isButtonDown(0); boolean down = false; - if (!wasClicking && down && gui.inBounds(x, y, width, height, mouseX, mouseY)) { + if (!wasClicking && down && RenderUtils.inBounds(x, y, width, height, mouseX, mouseY)) { isScrolling = true; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/TabListWidget.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/TabListWidget.java index 2383b4ca2..acdd3a4bc 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/TabListWidget.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/TabListWidget.java @@ -1,9 +1,11 @@ package com.raoulvdberge.refinedstorage.gui.widget; import com.mojang.blaze3d.platform.GlStateManager; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab; import com.raoulvdberge.refinedstorage.apiimpl.render.ElementDrawers; import com.raoulvdberge.refinedstorage.gui.GuiBase; +import com.raoulvdberge.refinedstorage.util.RenderUtils; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.widget.button.Button; @@ -67,7 +69,7 @@ public class TabListWidget { if (i < tabs.get().size()) { drawTab(tabs.get().get(i), true, x, y, i, j); - if (gui.inBounds(x + getXOffset() + ((IGridTab.TAB_WIDTH + 1) * j), y, IGridTab.TAB_WIDTH, IGridTab.TAB_HEIGHT - (i == selected.get() ? 2 : 7), mouseX, mouseY)) { + if (RenderUtils.inBounds(x + getXOffset() + ((IGridTab.TAB_WIDTH + 1) * j), y, IGridTab.TAB_WIDTH, IGridTab.TAB_HEIGHT - (i == selected.get() ? 2 : 7), mouseX, mouseY)) { this.tabHovering = i; } @@ -130,7 +132,7 @@ public class TabListWidget { GlStateManager.enableAlphaTest(); - gui.bindTexture("icons.png"); + gui.bindTexture(RS.ID, "icons.png"); if (!isSelected) { ty += 3; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/sidebutton/SideButton.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/sidebutton/SideButton.java index 42eca4865..d076c6158 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/sidebutton/SideButton.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/widget/sidebutton/SideButton.java @@ -1,7 +1,9 @@ package com.raoulvdberge.refinedstorage.gui.widget.sidebutton; import com.mojang.blaze3d.platform.GlStateManager; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.gui.GuiBase; +import com.raoulvdberge.refinedstorage.util.RenderUtils; import net.minecraft.client.gui.widget.button.Button; import org.lwjgl.opengl.GL11; @@ -23,9 +25,9 @@ public abstract class SideButton extends Button { GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.enableAlphaTest(); - isHovered = gui.inBounds(x, y, width, height, mouseX, mouseY); + isHovered = RenderUtils.inBounds(x, y, width, height, mouseX, mouseY); - gui.bindTexture("icons.png"); + gui.bindTexture(RS.ID, "icons.png"); gui.blit(x, y, 238, isHovered ? 35 : 16, 18, 18); drawButtonIcon(x + 1, y + 1); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/integration/forgeenergy/ReaderWriterHandlerForgeEnergy.java b/src/main/java/com/raoulvdberge/refinedstorage/integration/forgeenergy/ReaderWriterHandlerForgeEnergy.java index 6cd12d5bb..e4b054ef9 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/integration/forgeenergy/ReaderWriterHandlerForgeEnergy.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/integration/forgeenergy/ReaderWriterHandlerForgeEnergy.java @@ -137,7 +137,7 @@ public class ReaderWriterHandlerForgeEnergy implements IReaderWriterHandler { return Collections.emptyList(); } - return Collections.singletonList(new TextComponentTranslation("misc.refinedstorage:energy_stored", storage.getEnergyStored(), storage.getMaxEnergyStored())); + return Collections.singletonList(new TextComponentTranslation("misc.refinedstorage.energy_stored", storage.getEnergyStored(), storage.getMaxEnergyStored())); } private class EnergyStorageReaderWriter implements IEnergyStorage { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilter.java b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilter.java index 3c3e3f8dc..7d4847a97 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilter.java @@ -3,14 +3,21 @@ package com.raoulvdberge.refinedstorage.inventory.item; import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab; import com.raoulvdberge.refinedstorage.api.util.IFilter; +import com.raoulvdberge.refinedstorage.apiimpl.network.grid.GridTab; +import com.raoulvdberge.refinedstorage.apiimpl.util.FilterFluid; +import com.raoulvdberge.refinedstorage.apiimpl.util.FilterItem; import com.raoulvdberge.refinedstorage.gui.GuiBase; import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; +import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventoryFilter; import com.raoulvdberge.refinedstorage.inventory.item.validator.ItemValidatorBasic; +import com.raoulvdberge.refinedstorage.item.ItemFilter; import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fml.LogicalSide; import net.minecraftforge.fml.common.thread.EffectiveSide; import javax.annotation.Nullable; +import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; @@ -46,7 +53,7 @@ public class ItemHandlerFilter extends ItemHandlerBase { } private void addFilter(ItemStack filter) { - /* TODO int compare = ItemFilter.getCompare(filter); + int compare = ItemFilter.getCompare(filter); int mode = ItemFilter.getMode(filter); boolean modFilter = ItemFilter.isModFilter(filter); @@ -75,6 +82,6 @@ public class ItemHandlerFilter extends ItemHandlerBase { this.filters.addAll(filters); } else { tabs.add(new GridTab(filters, ItemFilter.getName(filter), icon, fluidIcon)); - }*/ + } } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemBase.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemBase.java deleted file mode 100755 index 951abc1fd..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemBase.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.raoulvdberge.refinedstorage.item; - -import com.raoulvdberge.refinedstorage.item.info.IItemInfo; -import net.minecraft.item.Item; - -public abstract class ItemBase extends Item { - protected IItemInfo info; - - public ItemBase(Item.Properties props) { - super(props); - } - - public ItemBase(IItemInfo info) { - super(new Item.Properties()); - this.info = info; - - setRegistryName(info.getId()); - // TODO setCreativeTab(RS.INSTANCE.tab); - } -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemCover.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemCover.java index 4387086d1..33fba781c 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemCover.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemCover.java @@ -1,25 +1,19 @@ package com.raoulvdberge.refinedstorage.item; -import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.item.info.IItemInfo; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; +import net.minecraft.item.Item; -public class ItemCover extends ItemBase { +public class ItemCover extends Item { private static final String NBT_ITEM = "Item"; // public static final ItemStack HIDDEN_COVER_ALTERNATIVE = new ItemStack(Blocks.STONEBRICK); - public ItemCover(IItemInfo info) { - super(info); + public ItemCover() { + super(null); //setCreativeTab(RS.INSTANCE.coversTab); } - public ItemCover() { - this(new ItemInfo(RS.ID, "cover")); - } - - /* + /* TODO @Override @SideOnly(Side.CLIENT) public void registerModels(IModelRegistration modelRegistration) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemEnergyItem.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemEnergyItem.java deleted file mode 100644 index dd5541dce..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemEnergyItem.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.raoulvdberge.refinedstorage.item; - -import com.raoulvdberge.refinedstorage.item.capprovider.CapabilityProviderEnergy; -import com.raoulvdberge.refinedstorage.item.info.IItemInfo; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.CompoundNBT; -import net.minecraftforge.common.capabilities.ICapabilityProvider; - -public abstract class ItemEnergyItem extends ItemBase { - public static final int TYPE_NORMAL = 0; - public static final int TYPE_CREATIVE = 1; - - private int energyCapacity; - - public ItemEnergyItem(IItemInfo info, int energyCapacity) { - super(info); - - this.energyCapacity = energyCapacity; -/* - setMaxDamage(energyCapacity); - setMaxStackSize(1); - setHasSubtypes(true);*/ - } - - @Override - public ICapabilityProvider initCapabilities(ItemStack stack, CompoundNBT tag) { - return new CapabilityProviderEnergy(stack, energyCapacity); - } - - /* TODO - @Override - public boolean isDamageable() { - return true; - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public double getDurabilityForDisplay(ItemStack stack) { - IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null); - - return 1D - ((double) energy.getEnergyStored() / (double) energy.getMaxEnergyStored()); - } - - @Override - public int getRGBDurabilityForDisplay(ItemStack stack) { - IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null); - - return MathHelper.hsvToRGB(Math.max(0.0F, (float) energy.getEnergyStored() / (float) energy.getMaxEnergyStored()) / 3.0F, 1.0F, 1.0F); - } - - @Override - public boolean isDamaged(ItemStack stack) { - return stack.getItemDamage() != TYPE_CREATIVE; - } - - @Override - public void setDamage(ItemStack stack, int damage) { - // NO OP - } - - @Override - public void getSubItems(CreativeTabs tab, NonNullList items) { - if (!isInCreativeTab(tab)) { - return; - } - - items.add(new ItemStack(this, 1, TYPE_NORMAL)); - - ItemStack fullyCharged = new ItemStack(this, 1, TYPE_NORMAL); - - IEnergyStorage energy = fullyCharged.getCapability(CapabilityEnergy.ENERGY, null); - energy.receiveEnergy(energy.getMaxEnergyStored(), false); - - items.add(fullyCharged); - - items.add(new ItemStack(this, 1, TYPE_CREATIVE)); - } - - @Override - public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag flag) { - super.addInformation(stack, world, tooltip, flag); - - if (stack.getItemDamage() != TYPE_CREATIVE) { - IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null); - - tooltip.add(I18n.format("misc.refinedstorage:energy_stored", energy.getEnergyStored(), energy.getMaxEnergyStored())); - } - }*/ -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemHollowCover.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemHollowCover.java index abd894de7..3d80377a1 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemHollowCover.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemHollowCover.java @@ -1,11 +1,8 @@ package com.raoulvdberge.refinedstorage.item; -import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; - public class ItemHollowCover extends ItemCover { public ItemHollowCover() { - super(new ItemInfo(RS.ID, "hollow_cover")); + super(); } /* TODO @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemNetworkItem.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemNetworkItem.java deleted file mode 100755 index 5f78c5e52..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemNetworkItem.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.raoulvdberge.refinedstorage.item; - -import com.raoulvdberge.refinedstorage.item.info.IItemInfo; -import net.minecraft.util.ResourceLocation; - -public abstract class ItemNetworkItem extends ItemEnergyItem /*implements INetworkItemProvider*/ { - private static final String NBT_CONTROLLER_X = "ControllerX"; - private static final String NBT_CONTROLLER_Y = "ControllerY"; - private static final String NBT_CONTROLLER_Z = "ControllerZ"; - private static final String NBT_DIMENSION_ID = "DimensionID"; - - public ItemNetworkItem(IItemInfo info, int energyCapacity) { - super(info, energyCapacity); - - addPropertyOverride(new ResourceLocation("connected"), (stack, world, entity) -> (entity != null && /*isValid(stack)*/false) ? 1.0f : 0.0f); - } - - /* TODO - @Override - public ActionResult onItemRightClick(World world, PlayerEntity player, EnumHand hand) { - ItemStack stack = player.getHeldItem(hand); - - if (!world.isRemote) { - applyNetwork(stack, n -> n.getNetworkItemHandler().open(player, player.getHeldItem(hand)), player::sendMessage); - } - - return ActionResult.newResult(EnumActionResult.SUCCESS, stack); - } - - public void applyNetwork(ItemStack stack, Consumer networkConsumer, Consumer errorConsumer) { - if (!isValid(stack)) { - errorConsumer.accept(new TextComponentTranslation("misc.refinedstorage:network_item.not_found")); - } else { - World networkWorld = DimensionManager.getWorld(getDimensionId(stack)); - - TileEntity network; - - if (networkWorld != null && ((network = networkWorld.getTileEntity(new BlockPos(getX(stack), getY(stack), getZ(stack)))) instanceof INetwork)) { - networkConsumer.accept((INetwork) network); - } else { - errorConsumer.accept(new TextComponentTranslation("misc.refinedstorage:network_item.not_found")); - } - } - } - - @Override - public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag flag) { - super.addInformation(stack, world, tooltip, flag); - - if (isValid(stack)) { - tooltip.add(I18n.format("misc.refinedstorage:network_item.tooltip", getX(stack), getY(stack), getZ(stack))); - } - } - - @Override - public EnumActionResult onItemUse(PlayerEntity player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { - ItemStack stack = player.getHeldItem(hand); - - Block block = world.getBlockState(pos).getBlock(); - - if (block == RSBlocks.CONTROLLER) { - CompoundNBT tag = stack.getTagCompound(); - - if (tag == null) { - tag = new CompoundNBT(); - } - - tag.putInt(NBT_CONTROLLER_X, pos.getX()); - tag.putInt(NBT_CONTROLLER_Y, pos.getY()); - tag.putInt(NBT_CONTROLLER_Z, pos.getZ()); - tag.putInt(NBT_DIMENSION_ID, player.dimension); - - stack.setTagCompound(tag); - - return EnumActionResult.SUCCESS; - } - - return EnumActionResult.PASS; - } - - public static int getDimensionId(ItemStack stack) { - return stack.getTagCompound().getInteger(NBT_DIMENSION_ID); - } - - public static int getX(ItemStack stack) { - return stack.getTagCompound().getInteger(NBT_CONTROLLER_X); - } - - public static int getY(ItemStack stack) { - return stack.getTagCompound().getInteger(NBT_CONTROLLER_Y); - } - - public static int getZ(ItemStack stack) { - return stack.getTagCompound().getInteger(NBT_CONTROLLER_Z); - } - - @Override - public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { - return false; - } - - public boolean isValid(ItemStack stack) { - return stack.hasTagCompound() - && stack.getTagCompound().hasKey(NBT_CONTROLLER_X) - && stack.getTagCompound().hasKey(NBT_CONTROLLER_Y) - && stack.getTagCompound().hasKey(NBT_CONTROLLER_Z) - && stack.getTagCompound().hasKey(NBT_DIMENSION_ID); - }*/ -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessCraftingMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessCraftingMonitor.java index 8116dac97..16cac4ff9 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessCraftingMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessCraftingMonitor.java @@ -1,15 +1,26 @@ package com.raoulvdberge.refinedstorage.item; -import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; +import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem; +import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; -public class ItemWirelessCraftingMonitor extends ItemNetworkItem { +import javax.annotation.Nonnull; + +public class ItemWirelessCraftingMonitor extends ItemWithNetwork { public static final String NBT_TAB_SELECTED = "TabSelected"; public static final String NBT_TAB_PAGE = "TabPage"; - public ItemWirelessCraftingMonitor() { - super(new ItemInfo(RS.ID, "wireless_crafting_monitor"), 0); + public ItemWirelessCraftingMonitor(Properties item, boolean creative, int energyCapacity) { + super(item, creative, energyCapacity); } + + @Nonnull + @Override + public INetworkItem provide(INetworkItemHandler handler, PlayerEntity player, ItemStack stack) { + return null; + } + /* TODO @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessFluidGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessFluidGrid.java index fef93bdee..c1822a82d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessFluidGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessFluidGrid.java @@ -1,11 +1,21 @@ package com.raoulvdberge.refinedstorage.item; -import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; +import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem; +import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; -public class ItemWirelessFluidGrid extends ItemNetworkItem { - public ItemWirelessFluidGrid() { - super(new ItemInfo(RS.ID, "wireless_fluid_grid"), 0); +import javax.annotation.Nonnull; + +public class ItemWirelessFluidGrid extends ItemWithNetwork { + public ItemWirelessFluidGrid(Properties item, boolean creative, int energyCapacity) { + super(item, creative, energyCapacity); + } + + @Nonnull + @Override + public INetworkItem provide(INetworkItemHandler handler, PlayerEntity player, ItemStack stack) { + return null; } /* TODO @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessGrid.java index d1648d850..1625cf459 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWirelessGrid.java @@ -1,17 +1,23 @@ package com.raoulvdberge.refinedstorage.item; -import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.item.info.IItemInfo; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; +import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem; +import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; -public class ItemWirelessGrid extends ItemNetworkItem { - public ItemWirelessGrid(IItemInfo info) { - super(info, 0); +import javax.annotation.Nonnull; + +public class ItemWirelessGrid extends ItemWithNetwork { + public ItemWirelessGrid(Properties item, boolean creative, int energyCapacity) { + super(item, creative, energyCapacity); } - public ItemWirelessGrid() { - this(new ItemInfo(RS.ID, "wireless_grid")); + @Nonnull + @Override + public INetworkItem provide(INetworkItemHandler handler, PlayerEntity player, ItemStack stack) { + return null; } + /* TODO @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWithEnergy.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWithEnergy.java new file mode 100644 index 000000000..3d0765169 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWithEnergy.java @@ -0,0 +1,87 @@ +package com.raoulvdberge.refinedstorage.item; + +import com.raoulvdberge.refinedstorage.item.capabilityprovider.CapabilityProviderEnergy; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.Style; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.util.text.TranslationTextComponent; +import net.minecraft.world.World; +import net.minecraftforge.common.capabilities.ICapabilityProvider; +import net.minecraftforge.energy.CapabilityEnergy; +import net.minecraftforge.energy.IEnergyStorage; + +import javax.annotation.Nullable; +import java.util.List; + +public abstract class ItemWithEnergy extends Item { + private final int energyCapacity; + private final boolean creative; + + public ItemWithEnergy(Item.Properties properties, boolean creative, int energyCapacity) { + super(properties.maxDamage(energyCapacity).maxStackSize(1)); + + this.creative = creative; + this.energyCapacity = energyCapacity; + } + + @Override + public ICapabilityProvider initCapabilities(ItemStack stack, CompoundNBT tag) { + return new CapabilityProviderEnergy(stack, energyCapacity); + } + + @Override + public boolean isDamageable() { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack a, ItemStack b) { + return false; + } + + @Override + public double getDurabilityForDisplay(ItemStack stack) { + IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY).orElse(null); + if (energy == null) { + return 0; + } + + return 1D - ((double) energy.getEnergyStored() / (double) energy.getMaxEnergyStored()); + } + + @Override + public int getRGBDurabilityForDisplay(ItemStack stack) { + IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null).orElse(null); + if (energy == null) { + return super.getRGBDurabilityForDisplay(stack); + } + + return MathHelper.hsvToRGB(Math.max(0.0F, (float) energy.getEnergyStored() / (float) energy.getMaxEnergyStored()) / 3.0F, 1.0F, 1.0F); + } + + @Override + public boolean isDamaged(ItemStack stack) { + return !creative; + } + + @Override + public void setDamage(ItemStack stack, int damage) { + // NO OP + } + + @Override + public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag flag) { + super.addInformation(stack, world, tooltip, flag); + + if (!creative) { + stack.getCapability(CapabilityEnergy.ENERGY, null).ifPresent(energy -> { + tooltip.add(new TranslationTextComponent("misc.refinedstorage.energy_stored", energy.getEnergyStored(), energy.getMaxEnergyStored()).setStyle(new Style().setColor(TextFormatting.GRAY))); + }); + } + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWithNetwork.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWithNetwork.java new file mode 100644 index 000000000..2adb42716 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemWithNetwork.java @@ -0,0 +1,144 @@ +package com.raoulvdberge.refinedstorage.item; + +import com.raoulvdberge.refinedstorage.RSBlocks; +import com.raoulvdberge.refinedstorage.api.network.INetwork; +import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemProvider; +import net.minecraft.block.Block; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemUseContext; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.server.MinecraftServer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResult; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Hand; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.Style; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.util.text.TranslationTextComponent; +import net.minecraft.world.World; +import net.minecraft.world.dimension.DimensionType; +import net.minecraftforge.common.DimensionManager; + +import javax.annotation.Nullable; +import java.util.List; +import java.util.function.Consumer; + +public abstract class ItemWithNetwork extends ItemWithEnergy implements INetworkItemProvider { + private static final String NBT_CONTROLLER_X = "ControllerX"; + private static final String NBT_CONTROLLER_Y = "ControllerY"; + private static final String NBT_CONTROLLER_Z = "ControllerZ"; + private static final String NBT_DIMENSION = "Dimension"; + + public ItemWithNetwork(Item.Properties item, boolean creative, int energyCapacity) { + super(item, creative, energyCapacity); + + addPropertyOverride(new ResourceLocation("connected"), (stack, world, entity) -> (entity != null && isValid(stack)) ? 1.0f : 0.0f); + } + + @Override + public ActionResult onItemRightClick(World world, PlayerEntity player, Hand hand) { + ItemStack stack = player.getHeldItem(hand); + + if (!world.isRemote) { + applyNetwork(world.getServer(), stack, n -> n.getNetworkItemHandler().open(player, player.getHeldItem(hand)), player::sendMessage); + } + + return ActionResult.newResult(ActionResultType.SUCCESS, stack); + } + + private void applyNetwork(MinecraftServer server, ItemStack stack, Consumer onNetwork, Consumer onError) { + if (!isValid(stack)) { + onError.accept(new TranslationTextComponent("misc.refinedstorage:network_item.not_found")); + } else { + World networkWorld = DimensionManager.getWorld(server, getDimension(stack), true, true); + + TileEntity network; + + if (networkWorld != null && ((network = networkWorld.getTileEntity(new BlockPos(getX(stack), getY(stack), getZ(stack)))) instanceof INetwork)) { + onNetwork.accept((INetwork) network); + } else { + onError.accept(new TranslationTextComponent("misc.refinedstorage:network_item.not_found")); + } + } + } + + @Override + public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag flag) { + super.addInformation(stack, world, tooltip, flag); + + if (isValid(stack)) { + tooltip.add(new TranslationTextComponent("misc.refinedstorage:network_item.tooltip", getX(stack), getY(stack), getZ(stack)).setStyle(new Style().setColor(TextFormatting.GRAY))); + } + } + + @Override + public ActionResultType onItemUse(ItemUseContext ctx) { + ItemStack stack = ctx.getPlayer().getHeldItem(ctx.getHand()); + + Block block = ctx.getWorld().getBlockState(ctx.getPos()).getBlock(); + + if (block == RSBlocks.CONTROLLER) { + CompoundNBT tag = stack.getTag(); + + if (tag == null) { + tag = new CompoundNBT(); + } + + tag.putInt(NBT_CONTROLLER_X, ctx.getPos().getX()); + tag.putInt(NBT_CONTROLLER_Y, ctx.getPos().getY()); + tag.putInt(NBT_CONTROLLER_Z, ctx.getPos().getZ()); + tag.putString(NBT_DIMENSION, DimensionType.getKey(ctx.getWorld().getDimension().getType()).toString()); + + stack.setTag(tag); + + return ActionResultType.SUCCESS; + } + + return ActionResultType.PASS; + } + + @Nullable + public static DimensionType getDimension(ItemStack stack) { + if (stack.hasTag() && stack.getTag().contains(NBT_DIMENSION)) { + ResourceLocation name = ResourceLocation.tryCreate(stack.getTag().getString(NBT_DIMENSION)); + if (name == null) { + return null; + } + + return DimensionType.byName(name); + } + + return null; + } + + public static int getX(ItemStack stack) { + return stack.getTag().getInt(NBT_CONTROLLER_X); + } + + public static int getY(ItemStack stack) { + return stack.getTag().getInt(NBT_CONTROLLER_Y); + } + + public static int getZ(ItemStack stack) { + return stack.getTag().getInt(NBT_CONTROLLER_Z); + } + + @Override + public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { + return false; + } + + public boolean isValid(ItemStack stack) { + return stack.hasTag() + && stack.getTag().contains(NBT_CONTROLLER_X) + && stack.getTag().contains(NBT_CONTROLLER_Y) + && stack.getTag().contains(NBT_CONTROLLER_Z) + && stack.getTag().contains(NBT_DIMENSION); + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/capprovider/CapabilityProviderEnergy.java b/src/main/java/com/raoulvdberge/refinedstorage/item/capabilityprovider/CapabilityProviderEnergy.java similarity index 83% rename from src/main/java/com/raoulvdberge/refinedstorage/item/capprovider/CapabilityProviderEnergy.java rename to src/main/java/com/raoulvdberge/refinedstorage/item/capabilityprovider/CapabilityProviderEnergy.java index 0dc572465..686200891 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/capprovider/CapabilityProviderEnergy.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/capabilityprovider/CapabilityProviderEnergy.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.item.capprovider; +package com.raoulvdberge.refinedstorage.item.capabilityprovider; import com.raoulvdberge.refinedstorage.integration.forgeenergy.ItemEnergyForge; import net.minecraft.item.ItemStack; @@ -15,7 +15,7 @@ import javax.annotation.Nullable; public class CapabilityProviderEnergy implements ICapabilityProvider { private ItemStack stack; private int energyCapacity; - private LazyOptional cap = LazyOptional.of(() -> new ItemEnergyForge(stack, energyCapacity)); + private LazyOptional capability = LazyOptional.of(() -> new ItemEnergyForge(stack, energyCapacity)); public CapabilityProviderEnergy(ItemStack stack, int energyCapacity) { this.stack = stack; @@ -32,7 +32,7 @@ public class CapabilityProviderEnergy implements ICapabilityProvider { @Override public LazyOptional getCapability(@Nonnull Capability cap) { if (cap == CapabilityEnergy.ENERGY) { - return this.cap.cast(); + return capability.cast(); } return LazyOptional.empty(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/info/IItemInfo.java b/src/main/java/com/raoulvdberge/refinedstorage/item/info/IItemInfo.java deleted file mode 100644 index 306e39117..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/info/IItemInfo.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.raoulvdberge.refinedstorage.item.info; - -import net.minecraft.util.ResourceLocation; - -public interface IItemInfo { - ResourceLocation getId(); -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/info/ItemInfo.java b/src/main/java/com/raoulvdberge/refinedstorage/item/info/ItemInfo.java deleted file mode 100644 index 46a48c59d..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/info/ItemInfo.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.raoulvdberge.refinedstorage.item.info; - -import net.minecraft.util.ResourceLocation; - -public class ItemInfo implements IItemInfo { - private final ResourceLocation id; - - public ItemInfo(String modId, String id) { - this.id = new ResourceLocation(modId, id); - } - - @Override - public ResourceLocation getId() { - return id; - } -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockBase.java b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockBase.java index 4e3a380db..25b6e3857 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockBase.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockBase.java @@ -1,14 +1,13 @@ package com.raoulvdberge.refinedstorage.item.itemblock; import com.raoulvdberge.refinedstorage.block.BlockBase; -import com.raoulvdberge.refinedstorage.item.info.IItemInfo; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; public class ItemBlockBase extends BlockItem { private BlockBase block; - public ItemBlockBase(BlockBase block, IItemInfo info) { + public ItemBlockBase(BlockBase block) { super(block, new Item.Properties()); this.block = block; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockController.java b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockController.java index ffe92ae9d..14471d7f8 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockController.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockController.java @@ -1,12 +1,10 @@ package com.raoulvdberge.refinedstorage.item.itemblock; -import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.block.BlockController; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; public class ItemBlockController extends ItemBlockBase { public ItemBlockController(BlockController block) { - super(block, new ItemInfo(RS.ID, "controller")); + super(block); // setMaxStackSize(1); } @@ -31,7 +29,7 @@ public class ItemBlockController extends ItemBlockBase { super.addInformation(stack, world, tooltip, flag); if (stack.getMetadata() != ControllerType.CREATIVE.getId()) { - tooltip.add(I18n.format("misc.refinedstorage:energy_stored", getEnergyStored(stack), RS.INSTANCE.config.controllerCapacity)); + tooltip.add(I18n.format("misc.refinedstorage.energy_stored", getEnergyStored(stack), RS.INSTANCE.config.controllerCapacity)); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockEnergyItem.java b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockEnergyItem.java index ad9542f37..4425e0cef 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockEnergyItem.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockEnergyItem.java @@ -1,8 +1,7 @@ package com.raoulvdberge.refinedstorage.item.itemblock; import com.raoulvdberge.refinedstorage.block.BlockBase; -import com.raoulvdberge.refinedstorage.item.capprovider.CapabilityProviderEnergy; -import com.raoulvdberge.refinedstorage.item.info.IItemInfo; +import com.raoulvdberge.refinedstorage.item.capabilityprovider.CapabilityProviderEnergy; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraftforge.common.capabilities.ICapabilityProvider; @@ -13,8 +12,8 @@ public abstract class ItemBlockEnergyItem extends ItemBlockBase { private int energyCapacity; - public ItemBlockEnergyItem(BlockBase block, int energyCapacity, IItemInfo info) { - super(block, info); + public ItemBlockEnergyItem(BlockBase block, int energyCapacity) { + super(block); this.energyCapacity = energyCapacity; @@ -86,7 +85,7 @@ public abstract class ItemBlockEnergyItem extends ItemBlockBase { if (stack.getItemDamage() != TYPE_CREATIVE) { IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null); - tooltip.add(I18n.format("misc.refinedstorage:energy_stored", energy.getEnergyStored(), energy.getMaxEnergyStored())); + tooltip.add(I18n.format("misc.refinedstorage.energy_stored", energy.getEnergyStored(), energy.getMaxEnergyStored())); } }*/ } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockFluidStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockFluidStorage.java index ef139871d..f96b86090 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockFluidStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockFluidStorage.java @@ -1,12 +1,10 @@ package com.raoulvdberge.refinedstorage.item.itemblock; -import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.block.BlockFluidStorage; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; public class ItemBlockFluidStorage extends ItemBlockBase { public ItemBlockFluidStorage(BlockFluidStorage block) { - super(block, new ItemInfo(RS.ID, "fluid_storage")); + super(block); } /* TODO @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockPortableGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockPortableGrid.java index 13bc24300..cb6f45ff3 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockPortableGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockPortableGrid.java @@ -2,11 +2,10 @@ package com.raoulvdberge.refinedstorage.item.itemblock; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.block.BlockPortableGrid; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; public class ItemBlockPortableGrid extends ItemBlockEnergyItem { public ItemBlockPortableGrid(BlockPortableGrid block) { - super(block, RS.INSTANCE.config.portableGridCapacity, new ItemInfo(RS.ID, "portable_grid")); + super(block, RS.INSTANCE.config.portableGridCapacity); } /* TODO @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockStorage.java index 82f00c936..faae72a9e 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/itemblock/ItemBlockStorage.java @@ -1,12 +1,10 @@ package com.raoulvdberge.refinedstorage.item.itemblock; -import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.block.BlockStorage; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; public class ItemBlockStorage extends ItemBlockBase { public ItemBlockStorage(BlockStorage storage) { - super(storage, new ItemInfo(RS.ID, "storage")); + super(storage); } /* TODO @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java b/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java index 75ad10734..a7c91a8ad 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java @@ -1,15 +1,14 @@ package com.raoulvdberge.refinedstorage.util; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Lists; import com.mojang.blaze3d.platform.GlStateManager; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.apiimpl.API; import net.minecraft.block.BlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.model.BakedQuad; import net.minecraft.client.renderer.model.IBakedModel; import net.minecraft.client.renderer.model.ItemCameraTransforms; @@ -60,33 +59,6 @@ public final class RenderUtils { return text; } - private static void setGLColorFromInt(int color) { - float red = (color >> 16 & 0xFF) / 255.0F; - float green = (color >> 8 & 0xFF) / 255.0F; - float blue = (color & 0xFF) / 255.0F; - - GlStateManager.color4f(red, green, blue, 1.0F); - } - - private static void drawFluidTexture(double xCoord, double yCoord, TextureAtlasSprite textureSprite, int maskTop, int maskRight, double zLevel) { - double uMin = (double) textureSprite.getMinU(); - double uMax = (double) textureSprite.getMaxU(); - double vMin = (double) textureSprite.getMinV(); - double vMax = (double) textureSprite.getMaxV(); - uMax = uMax - (maskRight / 16.0 * (uMax - uMin)); - vMax = vMax - (maskTop / 16.0 * (vMax - vMin)); - - Tessellator tessellator = Tessellator.getInstance(); - - BufferBuilder vertexBuffer = tessellator.getBuffer(); - vertexBuffer.begin(7, DefaultVertexFormats.POSITION_TEX); - vertexBuffer.pos(xCoord, yCoord + 16, zLevel).tex(uMin, vMax).endVertex(); - vertexBuffer.pos(xCoord + 16 - maskRight, yCoord + 16, zLevel).tex(uMax, vMax).endVertex(); - vertexBuffer.pos(xCoord + 16 - maskRight, yCoord + maskTop, zLevel).tex(uMax, vMin).endVertex(); - vertexBuffer.pos(xCoord, yCoord + maskTop, zLevel).tex(uMin, vMin).endVertex(); - tessellator.draw(); - } - private static TRSRTransformation leftifyTransform(TRSRTransformation transform) { return TRSRTransformation.blockCenterToCorner(FLIP_X.compose(TRSRTransformation.blockCornerToCenter(transform)).compose(FLIP_X)); } @@ -326,20 +298,16 @@ public final class RenderUtils { } } - // @Volatile: From GuiScreen#getItemToolTip - public static List getItemTooltip(ItemStack stack) { - // TODO - List lines = stack.getTooltip(Minecraft.getInstance().player, Minecraft.getInstance().gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL); + // @Volatile: From Screen#getTooltipFromItem + public static List getTooltipFromItem(ItemStack stack) { + List tooltip = stack.getTooltip(Minecraft.getInstance().player, Minecraft.getInstance().gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL); + List tooltipStrings = Lists.newArrayList(); - for (int i = 0; i < lines.size(); ++i) { - if (i == 0) { - //lines.set(i, stack.getItem().getRarity(stack).color + lines.get(i)); - } else { - //lines.set(i, TextFormatting.GRAY + lines.get(i)); - } + for (ITextComponent itextcomponent : tooltip) { + tooltipStrings.add(itextcomponent.getFormattedText()); } - return lines; + return tooltipStrings; } public static boolean isLightMapDisabled() { @@ -410,4 +378,8 @@ public final class RenderUtils { return sprite; } + + public static boolean inBounds(int x, int y, int w, int h, double ox, double oy) { + return ox >= x && ox <= x + w && oy >= y && oy <= y + h; + } } \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/lang/en_us.json b/src/main/resources/assets/refinedstorage/lang/en_us.json index 9e952c1ed..163a008e5 100644 --- a/src/main/resources/assets/refinedstorage/lang/en_us.json +++ b/src/main/resources/assets/refinedstorage/lang/en_us.json @@ -84,9 +84,9 @@ "gui.refinedstorage:storage_monitor": "Storage Monitor", "gui.refinedstorage:portable_grid": "Portable Grid", "gui.refinedstorage:crafter_manager": "Crafter Manager", - "misc.refinedstorage:energy_stored": "%d / %d FE", - "misc.refinedstorage:energy_usage": "Usage: %d FE/t", - "misc.refinedstorage:energy_usage_minimal": "%d FE/t", + "misc.refinedstorage.energy_stored": "%d / %d FE", + "misc.refinedstorage.energy_usage": "Usage: %d FE/t", + "misc.refinedstorage.energy_usage_minimal": "%d FE/t", "misc.refinedstorage.storage.stored": "Stored: %s", "misc.refinedstorage.storage.stored_capacity": "Stored: %s / %s", "misc.refinedstorage.storage.stored_minimal": "%s",