More small refactorings

This commit is contained in:
raoulvdberge
2019-09-16 22:04:41 +02:00
parent 7fcad167e3
commit 21d9c3c653
54 changed files with 416 additions and 426 deletions

View File

@@ -4,11 +4,11 @@ import com.raoulvdberge.refinedstorage.item.*;
import net.minecraftforge.registries.ObjectHolder; import net.minecraftforge.registries.ObjectHolder;
public final class RSItems { public final class RSItems {
public static final ItemWirelessGrid WIRELESS_GRID = new ItemWirelessGrid(); public static final ItemWirelessGrid WIRELESS_GRID = null;
public static final ItemWirelessFluidGrid WIRELESS_FLUID_GRID = new ItemWirelessFluidGrid(); public static final ItemWirelessFluidGrid WIRELESS_FLUID_GRID = null;
public static final ItemWirelessCraftingMonitor WIRELESS_CRAFTING_MONITOR = new ItemWirelessCraftingMonitor(); public static final ItemWirelessCraftingMonitor WIRELESS_CRAFTING_MONITOR = null;
public static final ItemCover COVER = new ItemCover(); public static final ItemCover COVER = null;
public static final ItemHollowCover HOLLOW_COVER = new ItemHollowCover(); public static final ItemHollowCover HOLLOW_COVER = null;
@ObjectHolder(RS.ID + ":quartz_enriched_iron") @ObjectHolder(RS.ID + ":quartz_enriched_iron")
public static final ItemQuartzEnrichedIron QUARTZ_ENRICHED_IRON = null; public static final ItemQuartzEnrichedIron QUARTZ_ENRICHED_IRON = null;

View File

@@ -12,7 +12,6 @@ import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.stream.Collectors;
public class CraftingMonitorElementItemRender implements ICraftingMonitorElement { public class CraftingMonitorElementItemRender implements ICraftingMonitorElement {
private static final int COLOR_PROCESSING = 0xFFD9EDF7; private static final int COLOR_PROCESSING = 0xFFD9EDF7;
@@ -100,7 +99,7 @@ public class CraftingMonitorElementItemRender implements ICraftingMonitorElement
@Nullable @Nullable
@Override @Override
public String getTooltip() { 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 @Override

View File

@@ -1,8 +1,10 @@
package com.raoulvdberge.refinedstorage.apiimpl.render; package com.raoulvdberge.refinedstorage.apiimpl.render;
import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.render.IElementDrawer; import com.raoulvdberge.refinedstorage.api.render.IElementDrawer;
import com.raoulvdberge.refinedstorage.gui.GuiBase; import com.raoulvdberge.refinedstorage.gui.GuiBase;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.FontRenderer;
public class CraftingMonitorElementDrawers extends ElementDrawers { public class CraftingMonitorElementDrawers extends ElementDrawers {
@@ -13,15 +15,14 @@ public class CraftingMonitorElementDrawers extends ElementDrawers {
GlStateManager.color4f(1, 1, 1, 1); GlStateManager.color4f(1, 1, 1, 1);
GlStateManager.disableLighting(); 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) -> { private IElementDrawer errorDrawer = (x, y, nothing) -> {
GlStateManager.color4f(1, 1, 1, 1); GlStateManager.color4f(1, 1, 1, 1);
GlStateManager.disableLighting(); 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); gui.blit(x + itemWidth - 12 - 2, y + itemHeight - 12 - 2, 0, 244, 12, 12);
}; };

View File

@@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.block.info.BlockDirection; import com.raoulvdberge.refinedstorage.block.info.BlockDirection;
import com.raoulvdberge.refinedstorage.block.info.IBlockInfo; 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.item.itemblock.ItemBlockBase;
import com.raoulvdberge.refinedstorage.render.IModelRegistration; import com.raoulvdberge.refinedstorage.render.IModelRegistration;
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup; import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
@@ -60,7 +59,7 @@ public abstract class BlockBase extends Block {
} }
public Item createItem() { public Item createItem() {
return new ItemBlockBase(this, new ItemInfo(info.getId().getNamespace(), info.getId().getPath())); return new ItemBlockBase(this);
} }
/* TODO /* TODO
@Override @Override

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.gui.widget.button.Button; import net.minecraft.client.gui.widget.button.Button;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
@@ -103,7 +104,7 @@ public abstract class GuiAmountSpecifying<T extends Container> extends GuiBase<T
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { public void renderBackground(int x, int y, int mouseX, int mouseY) {
bindTexture(getTexture()); bindTexture(RS.ID, getTexture());
blit(x, y, 0, 0, xSize, ySize); blit(x, y, 0, 0, xSize, ySize);

View File

@@ -7,6 +7,7 @@ import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.gui.widget.CheckBoxWidget; import com.raoulvdberge.refinedstorage.gui.widget.CheckBoxWidget;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButton; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButton;
import com.raoulvdberge.refinedstorage.render.FluidRenderer; import com.raoulvdberge.refinedstorage.render.FluidRenderer;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.gui.screen.inventory.ContainerScreen; import net.minecraft.client.gui.screen.inventory.ContainerScreen;
import net.minecraft.client.gui.widget.Widget; import net.minecraft.client.gui.widget.Widget;
import net.minecraft.client.gui.widget.button.Button; import net.minecraft.client.gui.widget.button.Button;
@@ -144,7 +145,7 @@ public abstract class GuiBase<T extends Container> extends ContainerScreen<T> {
if (slot.isEnabled() && slot instanceof SlotFilterFluid) { if (slot.isEnabled() && slot instanceof SlotFilterFluid) {
FluidStack stack = ((SlotFilterFluid) slot).getFluidInventory().getFluid(slot.getSlotIndex()); 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()); renderTooltip(mouseX, mouseY, stack.getDisplayName().getFormattedText());
} }
} }
@@ -226,16 +227,8 @@ public abstract class GuiBase<T extends Container> extends ContainerScreen<T> {
return button; return button;
} }
public boolean inBounds(int x, int y, int w, int h, double ox, double oy) { public void bindTexture(String namespace, String filenameInTexturesFolder) {
return ox >= x && ox <= x + w && oy >= y && oy <= y + h; minecraft.getTextureManager().bindTexture(TEXTURE_CACHE.computeIfAbsent(namespace + ":" + filenameInTexturesFolder, (newId) -> new ResourceLocation(namespace, "textures/" + filenameInTexturesFolder)));
}
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 renderItem(int x, int y, ItemStack stack) { public void renderItem(int x, int y, ItemStack stack) {

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerConstructor; import com.raoulvdberge.refinedstorage.container.ContainerConstructor;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare;
@@ -31,7 +32,7 @@ public class GuiConstructor extends GuiBase<ContainerConstructor> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -1,6 +1,7 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.ContainerController; import com.raoulvdberge.refinedstorage.container.ContainerController;
import com.raoulvdberge.refinedstorage.gui.widget.ScrollbarWidget; import com.raoulvdberge.refinedstorage.gui.widget.ScrollbarWidget;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode;
@@ -48,7 +49,7 @@ public class GuiController extends GuiBase<ContainerController> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
@@ -93,7 +94,7 @@ public class GuiController extends GuiBase<ContainerController> {
GlStateManager.popMatrix(); GlStateManager.popMatrix();
if (inBounds(x, y, 16, 16, mouseX, mouseY)) { if (RenderUtils.inBounds(x, y, 16, 16, mouseX, mouseY)) {
nodeHovering = node; nodeHovering = node;
} }
} }
@@ -109,11 +110,11 @@ public class GuiController extends GuiBase<ContainerController> {
} }
if (nodeHovering != null) { 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)) { 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())); 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()));
} }
} }

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.ContainerCrafter; import com.raoulvdberge.refinedstorage.container.ContainerCrafter;
import com.raoulvdberge.refinedstorage.tile.TileCrafter; import com.raoulvdberge.refinedstorage.tile.TileCrafter;
import com.raoulvdberge.refinedstorage.util.RenderUtils; import com.raoulvdberge.refinedstorage.util.RenderUtils;
@@ -21,7 +22,7 @@ public class GuiCrafter extends GuiBase<ContainerCrafter> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -131,7 +131,7 @@ public class GuiCrafterManager extends GuiBase<ContainerCrafterManager> implemen
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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()); blit(x, y, 0, 0, xSize, getTopHeight());
@@ -202,7 +202,7 @@ public class GuiCrafterManager extends GuiBase<ContainerCrafterManager> implemen
GlStateManager.disableLighting(); GlStateManager.disableLighting();
GlStateManager.color3f(1, 1, 1); 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); blit(7, y, 0, 174, 18 * 9, 18);

View File

@@ -2,6 +2,7 @@ package com.raoulvdberge.refinedstorage.gui;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.mojang.blaze3d.platform.GlStateManager; 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.craftingmonitor.ICraftingMonitorElement;
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingRequestInfo; import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingRequestInfo;
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab; import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
@@ -231,7 +232,7 @@ public class GuiCraftingMonitor extends GuiBase<ContainerCraftingMonitor> {
tabs.drawBackground(x, y - tabs.getHeight()); 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); blit(x, y, 0, 0, xSize, ySize);
@@ -257,7 +258,7 @@ public class GuiCraftingMonitor extends GuiBase<ContainerCraftingMonitor> {
element.draw(x, y, drawers); 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(); itemSelectedTooltip = element.getTooltip();
} }

View File

@@ -1,6 +1,7 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern;
import com.raoulvdberge.refinedstorage.api.autocrafting.preview.ICraftingPreviewElement; import com.raoulvdberge.refinedstorage.api.autocrafting.preview.ICraftingPreviewElement;
import com.raoulvdberge.refinedstorage.api.autocrafting.task.CraftingTaskErrorType; import com.raoulvdberge.refinedstorage.api.autocrafting.task.CraftingTaskErrorType;
@@ -95,7 +96,7 @@ public class GuiCraftingPreview extends GuiBase {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
@@ -175,7 +176,7 @@ public class GuiCraftingPreview extends GuiBase {
stack.draw(x, y + 5, drawers); 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; this.hoveringStack = stack.getId().equals(CraftingPreviewElementItemStack.ID) ? (ItemStack) stack.getElement() : null;
if (this.hoveringStack == null) { if (this.hoveringStack == null) {

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerDestructor; import com.raoulvdberge.refinedstorage.container.ContainerDestructor;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.*; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.*;
@@ -31,7 +32,7 @@ public class GuiDestructor extends GuiBase<ContainerDestructor> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerDetector; import com.raoulvdberge.refinedstorage.container.ContainerDetector;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare;
@@ -40,7 +41,7 @@ public class GuiDetector extends GuiBase<ContainerDetector> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerDiskManipulator; import com.raoulvdberge.refinedstorage.container.ContainerDiskManipulator;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.*; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.*;
@@ -28,7 +29,7 @@ public class GuiDiskManipulator extends GuiBase<ContainerDiskManipulator> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerExporter; import com.raoulvdberge.refinedstorage.container.ContainerExporter;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare;
@@ -29,7 +30,7 @@ public class GuiExporter extends GuiBase<ContainerExporter> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -78,11 +78,6 @@ public class GuiFilter extends GuiBase<ContainerFilter> {
addSideButton(new SideButtonFilterType(this)); 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) { private void updateModeButton(int mode) {
String text = mode == IFilter.MODE_WHITELIST ? I18n.format("sidebutton.refinedstorage.mode.whitelist") : I18n.format("sidebutton.refinedstorage.mode.blacklist"); 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<ContainerFilter> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -1,11 +1,13 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeFluidInterface; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeFluidInterface;
import com.raoulvdberge.refinedstorage.container.ContainerFluidInterface; import com.raoulvdberge.refinedstorage.container.ContainerFluidInterface;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.render.FluidRenderer; import com.raoulvdberge.refinedstorage.render.FluidRenderer;
import com.raoulvdberge.refinedstorage.tile.TileFluidInterface; import com.raoulvdberge.refinedstorage.tile.TileFluidInterface;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory; import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@@ -28,7 +30,7 @@ public class GuiFluidInterface extends GuiBase<ContainerFluidInterface> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
@@ -49,12 +51,12 @@ public class GuiFluidInterface extends GuiBase<ContainerFluidInterface> {
renderString(7, 111, I18n.format("container.inventory")); renderString(7, 111, I18n.format("container.inventory"));
// TODO getFormattedText // 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); 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 // 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); renderTooltip(mouseX, mouseY, TileFluidInterface.TANK_OUT.getValue().getDisplayName().getFormattedText() + "\n" + TextFormatting.GRAY + API.instance().getQuantityFormatter().formatInBucketForm(TileFluidInterface.TANK_OUT.getValue().getAmount()) + TextFormatting.RESET);
} }
} }

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerImporter; import com.raoulvdberge.refinedstorage.container.ContainerImporter;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare;
@@ -32,7 +33,7 @@ public class GuiImporter extends GuiBase<ContainerImporter> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerInterface; import com.raoulvdberge.refinedstorage.container.ContainerInterface;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare;
@@ -26,7 +27,7 @@ public class GuiInterface extends GuiBase<ContainerInterface> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.ContainerNetworkTransmitter; import com.raoulvdberge.refinedstorage.container.ContainerNetworkTransmitter;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter; import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter;
@@ -26,7 +27,7 @@ public class GuiNetworkTransmitter extends GuiBase<ContainerNetworkTransmitter>
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -1,6 +1,7 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiReaderWriter; import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiReaderWriter;
import com.raoulvdberge.refinedstorage.container.ContainerReaderWriter; import com.raoulvdberge.refinedstorage.container.ContainerReaderWriter;
import com.raoulvdberge.refinedstorage.gui.widget.ScrollbarWidget; import com.raoulvdberge.refinedstorage.gui.widget.ScrollbarWidget;
@@ -91,7 +92,7 @@ public class GuiReaderWriter extends GuiBase<ContainerReaderWriter> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
@@ -149,7 +150,7 @@ public class GuiReaderWriter extends GuiBase<ContainerReaderWriter> {
return true; 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) { if (mouseButton == 0) {
int item = scrollbar != null ? scrollbar.getOffset() : 0; int item = scrollbar != null ? scrollbar.getOffset() : 0;
@@ -157,7 +158,7 @@ public class GuiReaderWriter extends GuiBase<ContainerReaderWriter> {
int ix = 8; int ix = 8;
int iy = 39 + (i * ITEM_HEIGHT); 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; itemSelected = item + i;
TileDataManager.setParameter(readerWriter.getChannelParameter(), getChannels().get(itemSelected)); TileDataManager.setParameter(readerWriter.getChannelParameter(), getChannels().get(itemSelected));

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.ContainerRelay; import com.raoulvdberge.refinedstorage.container.ContainerRelay;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.tile.TileRelay; import com.raoulvdberge.refinedstorage.tile.TileRelay;
@@ -22,7 +23,7 @@ public class GuiRelay extends GuiBase<ContainerRelay> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -1,9 +1,11 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.security.Permission; import com.raoulvdberge.refinedstorage.api.network.security.Permission;
import com.raoulvdberge.refinedstorage.container.ContainerSecurityManager; import com.raoulvdberge.refinedstorage.container.ContainerSecurityManager;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.tile.TileSecurityManager; import com.raoulvdberge.refinedstorage.tile.TileSecurityManager;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory; import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@@ -67,7 +69,7 @@ public class GuiSecurityManager extends GuiBase<ContainerSecurityManager> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }
@@ -81,7 +83,7 @@ public class GuiSecurityManager extends GuiBase<ContainerSecurityManager> {
for (int i = 0; i < permissions.length; ++i) { for (int i = 0; i < permissions.length; ++i) {
GuiCheckBox permission = permissions[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")); renderTooltip(mouseX, mouseY, I18n.format("gui.refinedstorage:security_manager.permission." + i + ".tooltip"));
} }
} }

View File

@@ -1,10 +1,12 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiStorage; import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiStorage;
import com.raoulvdberge.refinedstorage.container.ContainerBase; import com.raoulvdberge.refinedstorage.container.ContainerBase;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.*; 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.gui.widget.button.Button;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory; import net.minecraft.entity.player.PlayerInventory;
@@ -66,7 +68,7 @@ public class GuiStorage extends GuiBase<ContainerBase> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { public void renderBackground(int x, int y, int mouseX, int mouseY) {
bindTexture(texture); bindTexture(RS.ID, texture);
blit(x, y, 0, 0, xSize, ySize); blit(x, y, 0, 0, xSize, ySize);
@@ -89,7 +91,7 @@ public class GuiStorage extends GuiBase<ContainerBase> {
renderString(7, 129, I18n.format("container.inventory")); 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; int full = 0;
if (gui.getCapacity() >= 0) { if (gui.getCapacity() >= 0) {

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerStorageMonitor; import com.raoulvdberge.refinedstorage.container.ContainerStorageMonitor;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonCompare;
@@ -23,7 +24,7 @@ public class GuiStorageMonitor extends GuiBase<ContainerStorageMonitor> {
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { 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); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.ContainerWirelessTransmitter; import com.raoulvdberge.refinedstorage.container.ContainerWirelessTransmitter;
import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.tile.TileWirelessTransmitter; import com.raoulvdberge.refinedstorage.tile.TileWirelessTransmitter;
@@ -22,7 +23,7 @@ public class GuiWirelessTransmitter extends GuiBase<ContainerWirelessTransmitter
@Override @Override
public void renderBackground(int x, int y, int mouseX, int mouseY) { public void renderBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/wireless_transmitter.png"); bindTexture(RS.ID, "gui/wireless_transmitter.png");
blit(x, y, 0, 0, xSize, ySize); blit(x, y, 0, 0, xSize, ySize);
} }

View File

@@ -229,7 +229,7 @@ public class GuiGrid extends GuiBase<ContainerGrid> implements IResizableDisplay
} }
public boolean isOverSlotArea(int mouseX, int mouseY) { 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() { public int getSlotNumber() {
@@ -241,20 +241,20 @@ public class GuiGrid extends GuiBase<ContainerGrid> implements IResizableDisplay
switch (grid.getGridType()) { switch (grid.getGridType()) {
case CRAFTING: case CRAFTING:
return inBounds(82, y, 7, 7, mouseX, mouseY); return RenderUtils.inBounds(82, y, 7, 7, mouseX, mouseY);
case PATTERN: case PATTERN:
if (((NetworkNodeGrid) grid).isProcessingPattern()) { 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: default:
return false; return false;
} }
} }
private boolean isOverCreatePattern(int mouseX, int mouseY) { 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 @Override
@@ -262,13 +262,13 @@ public class GuiGrid extends GuiBase<ContainerGrid> implements IResizableDisplay
tabs.drawBackground(x, y - tabs.getHeight()); tabs.drawBackground(x, y - tabs.getHeight());
if (grid instanceof IPortableGrid) { if (grid instanceof IPortableGrid) {
bindTexture("gui/portable_grid.png"); bindTexture(RS.ID, "gui/portable_grid.png");
} else if (grid.getGridType() == GridType.CRAFTING) { } else if (grid.getGridType() == GridType.CRAFTING) {
bindTexture("gui/crafting_grid.png"); bindTexture(RS.ID, "gui/crafting_grid.png");
} else if (grid.getGridType() == GridType.PATTERN) { } 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 { } else {
bindTexture("gui/grid.png"); bindTexture(RS.ID, "gui/grid.png");
} }
int yy = y; int yy = y;
@@ -337,7 +337,7 @@ public class GuiGrid extends GuiBase<ContainerGrid> implements IResizableDisplay
RenderHelper.enableGUIStandardItemLighting(); RenderHelper.enableGUIStandardItemLighting();
for (int i = 0; i < 9 * getVisibleRows(); ++i) { 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; this.slotNumber = slot;
} }
@@ -345,7 +345,7 @@ public class GuiGrid extends GuiBase<ContainerGrid> implements IResizableDisplay
view.getStacks().get(slot).draw(this, x, y); 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; int color = grid.isActive() ? -2130706433 : 0xFF5B5B5B;
GlStateManager.disableLighting(); GlStateManager.disableLighting();

View File

@@ -1,6 +1,8 @@
package com.raoulvdberge.refinedstorage.gui.widget; package com.raoulvdberge.refinedstorage.gui.widget;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.gui.GuiBase; import com.raoulvdberge.refinedstorage.gui.GuiBase;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
@@ -50,7 +52,7 @@ public class ScrollbarWidget {
} }
public void draw(GuiBase gui) { 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); 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); // TODO boolean down = Mouse.isButtonDown(0);
boolean down = false; 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; isScrolling = true;
} }

View File

@@ -1,9 +1,11 @@
package com.raoulvdberge.refinedstorage.gui.widget; package com.raoulvdberge.refinedstorage.gui.widget;
import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab; import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
import com.raoulvdberge.refinedstorage.apiimpl.render.ElementDrawers; import com.raoulvdberge.refinedstorage.apiimpl.render.ElementDrawers;
import com.raoulvdberge.refinedstorage.gui.GuiBase; import com.raoulvdberge.refinedstorage.gui.GuiBase;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.widget.button.Button; import net.minecraft.client.gui.widget.button.Button;
@@ -67,7 +69,7 @@ public class TabListWidget {
if (i < tabs.get().size()) { if (i < tabs.get().size()) {
drawTab(tabs.get().get(i), true, x, y, i, j); 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; this.tabHovering = i;
} }
@@ -130,7 +132,7 @@ public class TabListWidget {
GlStateManager.enableAlphaTest(); GlStateManager.enableAlphaTest();
gui.bindTexture("icons.png"); gui.bindTexture(RS.ID, "icons.png");
if (!isSelected) { if (!isSelected) {
ty += 3; ty += 3;

View File

@@ -1,7 +1,9 @@
package com.raoulvdberge.refinedstorage.gui.widget.sidebutton; package com.raoulvdberge.refinedstorage.gui.widget.sidebutton;
import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.gui.GuiBase; import com.raoulvdberge.refinedstorage.gui.GuiBase;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.gui.widget.button.Button; import net.minecraft.client.gui.widget.button.Button;
import org.lwjgl.opengl.GL11; 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.color4f(1.0F, 1.0F, 1.0F, 1.0F);
GlStateManager.enableAlphaTest(); 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); gui.blit(x, y, 238, isHovered ? 35 : 16, 18, 18);
drawButtonIcon(x + 1, y + 1); drawButtonIcon(x + 1, y + 1);

View File

@@ -137,7 +137,7 @@ public class ReaderWriterHandlerForgeEnergy implements IReaderWriterHandler {
return Collections.emptyList(); 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 { private class EnergyStorageReaderWriter implements IEnergyStorage {

View File

@@ -3,14 +3,21 @@ package com.raoulvdberge.refinedstorage.inventory.item;
import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab; import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
import com.raoulvdberge.refinedstorage.api.util.IFilter; 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.GuiBase;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; 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.inventory.item.validator.ItemValidatorBasic;
import com.raoulvdberge.refinedstorage.item.ItemFilter;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fml.LogicalSide; import net.minecraftforge.fml.LogicalSide;
import net.minecraftforge.fml.common.thread.EffectiveSide; import net.minecraftforge.fml.common.thread.EffectiveSide;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.function.Consumer; import java.util.function.Consumer;
@@ -46,7 +53,7 @@ public class ItemHandlerFilter extends ItemHandlerBase {
} }
private void addFilter(ItemStack filter) { private void addFilter(ItemStack filter) {
/* TODO int compare = ItemFilter.getCompare(filter); int compare = ItemFilter.getCompare(filter);
int mode = ItemFilter.getMode(filter); int mode = ItemFilter.getMode(filter);
boolean modFilter = ItemFilter.isModFilter(filter); boolean modFilter = ItemFilter.isModFilter(filter);
@@ -75,6 +82,6 @@ public class ItemHandlerFilter extends ItemHandlerBase {
this.filters.addAll(filters); this.filters.addAll(filters);
} else { } else {
tabs.add(new GridTab(filters, ItemFilter.getName(filter), icon, fluidIcon)); tabs.add(new GridTab(filters, ItemFilter.getName(filter), icon, fluidIcon));
}*/ }
} }
} }

View File

@@ -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);
}
}

View File

@@ -1,25 +1,19 @@
package com.raoulvdberge.refinedstorage.item; package com.raoulvdberge.refinedstorage.item;
import com.raoulvdberge.refinedstorage.RS; import net.minecraft.item.Item;
import com.raoulvdberge.refinedstorage.item.info.IItemInfo;
import com.raoulvdberge.refinedstorage.item.info.ItemInfo;
public class ItemCover extends ItemBase { public class ItemCover extends Item {
private static final String NBT_ITEM = "Item"; private static final String NBT_ITEM = "Item";
// public static final ItemStack HIDDEN_COVER_ALTERNATIVE = new ItemStack(Blocks.STONEBRICK); // public static final ItemStack HIDDEN_COVER_ALTERNATIVE = new ItemStack(Blocks.STONEBRICK);
public ItemCover(IItemInfo info) { public ItemCover() {
super(info); super(null);
//setCreativeTab(RS.INSTANCE.coversTab); //setCreativeTab(RS.INSTANCE.coversTab);
} }
public ItemCover() { /* TODO
this(new ItemInfo(RS.ID, "cover"));
}
/*
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void registerModels(IModelRegistration modelRegistration) { public void registerModels(IModelRegistration modelRegistration) {

View File

@@ -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<ItemStack> 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<String> 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()));
}
}*/
}

View File

@@ -1,11 +1,8 @@
package com.raoulvdberge.refinedstorage.item; package com.raoulvdberge.refinedstorage.item;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.item.info.ItemInfo;
public class ItemHollowCover extends ItemCover { public class ItemHollowCover extends ItemCover {
public ItemHollowCover() { public ItemHollowCover() {
super(new ItemInfo(RS.ID, "hollow_cover")); super();
} }
/* TODO /* TODO
@Override @Override

View File

@@ -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<ItemStack> 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<INetwork> networkConsumer, Consumer<TextComponentTranslation> 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<String> 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);
}*/
}

View File

@@ -1,15 +1,26 @@
package com.raoulvdberge.refinedstorage.item; package com.raoulvdberge.refinedstorage.item;
import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
import com.raoulvdberge.refinedstorage.item.info.ItemInfo; 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_SELECTED = "TabSelected";
public static final String NBT_TAB_PAGE = "TabPage"; public static final String NBT_TAB_PAGE = "TabPage";
public ItemWirelessCraftingMonitor() { public ItemWirelessCraftingMonitor(Properties item, boolean creative, int energyCapacity) {
super(new ItemInfo(RS.ID, "wireless_crafting_monitor"), 0); super(item, creative, energyCapacity);
} }
@Nonnull
@Override
public INetworkItem provide(INetworkItemHandler handler, PlayerEntity player, ItemStack stack) {
return null;
}
/* TODO /* TODO
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)

View File

@@ -1,11 +1,21 @@
package com.raoulvdberge.refinedstorage.item; package com.raoulvdberge.refinedstorage.item;
import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
import com.raoulvdberge.refinedstorage.item.info.ItemInfo; import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
public class ItemWirelessFluidGrid extends ItemNetworkItem { import javax.annotation.Nonnull;
public ItemWirelessFluidGrid() {
super(new ItemInfo(RS.ID, "wireless_fluid_grid"), 0); 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 /* TODO
@Override @Override

View File

@@ -1,17 +1,23 @@
package com.raoulvdberge.refinedstorage.item; package com.raoulvdberge.refinedstorage.item;
import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
import com.raoulvdberge.refinedstorage.item.info.IItemInfo; import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler;
import com.raoulvdberge.refinedstorage.item.info.ItemInfo; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
public class ItemWirelessGrid extends ItemNetworkItem { import javax.annotation.Nonnull;
public ItemWirelessGrid(IItemInfo info) {
super(info, 0); public class ItemWirelessGrid extends ItemWithNetwork {
public ItemWirelessGrid(Properties item, boolean creative, int energyCapacity) {
super(item, creative, energyCapacity);
} }
public ItemWirelessGrid() { @Nonnull
this(new ItemInfo(RS.ID, "wireless_grid")); @Override
public INetworkItem provide(INetworkItemHandler handler, PlayerEntity player, ItemStack stack) {
return null;
} }
/* TODO /* TODO
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)

View File

@@ -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<ITextComponent> 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)));
});
}
}
}

View File

@@ -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<ItemStack> 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<INetwork> onNetwork, Consumer<ITextComponent> 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<ITextComponent> 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);
}
}

View File

@@ -1,4 +1,4 @@
package com.raoulvdberge.refinedstorage.item.capprovider; package com.raoulvdberge.refinedstorage.item.capabilityprovider;
import com.raoulvdberge.refinedstorage.integration.forgeenergy.ItemEnergyForge; import com.raoulvdberge.refinedstorage.integration.forgeenergy.ItemEnergyForge;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@@ -15,7 +15,7 @@ import javax.annotation.Nullable;
public class CapabilityProviderEnergy implements ICapabilityProvider { public class CapabilityProviderEnergy implements ICapabilityProvider {
private ItemStack stack; private ItemStack stack;
private int energyCapacity; private int energyCapacity;
private LazyOptional<IEnergyStorage> cap = LazyOptional.of(() -> new ItemEnergyForge(stack, energyCapacity)); private LazyOptional<IEnergyStorage> capability = LazyOptional.of(() -> new ItemEnergyForge(stack, energyCapacity));
public CapabilityProviderEnergy(ItemStack stack, int energyCapacity) { public CapabilityProviderEnergy(ItemStack stack, int energyCapacity) {
this.stack = stack; this.stack = stack;
@@ -32,7 +32,7 @@ public class CapabilityProviderEnergy implements ICapabilityProvider {
@Override @Override
public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap) { public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap) {
if (cap == CapabilityEnergy.ENERGY) { if (cap == CapabilityEnergy.ENERGY) {
return this.cap.cast(); return capability.cast();
} }
return LazyOptional.empty(); return LazyOptional.empty();

View File

@@ -1,7 +0,0 @@
package com.raoulvdberge.refinedstorage.item.info;
import net.minecraft.util.ResourceLocation;
public interface IItemInfo {
ResourceLocation getId();
}

View File

@@ -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;
}
}

View File

@@ -1,14 +1,13 @@
package com.raoulvdberge.refinedstorage.item.itemblock; package com.raoulvdberge.refinedstorage.item.itemblock;
import com.raoulvdberge.refinedstorage.block.BlockBase; import com.raoulvdberge.refinedstorage.block.BlockBase;
import com.raoulvdberge.refinedstorage.item.info.IItemInfo;
import net.minecraft.item.BlockItem; import net.minecraft.item.BlockItem;
import net.minecraft.item.Item; import net.minecraft.item.Item;
public class ItemBlockBase extends BlockItem { public class ItemBlockBase extends BlockItem {
private BlockBase block; private BlockBase block;
public ItemBlockBase(BlockBase block, IItemInfo info) { public ItemBlockBase(BlockBase block) {
super(block, new Item.Properties()); super(block, new Item.Properties());
this.block = block; this.block = block;

View File

@@ -1,12 +1,10 @@
package com.raoulvdberge.refinedstorage.item.itemblock; package com.raoulvdberge.refinedstorage.item.itemblock;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.BlockController; import com.raoulvdberge.refinedstorage.block.BlockController;
import com.raoulvdberge.refinedstorage.item.info.ItemInfo;
public class ItemBlockController extends ItemBlockBase { public class ItemBlockController extends ItemBlockBase {
public ItemBlockController(BlockController block) { public ItemBlockController(BlockController block) {
super(block, new ItemInfo(RS.ID, "controller")); super(block);
// setMaxStackSize(1); // setMaxStackSize(1);
} }
@@ -31,7 +29,7 @@ public class ItemBlockController extends ItemBlockBase {
super.addInformation(stack, world, tooltip, flag); super.addInformation(stack, world, tooltip, flag);
if (stack.getMetadata() != ControllerType.CREATIVE.getId()) { 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));
} }
} }

View File

@@ -1,8 +1,7 @@
package com.raoulvdberge.refinedstorage.item.itemblock; package com.raoulvdberge.refinedstorage.item.itemblock;
import com.raoulvdberge.refinedstorage.block.BlockBase; import com.raoulvdberge.refinedstorage.block.BlockBase;
import com.raoulvdberge.refinedstorage.item.capprovider.CapabilityProviderEnergy; import com.raoulvdberge.refinedstorage.item.capabilityprovider.CapabilityProviderEnergy;
import com.raoulvdberge.refinedstorage.item.info.IItemInfo;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.minecraftforge.common.capabilities.ICapabilityProvider;
@@ -13,8 +12,8 @@ public abstract class ItemBlockEnergyItem extends ItemBlockBase {
private int energyCapacity; private int energyCapacity;
public ItemBlockEnergyItem(BlockBase block, int energyCapacity, IItemInfo info) { public ItemBlockEnergyItem(BlockBase block, int energyCapacity) {
super(block, info); super(block);
this.energyCapacity = energyCapacity; this.energyCapacity = energyCapacity;
@@ -86,7 +85,7 @@ public abstract class ItemBlockEnergyItem extends ItemBlockBase {
if (stack.getItemDamage() != TYPE_CREATIVE) { if (stack.getItemDamage() != TYPE_CREATIVE) {
IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null); 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()));
} }
}*/ }*/
} }

View File

@@ -1,12 +1,10 @@
package com.raoulvdberge.refinedstorage.item.itemblock; package com.raoulvdberge.refinedstorage.item.itemblock;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.BlockFluidStorage; import com.raoulvdberge.refinedstorage.block.BlockFluidStorage;
import com.raoulvdberge.refinedstorage.item.info.ItemInfo;
public class ItemBlockFluidStorage extends ItemBlockBase { public class ItemBlockFluidStorage extends ItemBlockBase {
public ItemBlockFluidStorage(BlockFluidStorage block) { public ItemBlockFluidStorage(BlockFluidStorage block) {
super(block, new ItemInfo(RS.ID, "fluid_storage")); super(block);
} }
/* TODO /* TODO
@Override @Override

View File

@@ -2,11 +2,10 @@ package com.raoulvdberge.refinedstorage.item.itemblock;
import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.BlockPortableGrid; import com.raoulvdberge.refinedstorage.block.BlockPortableGrid;
import com.raoulvdberge.refinedstorage.item.info.ItemInfo;
public class ItemBlockPortableGrid extends ItemBlockEnergyItem { public class ItemBlockPortableGrid extends ItemBlockEnergyItem {
public ItemBlockPortableGrid(BlockPortableGrid block) { public ItemBlockPortableGrid(BlockPortableGrid block) {
super(block, RS.INSTANCE.config.portableGridCapacity, new ItemInfo(RS.ID, "portable_grid")); super(block, RS.INSTANCE.config.portableGridCapacity);
} }
/* TODO /* TODO
@Override @Override

View File

@@ -1,12 +1,10 @@
package com.raoulvdberge.refinedstorage.item.itemblock; package com.raoulvdberge.refinedstorage.item.itemblock;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.block.BlockStorage; import com.raoulvdberge.refinedstorage.block.BlockStorage;
import com.raoulvdberge.refinedstorage.item.info.ItemInfo;
public class ItemBlockStorage extends ItemBlockBase { public class ItemBlockStorage extends ItemBlockBase {
public ItemBlockStorage(BlockStorage storage) { public ItemBlockStorage(BlockStorage storage) {
super(storage, new ItemInfo(RS.ID, "storage")); super(storage);
} }
/* TODO /* TODO
@Override @Override

View File

@@ -1,15 +1,14 @@
package com.raoulvdberge.refinedstorage.util; package com.raoulvdberge.refinedstorage.util;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.API;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.RenderHelper; 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.BakedQuad;
import net.minecraft.client.renderer.model.IBakedModel; import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.client.renderer.model.ItemCameraTransforms; import net.minecraft.client.renderer.model.ItemCameraTransforms;
@@ -60,33 +59,6 @@ public final class RenderUtils {
return text; 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) { private static TRSRTransformation leftifyTransform(TRSRTransformation transform) {
return TRSRTransformation.blockCenterToCorner(FLIP_X.compose(TRSRTransformation.blockCornerToCenter(transform)).compose(FLIP_X)); return TRSRTransformation.blockCenterToCorner(FLIP_X.compose(TRSRTransformation.blockCornerToCenter(transform)).compose(FLIP_X));
} }
@@ -326,20 +298,16 @@ public final class RenderUtils {
} }
} }
// @Volatile: From GuiScreen#getItemToolTip // @Volatile: From Screen#getTooltipFromItem
public static List<ITextComponent> getItemTooltip(ItemStack stack) { public static List<String> getTooltipFromItem(ItemStack stack) {
// TODO List<ITextComponent> tooltip = stack.getTooltip(Minecraft.getInstance().player, Minecraft.getInstance().gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL);
List<ITextComponent> lines = stack.getTooltip(Minecraft.getInstance().player, Minecraft.getInstance().gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL); List<String> tooltipStrings = Lists.newArrayList();
for (int i = 0; i < lines.size(); ++i) { for (ITextComponent itextcomponent : tooltip) {
if (i == 0) { tooltipStrings.add(itextcomponent.getFormattedText());
//lines.set(i, stack.getItem().getRarity(stack).color + lines.get(i));
} else {
//lines.set(i, TextFormatting.GRAY + lines.get(i));
}
} }
return lines; return tooltipStrings;
} }
public static boolean isLightMapDisabled() { public static boolean isLightMapDisabled() {
@@ -410,4 +378,8 @@ public final class RenderUtils {
return sprite; 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;
}
} }

View File

@@ -84,9 +84,9 @@
"gui.refinedstorage:storage_monitor": "Storage Monitor", "gui.refinedstorage:storage_monitor": "Storage Monitor",
"gui.refinedstorage:portable_grid": "Portable Grid", "gui.refinedstorage:portable_grid": "Portable Grid",
"gui.refinedstorage:crafter_manager": "Crafter Manager", "gui.refinedstorage:crafter_manager": "Crafter Manager",
"misc.refinedstorage:energy_stored": "%d / %d FE", "misc.refinedstorage.energy_stored": "%d / %d FE",
"misc.refinedstorage:energy_usage": "Usage: %d FE/t", "misc.refinedstorage.energy_usage": "Usage: %d FE/t",
"misc.refinedstorage:energy_usage_minimal": "%d FE/t", "misc.refinedstorage.energy_usage_minimal": "%d FE/t",
"misc.refinedstorage.storage.stored": "Stored: %s", "misc.refinedstorage.storage.stored": "Stored: %s",
"misc.refinedstorage.storage.stored_capacity": "Stored: %s / %s", "misc.refinedstorage.storage.stored_capacity": "Stored: %s / %s",
"misc.refinedstorage.storage.stored_minimal": "%s", "misc.refinedstorage.storage.stored_minimal": "%s",