diff --git a/dependencies.gradle b/dependencies.gradle index 7d9e7baa..0e032ee2 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -27,7 +27,7 @@ dependencies { devOnlyNonPublishable("com.github.GTNewHorizons:Railcraft:9.17.29:dev") compileOnlyApi("com.github.GTNewHorizons:nei-custom-diagram:1.8.30:dev") { transitive = false } devOnlyNonPublishable("com.github.GTNewHorizons:EnhancedLootBags:1.3.4:dev") - devOnlyNonPublishable("com.github.GTNewHorizons:BetterQuesting:3.8.77-GTNH:dev") + devOnlyNonPublishable("com.github.GTNewHorizons:BetterQuesting:3.8.79-GTNH:dev") devOnlyNonPublishable("com.github.GTNewHorizons:Angelica:2.1.53:dev") devOnlyNonPublishable("com.github.GTNewHorizons:TX-Loader:1.8.11:dev") devOnlyNonPublishable("curse.maven:cofh-core-69162:2388751") diff --git a/src/main/java/com/hfstudio/guidenh/integration/GuideNhClientIntegrationBootstrap.java b/src/main/java/com/hfstudio/guidenh/integration/GuideNhClientIntegrationBootstrap.java index 75e10f0f..9c396ac5 100644 --- a/src/main/java/com/hfstudio/guidenh/integration/GuideNhClientIntegrationBootstrap.java +++ b/src/main/java/com/hfstudio/guidenh/integration/GuideNhClientIntegrationBootstrap.java @@ -1,5 +1,12 @@ package com.hfstudio.guidenh.integration; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import net.minecraft.util.ResourceLocation; + +import com.hfstudio.guidenh.client.hotkey.OpenGuideHotkey; import com.hfstudio.guidenh.guide.scene.snapshot.GuideStructureSnapshotRegistration; import com.hfstudio.guidenh.integration.ae2.Ae2BlockStatsProvider; import com.hfstudio.guidenh.integration.ae2.Ae2FakeWorldIntegration; @@ -8,6 +15,7 @@ import com.hfstudio.guidenh.integration.api.client.GuideNhClientIntegrationRegistry; import com.hfstudio.guidenh.integration.bartworks.BartWorksFakeWorldIntegration; import com.hfstudio.guidenh.integration.betterquesting.BetterQuestingQuestHoverProvider; +import com.hfstudio.guidenh.integration.betterquesting.BqGuidePageLinks; import com.hfstudio.guidenh.integration.betterquesting.BqGuidePageUriHandler; import com.hfstudio.guidenh.integration.buildcraft.BuildCraftBlockDisplayProvider; import com.hfstudio.guidenh.integration.buildcraft.BuildCraftPreviewPrepareContributor; @@ -41,6 +49,10 @@ import com.hfstudio.guidenh.integration.structurelib.StructureLibControllerIntegrationRegistry; import com.hfstudio.guidenh.integration.tinkerconstruct.TinkersConstructPreviewPrepareContributor; +import betterquesting.api2.client.gui.context.QuestHoverRegistry; +import betterquesting.api2.client.gui.context.QuestTooltipRegistry; +import betterquesting.api2.client.gui.panels.content.PanelTextBox; + public class GuideNhClientIntegrationBootstrap { private GuideNhClientIntegrationBootstrap() {} @@ -79,9 +91,29 @@ public static void preInitClient() { if (Mods.BetterQuesting.isModLoaded()) { BqGuidePageUriHandler.register(); - + PanelTextBox.registerTextProcessor( + new ResourceLocation("guidenh", "guide_page_links"), + BqGuidePageLinks::replaceGuideTags); + QuestTooltipRegistry.register((target, tooltip) -> { + if (target instanceof UUID) { + OpenGuideHotkey.appendQuestTooltip((UUID) target, tooltip); + } else if (target instanceof Map.Entry) { + Object key = ((Map.Entry) target).getKey(); + if (key instanceof UUID) { + OpenGuideHotkey.appendQuestTooltip((UUID) key, tooltip); + } + } else if (target instanceof String) { + List guideTooltip = BqGuidePageLinks.getTooltip((String) target); + if (guideTooltip != null) { + tooltip.addAll(guideTooltip); + } + } + }); + + BetterQuestingQuestHoverProvider hoverProvider = new BetterQuestingQuestHoverProvider(); + QuestHoverRegistry.register(hoverProvider); GuideNhClientIntegrationRegistry.global() - .registerQuestHoverProvider(new BetterQuestingQuestHoverProvider()); + .registerQuestHoverProvider(hoverProvider); } } diff --git a/src/main/java/com/hfstudio/guidenh/integration/api/client/GuideNhClientIntegrationRegistry.java b/src/main/java/com/hfstudio/guidenh/integration/api/client/GuideNhClientIntegrationRegistry.java index d9d6e407..cf32f6f8 100644 --- a/src/main/java/com/hfstudio/guidenh/integration/api/client/GuideNhClientIntegrationRegistry.java +++ b/src/main/java/com/hfstudio/guidenh/integration/api/client/GuideNhClientIntegrationRegistry.java @@ -1,6 +1,7 @@ package com.hfstudio.guidenh.integration.api.client; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.UUID; @@ -28,7 +29,7 @@ public class GuideNhClientIntegrationRegistry { private final List previewPlayerModelProviders = new ArrayList<>(); private final List previewPlayerElytraProviders = new ArrayList<>(); private final List previewBlockRenderProviders = new ArrayList<>(); - private final List questHoverProviders = new ArrayList<>(); + private volatile List questHoverProviders = Collections.emptyList(); public GuideNhClientIntegrationRegistry() {} @@ -92,13 +93,15 @@ public synchronized void registerQuestHoverProvider(QuestHoverProvider provider) if (provider == null) { throw new IllegalArgumentException("provider"); } - if (!questHoverProviders.contains(provider)) { - questHoverProviders.add(provider); - } + if (questHoverProviders.contains(provider)) return; + + List updatedProviders = new ArrayList<>(questHoverProviders); + updatedProviders.add(provider); + questHoverProviders = Collections.unmodifiableList(updatedProviders); } - public synchronized List questHoverProviders() { - return List.copyOf(questHoverProviders); + public List questHoverProviders() { + return questHoverProviders; } @Nullable diff --git a/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BetterQuestingQuestHoverProvider.java b/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BetterQuestingQuestHoverProvider.java index 1a73dfa3..1504d41d 100644 --- a/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BetterQuestingQuestHoverProvider.java +++ b/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BetterQuestingQuestHoverProvider.java @@ -1,5 +1,6 @@ package com.hfstudio.guidenh.integration.betterquesting; +import java.util.Map; import java.util.UUID; import org.jetbrains.annotations.Nullable; @@ -9,7 +10,12 @@ import com.hfstudio.guidenh.integration.Mods; import com.hfstudio.guidenh.integration.api.client.QuestHoverProvider; -public class BetterQuestingQuestHoverProvider implements QuestHoverProvider { +import betterquesting.api2.client.gui.context.IQuestHoverListener; + +public class BetterQuestingQuestHoverProvider implements QuestHoverProvider, IQuestHoverListener { + + @Nullable + private Object currentTarget; @Override public boolean isQuestHoverAvailable() { @@ -18,7 +24,15 @@ public boolean isQuestHoverAvailable() { @Override public @Nullable UUID currentHoveredQuestId() { - return BqCompat.getCurrentHoveredQuestUuid(); + if (!(currentTarget instanceof Map.Entry)) return null; + + Object key = ((Map.Entry) currentTarget).getKey(); + return key instanceof UUID ? (UUID) key : null; + } + + @Override + public void onQuestHoverChanged(@Nullable Object target) { + currentTarget = target; } @Override diff --git a/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BqCompat.java b/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BqCompat.java index de966326..db94392f 100644 --- a/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BqCompat.java +++ b/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BqCompat.java @@ -1,9 +1,6 @@ package com.hfstudio.guidenh.integration.betterquesting; import java.util.List; -import java.util.UUID; - -import org.jetbrains.annotations.Nullable; import com.hfstudio.guidenh.guide.GuideBuilder; import com.hfstudio.guidenh.guide.compiler.TagCompiler; @@ -19,9 +16,6 @@ */ public class BqCompat { - @Nullable - public static volatile UUID currentHoveredQuestUuid; - /** * Attaches the {@link QuestIndex} to the given guide builder. Safe to call when BQ is * absent because {@link QuestIndex} only depends on standard library types. @@ -40,21 +34,4 @@ public static void appendCompilers(List compilers) { compilers.add(new QuestCardCompiler()); } - /** - * Returns the UUID of the BetterQuesting quest currently under the mouse cursor in the BQ - * quest line GUI, or {@code null} if no quest is hovered. Updated by the BQ-targeted mixin - * and consumed by the open-guide hotkey handler. - */ - @Nullable - public static UUID getCurrentHoveredQuestUuid() { - return currentHoveredQuestUuid; - } - - /** - * Sets the UUID of the BetterQuesting quest currently under the mouse cursor. Intended for - * use by the BQ-targeted mixin only. Pass {@code null} to clear. - */ - public static void setCurrentHoveredQuestUuid(@Nullable UUID uuid) { - currentHoveredQuestUuid = uuid; - } } diff --git a/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BqGuidePageLinks.java b/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BqGuidePageLinks.java index c0b5f438..6c2d7860 100644 --- a/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BqGuidePageLinks.java +++ b/src/main/java/com/hfstudio/guidenh/integration/betterquesting/BqGuidePageLinks.java @@ -109,7 +109,8 @@ public static boolean isGuideUri(@Nullable String url) { GuidePageLinkTarget target = GuidePageLinkTarget.resolve(anchor); List tooltip = List.of( EnumChatFormatting.AQUA + I18n.format("guidenh.compat.bq.open_guide_page"), - EnumChatFormatting.GRAY + target.title()); + EnumChatFormatting.GRAY + target.title(), + EnumChatFormatting.GRAY + I18n.format("guidenh.compat.bq.click_to_jump")); return putBounded(TOOLTIP_CACHE, url, tooltip); } diff --git a/src/main/java/com/hfstudio/guidenh/integration/logisticspipes/LogisticsPipesHelpers.java b/src/main/java/com/hfstudio/guidenh/integration/logisticspipes/LogisticsPipesHelpers.java index 2faba7ac..96b00b3e 100644 --- a/src/main/java/com/hfstudio/guidenh/integration/logisticspipes/LogisticsPipesHelpers.java +++ b/src/main/java/com/hfstudio/guidenh/integration/logisticspipes/LogisticsPipesHelpers.java @@ -9,11 +9,11 @@ import org.jetbrains.annotations.Nullable; import com.hfstudio.guidenh.guide.scene.level.GuidebookLevel; -import com.hfstudio.guidenh.mixins.late.compat.logisticspipes.AccessorLogisticsTileGenericPipe; import cpw.mods.fml.common.Optional; import logisticspipes.pipes.basic.CoreUnroutedPipe; import logisticspipes.pipes.basic.LogisticsBlockGenericPipe; +import logisticspipes.pipes.basic.LogisticsTileGenericPipe; import logisticspipes.renderer.state.PipeRenderState; public class LogisticsPipesHelpers { @@ -38,10 +38,10 @@ public static ItemStack resolveDisplayStack(GuidebookLevel level, Block block, i return null; } TileEntity te = level.getTileEntity(x, y, z); - if (!(te instanceof AccessorLogisticsTileGenericPipe)) { + if (!(te instanceof LogisticsTileGenericPipe lpPipe)) { return null; } - CoreUnroutedPipe pipe = ((AccessorLogisticsTileGenericPipe) te).getPipe(); + CoreUnroutedPipe pipe = lpPipe.pipe; if (pipe == null || pipe.item == null) { return null; } @@ -56,18 +56,17 @@ public static ItemStack resolveDisplayStack(GuidebookLevel level, Block block, i @Optional.Method(modid = "LogisticsPipes") public static void prepare(GuidebookLevel level) { for (TileEntity te : level.getTileEntities()) { - if (!(te instanceof AccessorLogisticsTileGenericPipe tile)) { + if (!(te instanceof LogisticsTileGenericPipe tile)) { continue; } - initializePipeState(tile, (TileEntity) tile, level); + initializePipeState(tile, level); } } @Optional.Method(modid = "LogisticsPipes") - private static void initializePipeState(AccessorLogisticsTileGenericPipe tile, TileEntity te, - GuidebookLevel level) { - CoreUnroutedPipe pipe = tile.getPipe(); - PipeRenderState renderState = tile.getRenderState(); + private static void initializePipeState(LogisticsTileGenericPipe tile, GuidebookLevel level) { + CoreUnroutedPipe pipe = tile.pipe; + PipeRenderState renderState = tile.renderState; if (pipe == null || renderState == null) { return; } @@ -85,9 +84,9 @@ private static void initializePipeState(AccessorLogisticsTileGenericPipe tile, T } catch (Throwable ignored) {} // Compute connections from adjacent tiles. The tile's canPipeConnect() always // returns false on the client, so we delegate to the pipe directly instead - int x = te.xCoord; - int y = te.yCoord; - int z = te.zCoord; + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { TileEntity adj = level.getTileEntity(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); boolean connected = canConnect(pipe, adj, dir); diff --git a/src/main/java/com/hfstudio/guidenh/mixins/Mixins.java b/src/main/java/com/hfstudio/guidenh/mixins/Mixins.java index 72ee874e..41aa35f1 100644 --- a/src/main/java/com/hfstudio/guidenh/mixins/Mixins.java +++ b/src/main/java/com/hfstudio/guidenh/mixins/Mixins.java @@ -17,10 +17,6 @@ public enum Mixins implements IMixins { "minecraft.AccessorSimpleReloadableResourceManager", "forge.AccessorShapedOreRecipe", "forge.AccessorShapelessOreRecipe"), - BQ_COMPAT(Side.CLIENT, Phase.LATE, Mods.BetterQuesting, "compat.betterquesting.MixinPanelButtonQuest", - "compat.betterquesting.MixinPanelTextBox", "compat.betterquesting.AccessorPanelTextBox", - "compat.betterquesting.AccessorPanelTextBoxHotZone"), - GREGTECH_HATCH_BUILDER(Side.CLIENT, Phase.LATE, Mods.GregTech, "compat.gregtech.AccessorHatchElementBuilder"), FMP_BLOCK_MICRO_MATERIAL(Side.CLIENT, Phase.LATE, Mods.ForgeMultipart, @@ -29,9 +25,6 @@ public enum Mixins implements IMixins { BC_TILE_GENERIC_PIPE(Side.CLIENT, Phase.LATE, Mods.BuildCraftTransport, "compat.buildcraft.AccessorTileGenericPipe"), - LP_TILE_GENERIC_PIPE(Side.CLIENT, Phase.LATE, Mods.LogisticsPipes, - "compat.logisticspipes.AccessorLogisticsTileGenericPipe"), - WR_CBE_UNLOADED_JAM_STATE(Side.CLIENT, Phase.LATE, Mods.WirelessRedstoneCore, "compat.wirelessredstone.MixinRedstoneEther"), diff --git a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/AccessorPanelTextBox.java b/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/AccessorPanelTextBox.java deleted file mode 100644 index 1d0c7125..00000000 --- a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/AccessorPanelTextBox.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.hfstudio.guidenh.mixins.late.compat.betterquesting; - -import java.util.List; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -import betterquesting.api2.client.gui.panels.content.PanelTextBox; - -@Mixin(value = PanelTextBox.class, remap = false) -public interface AccessorPanelTextBox { - - @Accessor("hotZones") - List guidenh$getHotZones(); -} diff --git a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/AccessorPanelTextBoxHotZone.java b/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/AccessorPanelTextBoxHotZone.java deleted file mode 100644 index 36206b57..00000000 --- a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/AccessorPanelTextBoxHotZone.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hfstudio.guidenh.mixins.late.compat.betterquesting; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -import betterquesting.api2.client.gui.misc.IGuiRect; - -@Mixin(targets = "betterquesting.api2.client.gui.panels.content.PanelTextBox$HotZone", remap = false) -public interface AccessorPanelTextBoxHotZone { - - @Accessor("location") - IGuiRect guidenh$getLocation(); - - @Accessor("link") - Object guidenh$getLink(); -} diff --git a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/MixinPanelButtonQuest.java b/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/MixinPanelButtonQuest.java deleted file mode 100644 index 205d8711..00000000 --- a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/MixinPanelButtonQuest.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.hfstudio.guidenh.mixins.late.compat.betterquesting; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.UUID; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import com.hfstudio.guidenh.client.hotkey.OpenGuideHotkey; -import com.hfstudio.guidenh.integration.betterquesting.BqCompat; - -import betterquesting.api.questing.IQuest; -import betterquesting.api2.client.gui.controls.PanelButtonQuest; - -@Mixin(value = PanelButtonQuest.class, remap = false) -public abstract class MixinPanelButtonQuest { - - @Inject(method = "drawPanel(IIF)V", at = @At("HEAD"), remap = false, require = 0) - private void guidenh$captureQuestHover(int mx, int my, float partialTick, CallbackInfo ci) { - PanelButtonQuest self = (PanelButtonQuest) (Object) this; - Map.Entry stored = self.getStoredValue(); - if (stored == null) { - return; - } - UUID id = stored.getKey(); - if (self.getTransform() - .contains(mx, my)) { - BqCompat.setCurrentHoveredQuestUuid(id); - } else if (Objects.equals(BqCompat.getCurrentHoveredQuestUuid(), id)) { - BqCompat.setCurrentHoveredQuestUuid(null); - } - } - - @Inject( - method = "getTooltip(II)Ljava/util/List;", - at = @At("RETURN"), - remap = false, - require = 0, - cancellable = true) - private void guidenh$appendQuestGuideTooltip(int mx, int my, CallbackInfoReturnable> cir) { - PanelButtonQuest self = (PanelButtonQuest) (Object) this; - Map.Entry stored = self.getStoredValue(); - if (stored == null || !self.getTransform() - .contains(mx, my)) { - return; - } - - List tooltip = cir.getReturnValue(); - if (tooltip == null) { - return; - } - - List mutableTooltip = tooltip; - if (!(tooltip instanceof ArrayList)) { - mutableTooltip = new ArrayList<>(tooltip); - } - if (OpenGuideHotkey.appendQuestTooltip(stored.getKey(), mutableTooltip)) { - cir.setReturnValue(mutableTooltip); - } - } -} diff --git a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/MixinPanelTextBox.java b/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/MixinPanelTextBox.java deleted file mode 100644 index 32361f8c..00000000 --- a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/betterquesting/MixinPanelTextBox.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.hfstudio.guidenh.mixins.late.compat.betterquesting; - -import java.util.List; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyVariable; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import com.hfstudio.guidenh.integration.betterquesting.BqGuidePageLinks; - -import betterquesting.api2.client.gui.panels.content.PanelTextBox; - -@Mixin(value = PanelTextBox.class, remap = false) -public abstract class MixinPanelTextBox { - - @ModifyVariable( - method = "setText(Ljava/lang/String;)Lbetterquesting/api2/client/gui/panels/content/PanelTextBox;", - at = @At("HEAD"), - argsOnly = true) - private String guidenh$replaceGuideTags(String text) { - return BqGuidePageLinks.replaceGuideTags(text); - } - - @Inject(method = "getTooltip(II)Ljava/util/List;", at = @At("HEAD"), cancellable = true) - private void guidenh$getGuideLinkTooltip(int mx, int my, CallbackInfoReturnable> cir) { - int mxt = mx + ((PanelTextBox) (Object) this).getTransform() - .getX(); - int myt = my + ((PanelTextBox) (Object) this).getTransform() - .getY(); - for (Object hotZone : ((AccessorPanelTextBox) this).guidenh$getHotZones()) { - AccessorPanelTextBoxHotZone accessor = (AccessorPanelTextBoxHotZone) hotZone; - if (accessor.guidenh$getLocation() - .contains(mxt, myt)) { - Object link = accessor.guidenh$getLink(); - if (link instanceof String) { - List tooltip = BqGuidePageLinks.getTooltip((String) link); - if (tooltip != null && !tooltip.isEmpty()) { - cir.setReturnValue(tooltip); - } - } - return; - } - } - } -} diff --git a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/blockrenderer6343/AccessorGTNEIMultiblockHandler.java b/src/main/java/com/hfstudio/guidenh/mixins/late/compat/blockrenderer6343/AccessorGTNEIMultiblockHandler.java index b9f1f5f8..33838ff9 100644 --- a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/blockrenderer6343/AccessorGTNEIMultiblockHandler.java +++ b/src/main/java/com/hfstudio/guidenh/mixins/late/compat/blockrenderer6343/AccessorGTNEIMultiblockHandler.java @@ -1,7 +1,5 @@ package com.hfstudio.guidenh.mixins.late.compat.blockrenderer6343; -import java.util.List; - import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; @@ -14,11 +12,6 @@ @Mixin(value = GTNEIMultiblockHandler.class, remap = false) public interface AccessorGTNEIMultiblockHandler { - @Accessor("multiblocksList") - static List getMultiblocksList() { - throw new AssertionError(); - } - @Accessor("multiBlockComponents") static Long2ObjectMap> getMultiBlockComponents() { throw new AssertionError(); diff --git a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/logisticspipes/AccessorLogisticsTileGenericPipe.java b/src/main/java/com/hfstudio/guidenh/mixins/late/compat/logisticspipes/AccessorLogisticsTileGenericPipe.java deleted file mode 100644 index f2dcdb6a..00000000 --- a/src/main/java/com/hfstudio/guidenh/mixins/late/compat/logisticspipes/AccessorLogisticsTileGenericPipe.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.hfstudio.guidenh.mixins.late.compat.logisticspipes; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -import logisticspipes.pipes.basic.CoreUnroutedPipe; -import logisticspipes.pipes.basic.LogisticsTileGenericPipe; -import logisticspipes.renderer.state.PipeRenderState; - -@Mixin(value = LogisticsTileGenericPipe.class, remap = false) -public interface AccessorLogisticsTileGenericPipe { - - @Accessor("pipe") - CoreUnroutedPipe getPipe(); - - @Accessor("renderState") - PipeRenderState getRenderState(); -} diff --git a/src/main/resources/assets/guidenh/lang/en_US.lang b/src/main/resources/assets/guidenh/lang/en_US.lang index d00dbd31..393a3967 100644 --- a/src/main/resources/assets/guidenh/lang/en_US.lang +++ b/src/main/resources/assets/guidenh/lang/en_US.lang @@ -639,6 +639,7 @@ guidenh.compat.bq.locked=[Locked Quest] guidenh.compat.bq.missing=[Unknown Quest] guidenh.compat.bq.open_in_guide=Open in Guide guidenh.compat.bq.open_guide_page=Open GuideNH page +guidenh.compat.bq.click_to_jump=Click to jump guidenh.mediawiki.contributor.abkqpo.name=ABKQPO guidenh.mediawiki.contributor.abkqpo.role=Owner diff --git a/src/main/resources/assets/guidenh/lang/zh_CN.lang b/src/main/resources/assets/guidenh/lang/zh_CN.lang index fe09cb37..5b720a44 100644 --- a/src/main/resources/assets/guidenh/lang/zh_CN.lang +++ b/src/main/resources/assets/guidenh/lang/zh_CN.lang @@ -636,6 +636,7 @@ guidenh.compat.bq.locked=[未解锁任务] guidenh.compat.bq.missing=[未知任务] guidenh.compat.bq.open_in_guide=在指南中打开 guidenh.compat.bq.open_guide_page=打开 GuideNH 页面 +guidenh.compat.bq.click_to_jump=点击跳转 guidenh.mediawiki.contributor.abkqpo.name=ABKQPO guidenh.mediawiki.contributor.abkqpo.role=拥有者