gtl:提示

This commit is contained in:
C-H716 2025-11-01 01:04:54 +08:00
parent c9797d3f6c
commit 0b1077a20e
2 changed files with 16 additions and 60 deletions

View File

@ -16,6 +16,7 @@ import com.extendedae_plus.network.SetBlockHighlightS2CPacket;
import com.extendedae_plus.network.SetPatternHighlightS2CPacket;
import com.extendedae_plus.network.provider.SetProviderPageS2CPacket;
import com.extendedae_plus.util.PatternProviderDataUtil;
import com.glodblock.github.extendedae.client.render.EAEHighlightHandler;
import com.glodblock.github.glodium.util.GlodUtil;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.chat.Component;
@ -110,27 +111,15 @@ public class CraftingMonitorOpenProviderC2SPacket {
}
// 聊天提示
if (CompareModVersionUtil.compareTo("expatternprovider", "1.4.7")) {
player.displayClientMessage(
MessageUtil.createEnhancedHighlightMessage(
player,
pos,
level.dimension(),
"chat.ex_pattern_access_terminal.pos"),
false
);
} else {
player.displayClientMessage(
Component.translatable(
"chat.ex_pattern_access_terminal.pos",
pos.toShortString(),
level.dimension()
.location()
.getPath()
),
false
);
}
player.displayClientMessage(
Component.translatable(
"chat.extendedae_plus.terminal.pos",
pos.toShortString(),
level.dimension().location().getPath(),
(int) Math.sqrt(player.blockPosition().distSqr(pos))
),
false
);
// 最后发送高亮包保证界面已打开
if (pattern.getOutputs() != null && pattern.getOutputs().length > 0 && pattern.getOutputs()[0] != null) {
@ -151,6 +140,7 @@ public class CraftingMonitorOpenProviderC2SPacket {
/**
* 获取菜单对应的 Grid
*
* @param menu 当前 AEBaseMenu
* @return Grid null
*/
@ -171,9 +161,10 @@ public class CraftingMonitorOpenProviderC2SPacket {
/**
* 查找提供指定样板的可用 Provider
* @param cs CraftingService
*
* @param cs CraftingService
* @param pattern 样板
* @param grid 当前 Grid
* @param grid 当前 Grid
* @return 第一个可用的 PatternProviderLogic null
*/
private static PatternProviderLogic findValidProvider(CraftingService cs, IPatternDetails pattern, IGrid grid) {
@ -204,8 +195,8 @@ public class CraftingMonitorOpenProviderC2SPacket {
* 4. 发送 Pattern 输出高亮包
*
* @param provider PatternProviderLogic 实例
* @param pattern 样板
* @param player 玩家
* @param pattern 样板
* @param player 玩家
*/
private static void openProviderUI(PatternProviderLogic provider, IPatternDetails pattern, ServerPlayer player) {
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);
}
}