From 1eaddef694efbe22c3df7d998d12f94620fbc33b Mon Sep 17 00:00:00 2001 From: yueh Date: Tue, 7 Jul 2020 18:13:32 +0200 Subject: [PATCH] Fixes #4453: Avoid using clientside methods serverside. --- src/api/java/appeng/api/config/Upgrades.java | 27 +++++++++++++------- src/main/java/appeng/core/Registration.java | 8 +++--- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/api/java/appeng/api/config/Upgrades.java b/src/api/java/appeng/api/config/Upgrades.java index 8f4eb8b13..8a24de168 100644 --- a/src/api/java/appeng/api/config/Upgrades.java +++ b/src/api/java/appeng/api/config/Upgrades.java @@ -23,7 +23,11 @@ package appeng.api.config; -import java.util.*; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import javax.annotation.Nullable; @@ -34,6 +38,7 @@ import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.util.IItemProvider; import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.TranslationTextComponent; public enum Upgrades { /** @@ -76,7 +81,7 @@ public enum Upgrades { * items have different maxSupported values, the highest * will be shown. */ - public void registerItem(final IItemProvider item, final int maxSupported, @Nullable ITextComponent tooltipGroup) { + public void registerItem(final IItemProvider item, final int maxSupported, @Nullable String tooltipGroup) { Preconditions.checkNotNull(item); this.supported.add(new Supported(item.asItem(), maxSupported, tooltipGroup)); supportedTooltipLines = null; // Reset tooltip @@ -95,17 +100,17 @@ public enum Upgrades { ITextComponent name = supported.item.getName(); // If the group was already added by a previous item, skip this - if (supported.tooltipGroup != null && namesAdded.contains(supported.tooltipGroup)) { + if (supported.getTooltipGroup() != null && namesAdded.contains(supported.getTooltipGroup())) { continue; } // If any of the following items would be of the same group, use the group name // instead - if (supported.tooltipGroup != null) { + if (supported.getTooltipGroup() != null) { for (int j = i + 1; j < this.supported.size(); j++) { - ITextComponent otherGroup = this.supported.get(j).tooltipGroup; - if (supported.tooltipGroup.equals(otherGroup)) { - name = supported.tooltipGroup; + ITextComponent otherGroup = this.supported.get(j).getTooltipGroup(); + if (supported.getTooltipGroup().equals(otherGroup)) { + name = supported.getTooltipGroup(); break; } } @@ -133,9 +138,9 @@ public enum Upgrades { private final Block block; private final int maxCount; @Nullable - private final ITextComponent tooltipGroup; + private final String tooltipGroup; - public Supported(Item item, int maxCount, @Nullable ITextComponent tooltipGroup) { + public Supported(Item item, int maxCount, @Nullable String tooltipGroup) { this.item = item; if (item.getItem() instanceof BlockItem) { this.block = ((BlockItem) item.getItem()).getBlock(); @@ -158,6 +163,10 @@ public enum Upgrades { return item != null && this.item == item; } + public ITextComponent getTooltipGroup() { + return this.tooltipGroup != null ? new TranslationTextComponent(this.tooltipGroup) : null; + } + } } diff --git a/src/main/java/appeng/core/Registration.java b/src/main/java/appeng/core/Registration.java index 34e8c66bd..3e3568085 100644 --- a/src/main/java/appeng/core/Registration.java +++ b/src/main/java/appeng/core/Registration.java @@ -383,10 +383,10 @@ final class Registration { // Block and part interface have different translation keys, but support the // same upgrades - ITextComponent interfaceGroup = parts.iface().asItem().getName(); - ITextComponent itemIoBusGroup = GuiText.IOBuses.textComponent(); - ITextComponent fluidIoBusGroup = GuiText.IOBusesFluids.textComponent(); - ITextComponent storageCellGroup = GuiText.IOBusesFluids.textComponent(); + String interfaceGroup = parts.iface().asItem().getTranslationKey(); + String itemIoBusGroup = GuiText.IOBuses.getTranslationKey(); + String fluidIoBusGroup = GuiText.IOBusesFluids.getTranslationKey(); + String storageCellGroup = GuiText.IOBusesFluids.getTranslationKey(); // default settings.. ((P2PTunnelRegistry) registries.p2pTunnel()).configure();