gtl:提示

This commit is contained in:
C-H716 2025-11-01 01:04:54 +08:00
parent c106cf1be7
commit 81be9efab4
2 changed files with 17 additions and 63 deletions

View File

@ -15,10 +15,8 @@ import com.extendedae_plus.mixin.ae2.accessor.PatternProviderLogicAccessor;
import com.extendedae_plus.network.SetBlockHighlightS2CPacket; import com.extendedae_plus.network.SetBlockHighlightS2CPacket;
import com.extendedae_plus.network.SetPatternHighlightS2CPacket; import com.extendedae_plus.network.SetPatternHighlightS2CPacket;
import com.extendedae_plus.network.provider.SetProviderPageS2CPacket; import com.extendedae_plus.network.provider.SetProviderPageS2CPacket;
import com.extendedae_plus.util.CompareModVersionUtil;
import com.extendedae_plus.util.PatternProviderDataUtil; import com.extendedae_plus.util.PatternProviderDataUtil;
import com.glodblock.github.extendedae.client.render.EAEHighlightHandler; import com.glodblock.github.extendedae.client.render.EAEHighlightHandler;
import com.glodblock.github.extendedae.util.MessageUtil;
import com.glodblock.github.glodium.util.GlodUtil; import com.glodblock.github.glodium.util.GlodUtil;
import com.gregtechceu.gtceu.api.gui.factory.MachineUIFactory; import com.gregtechceu.gtceu.api.gui.factory.MachineUIFactory;
import com.gregtechceu.gtceu.api.machine.MetaMachine; import com.gregtechceu.gtceu.api.machine.MetaMachine;
@ -92,7 +90,8 @@ public class CraftingMonitorOpenProviderC2SPacket {
try { try {
ProviderUIHelper.openProviderUI(provider, pattern, player); ProviderUIHelper.openProviderUI(provider, pattern, player);
} catch (Exception ignored) {} } catch (Exception ignored) {
}
} }
}); });
context.setPacketHandled(true); context.setPacketHandled(true);
@ -117,27 +116,15 @@ public class CraftingMonitorOpenProviderC2SPacket {
} }
// 聊天提示 // 聊天提示
if (CompareModVersionUtil.compareTo("expatternprovider", "1.4.7")) { player.displayClientMessage(
player.displayClientMessage( Component.translatable(
MessageUtil.createEnhancedHighlightMessage( "chat.extendedae_plus.terminal.pos",
player, pos.toShortString(),
pos, level.dimension().location().getPath(),
level.dimension(), (int) Math.sqrt(player.blockPosition().distSqr(pos))
"chat.ex_pattern_access_terminal.pos"), ),
false false
); );
} else {
player.displayClientMessage(
Component.translatable(
"chat.ex_pattern_access_terminal.pos",
pos.toShortString(),
level.dimension()
.location()
.getPath()
),
false
);
}
// 最后发送高亮包保证界面已打开 // 最后发送高亮包保证界面已打开
if (pattern.getOutputs() != null && pattern.getOutputs().length > 0 && pattern.getOutputs()[0] != null) { if (pattern.getOutputs() != null && pattern.getOutputs().length > 0 && pattern.getOutputs()[0] != null) {
@ -158,6 +145,7 @@ public class CraftingMonitorOpenProviderC2SPacket {
/** /**
* 获取菜单对应的 Grid * 获取菜单对应的 Grid
*
* @param menu 当前 AEBaseMenu * @param menu 当前 AEBaseMenu
* @return Grid null * @return Grid null
*/ */
@ -178,9 +166,10 @@ public class CraftingMonitorOpenProviderC2SPacket {
/** /**
* 查找提供指定样板的可用 Provider * 查找提供指定样板的可用 Provider
* @param cs CraftingService *
* @param cs CraftingService
* @param pattern 样板 * @param pattern 样板
* @param grid 当前 Grid * @param grid 当前 Grid
* @return 第一个可用的 PatternProviderLogic null * @return 第一个可用的 PatternProviderLogic null
*/ */
private static PatternProviderLogic findValidProvider(CraftingService cs, IPatternDetails pattern, IGrid grid) { private static PatternProviderLogic findValidProvider(CraftingService cs, IPatternDetails pattern, IGrid grid) {
@ -211,8 +200,8 @@ public class CraftingMonitorOpenProviderC2SPacket {
* 4. 发送 Pattern 输出高亮包 * 4. 发送 Pattern 输出高亮包
* *
* @param provider PatternProviderLogic 实例 * @param provider PatternProviderLogic 实例
* @param pattern 样板 * @param pattern 样板
* @param player 玩家 * @param player 玩家
*/ */
private static void openProviderUI(PatternProviderLogic provider, IPatternDetails pattern, ServerPlayer player) { private static void openProviderUI(PatternProviderLogic provider, IPatternDetails pattern, ServerPlayer player) {
var host = ((PatternProviderLogicAccessor) provider).eap$host(); var host = ((PatternProviderLogicAccessor) provider).eap$host();

View File

@ -1,35 +0,0 @@
package com.extendedae_plus.util;
import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.loading.LoadingModList;
import org.apache.maven.artifact.versioning.ComparableVersion;
import java.util.Optional;
//此类代码借鉴于gtlcore
public class CompareModVersionUtil {
private static final ModList modList = ModList.get();
private static final LoadingModList loadingModList = LoadingModList.get();
public static boolean compareTo(String modId, String version) {
Optional<String> versionStr;
if (modList == null) {
versionStr = loadingModList
.getMods()
.stream()
.filter(mi -> mi.getModId()
.equals(modId))
.findFirst()
.map(mi -> mi.getVersion()
.toString());
} else {
versionStr = modList.getModContainerById(modId)
.map(mc -> mc.getModInfo()
.getVersion()
.toString());
}
return versionStr
.map(v -> new ComparableVersion(v).compareTo(new ComparableVersion(version)) >= 0)
.orElse(false);
}
}