From be9989fc23168bf03a7b0a45909ff7b6853b0a6e Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 12 Jul 2020 22:44:35 +0200 Subject: [PATCH] Fix some TODOs, fix checkbox rendering --- .../refinedstorage/RSLootFunctions.java | 15 +++++++++++---- .../refinedstorage/apiimpl/API.java | 4 ++-- .../ErrorCraftingMonitorElement.java | 8 +++----- .../refinedstorage/item/NetworkCardItem.java | 2 +- .../grid/filtering/TooltipGridFilter.java | 18 +++++------------- .../screen/widget/CheckboxWidget.java | 10 +++++++++- .../refinedstorage/setup/CommonSetup.java | 3 +++ .../tile/NetworkTransmitterTile.java | 2 +- .../refinedstorage/util/RenderUtils.java | 2 +- 9 files changed, 36 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/refinedmods/refinedstorage/RSLootFunctions.java b/src/main/java/com/refinedmods/refinedstorage/RSLootFunctions.java index df882beca..59af4f957 100644 --- a/src/main/java/com/refinedmods/refinedstorage/RSLootFunctions.java +++ b/src/main/java/com/refinedmods/refinedstorage/RSLootFunctions.java @@ -9,8 +9,15 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.registry.Registry; public final class RSLootFunctions { - public static final LootFunctionType STORAGE_BLOCK = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "storage_block"), new LootFunctionType(new StorageBlockLootFunction.Serializer())); - public static final LootFunctionType PORTABLE_GRID = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "portable_grid"), new LootFunctionType(new PortableGridBlockLootFunction.Serializer())); - public static final LootFunctionType CRAFTER = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "crafter"), new LootFunctionType(new CrafterLootFunction.Serializer())); - public static final LootFunctionType CONTROLLER = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "controller"), new LootFunctionType(new ControllerLootFunction.Serializer())); + public static LootFunctionType STORAGE_BLOCK; + public static LootFunctionType PORTABLE_GRID; + public static LootFunctionType CRAFTER; + public static LootFunctionType CONTROLLER; + + public static void register() { + STORAGE_BLOCK = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "storage_block"), new LootFunctionType(new StorageBlockLootFunction.Serializer())); + PORTABLE_GRID = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "portable_grid"), new LootFunctionType(new PortableGridBlockLootFunction.Serializer())); + CRAFTER = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "crafter"), new LootFunctionType(new CrafterLootFunction.Serializer())); + CONTROLLER = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "controller"), new LootFunctionType(new ControllerLootFunction.Serializer())); + } } diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/API.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/API.java index af6a2d142..ae6fa7e51 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/API.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/API.java @@ -312,7 +312,7 @@ public class API implements IRSAPI { @Override public int getNetworkNodeHashCode(INetworkNode node) { int result = node.getPos().hashCode(); - result = 31 * result + node.getWorld().func_234923_W_().hashCode(); // TODO check + result = 31 * result + node.getWorld().func_234923_W_().hashCode(); return result; } @@ -329,7 +329,7 @@ public class API implements IRSAPI { INetworkNode rightNode = (INetworkNode) right; - if (left.getWorld().func_234923_W_() != rightNode.getWorld().func_234923_W_()) { // TODO check + if (left.getWorld().func_234923_W_() != rightNode.getWorld().func_234923_W_()) { return false; } diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ErrorCraftingMonitorElement.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ErrorCraftingMonitorElement.java index 4fe0e9015..d7c6543a2 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ErrorCraftingMonitorElement.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ErrorCraftingMonitorElement.java @@ -6,15 +6,13 @@ import com.refinedmods.refinedstorage.api.render.IElementDrawers; import com.refinedmods.refinedstorage.apiimpl.API; import com.refinedmods.refinedstorage.render.Styles; import com.refinedmods.refinedstorage.util.PacketBufferUtils; -import net.minecraft.client.resources.I18n; import net.minecraft.network.PacketBuffer; import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.StringTextComponent; -import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TranslationTextComponent; import javax.annotation.Nullable; +import java.util.ArrayList; import java.util.List; public class ErrorCraftingMonitorElement implements ICraftingMonitorElement { @@ -39,7 +37,7 @@ public class ErrorCraftingMonitorElement implements ICraftingMonitorElement { @Nullable @Override public List getTooltip() { - List items = base.getTooltip(); // TODO Make sure this doesn't crash + List items = new ArrayList<>(base.getTooltip()); items.add(new TranslationTextComponent(message).func_230530_a_(Styles.RED)); return items; } @@ -88,6 +86,6 @@ public class ErrorCraftingMonitorElement implements ICraftingMonitorElement { } public void mergeBases(ICraftingMonitorElement element) { - this.base.merge(element); + this.base.merge(element); } } diff --git a/src/main/java/com/refinedmods/refinedstorage/item/NetworkCardItem.java b/src/main/java/com/refinedmods/refinedstorage/item/NetworkCardItem.java index 8b831caea..e651f8a91 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/NetworkCardItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/NetworkCardItem.java @@ -66,7 +66,7 @@ public class NetworkCardItem extends Item { pos.getX(), pos.getY(), pos.getZ(), - type.func_240901_a_().toString() // TODO check + type.func_240901_a_().toString() ).func_230530_a_(Styles.GRAY)); } } diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/filtering/TooltipGridFilter.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/filtering/TooltipGridFilter.java index 4a6e4791b..20a20d7a3 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/filtering/TooltipGridFilter.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/filtering/TooltipGridFilter.java @@ -3,6 +3,7 @@ package com.refinedmods.refinedstorage.screen.grid.filtering; import com.refinedmods.refinedstorage.screen.grid.stack.IGridStack; import net.minecraft.util.text.ITextComponent; +import java.util.List; import java.util.function.Predicate; public class TooltipGridFilter implements Predicate { @@ -14,23 +15,14 @@ public class TooltipGridFilter implements Predicate { @Override public boolean test(IGridStack stack) { - for (ITextComponent item : stack.getTooltip()) { - if (item.getString().contains(tooltip)) { + List tooltip = stack.getTooltip(); + + for (int i = 1; i < tooltip.size(); ++i) { + if (tooltip.get(i).getString().toLowerCase().contains(this.tooltip.toLowerCase())) { return true; } } return false; - - /* TODO Check if we still need to rem first line? - String otherTooltip = stack.getTooltip().trim().toLowerCase(); - - if (!otherTooltip.contains("\n")) { - return false; - } - - otherTooltip = otherTooltip.substring(otherTooltip.indexOf('\n') + 1); // Remove the first line as that states the item name - - return otherTooltip.contains(tooltip); */ } } diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/widget/CheckboxWidget.java b/src/main/java/com/refinedmods/refinedstorage/screen/widget/CheckboxWidget.java index 353b19922..62e629ea7 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/widget/CheckboxWidget.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/widget/CheckboxWidget.java @@ -57,7 +57,15 @@ public class CheckboxWidget extends CheckboxButton { RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); - blit(matrixStack, this.x, this.y, this.isFocused() ? 20.0F : 0.0F, this.checked ? 20.0F : 0.0F, 20, this.height, 64, 64); + + float textureX = (this.isFocused() ? 10.0F : 0.0F); + float textureY = (this.checked ? 10.0F : 0.0F); + + int width = 10; + int height = 10; + + blit(matrixStack, this.x, this.y, textureX, textureY, width, height, 32, 32); + this.renderBg(matrixStack, minecraft, p_230431_2_, p_230431_3_); int color = 14737632; diff --git a/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java b/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java index 628d0c77e..7c2a42d43 100644 --- a/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java +++ b/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java @@ -2,6 +2,7 @@ package com.refinedmods.refinedstorage.setup; import com.refinedmods.refinedstorage.RS; import com.refinedmods.refinedstorage.RSBlocks; +import com.refinedmods.refinedstorage.RSLootFunctions; import com.refinedmods.refinedstorage.api.network.NetworkType; import com.refinedmods.refinedstorage.api.network.grid.GridType; import com.refinedmods.refinedstorage.api.network.node.INetworkNode; @@ -67,6 +68,8 @@ public class CommonSetup { MinecraftForge.EVENT_BUS.register(new NetworkListener()); MinecraftForge.EVENT_BUS.register(new BlockListener()); + RSLootFunctions.register(); + API.instance().getStorageDiskRegistry().add(ItemStorageDiskFactory.ID, new ItemStorageDiskFactory()); API.instance().getStorageDiskRegistry().add(FluidStorageDiskFactory.ID, new FluidStorageDiskFactory()); diff --git a/src/main/java/com/refinedmods/refinedstorage/tile/NetworkTransmitterTile.java b/src/main/java/com/refinedmods/refinedstorage/tile/NetworkTransmitterTile.java index 74b6bb4b1..a31592a53 100644 --- a/src/main/java/com/refinedmods/refinedstorage/tile/NetworkTransmitterTile.java +++ b/src/main/java/com/refinedmods/refinedstorage/tile/NetworkTransmitterTile.java @@ -22,7 +22,7 @@ public class NetworkTransmitterTile extends NetworkNodeTile DISTANCE = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> t.getNode().getDistance()); public static final TileDataParameter, NetworkTransmitterTile> RECEIVER_DIMENSION = new TileDataParameter<>(RSSerializers.OPTIONAL_RESOURCE_LOCATION_SERIALIZER, Optional.empty(), t -> { if (t.getNode().getReceiverDimension() != null) { - return Optional.of(t.getNode().getReceiverDimension().func_240901_a_()); // TODO check + return Optional.of(t.getNode().getReceiverDimension().func_240901_a_()); } return Optional.empty(); diff --git a/src/main/java/com/refinedmods/refinedstorage/util/RenderUtils.java b/src/main/java/com/refinedmods/refinedstorage/util/RenderUtils.java index 791bd114a..9dfdad4f4 100644 --- a/src/main/java/com/refinedmods/refinedstorage/util/RenderUtils.java +++ b/src/main/java/com/refinedmods/refinedstorage/util/RenderUtils.java @@ -235,7 +235,7 @@ public final class RenderUtils { for (int lineNumber = 0; lineNumber < textLines.size(); ++lineNumber) { ITextProperties line = textLines.get(lineNumber); if (line != null) - font.renderString(line.getString(), (float) tooltipX, (float) tooltipY, -1, true, textLocation, renderType, false, 0, 15728880); + font.func_238416_a_(line, (float) tooltipX, (float) tooltipY, -1, true, textLocation, renderType, false, 0, 15728880); if (lineNumber + 1 == titleLinesCount) tooltipY += 2;