更新版本 v1.1.0 -> v1.2.0

修复API方法
This commit is contained in:
叁玖领域 2026-02-17 13:26:53 +08:00
parent 3a519afad2
commit 47ec1af5c1
4 changed files with 20 additions and 25 deletions

View File

@ -59,7 +59,7 @@ mod_name=Super Lead Rope
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
mod_license=GPLv3
# The mod version. See https://semver.org/
mod_version=1.1.0
mod_version=1.2.0
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
# This should match the base package used for the mod sources.
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html

View File

@ -24,6 +24,7 @@ import top.r3944realms.superleadrope.api.SuperLeadRopeApi;
import top.r3944realms.superleadrope.api.type.capabilty.ILeashData;
import top.r3944realms.superleadrope.api.type.capabilty.LeashInfo;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
@ -211,7 +212,7 @@ public interface ILeashHelper {
* @return the boolean
*/
default boolean isHoldingLeash(Entity entity) {
return getAllLeash().stream().anyMatch(i -> i.isLeashedBy(entity));
return getAllLeash().stream().anyMatch(i -> Objects.equals(i.self(), entity));
}
/**
@ -221,17 +222,7 @@ public interface ILeashHelper {
* @return the boolean
*/
default boolean isHoldingLeash(UUID uuid) {
return getAllLeash().stream().anyMatch(i -> i.isLeashedBy(uuid));
}
/**
* 检查是否持有特定实体的拴绳
*
* @param blockPos the block pos
* @return the boolean
*/
default boolean isHoldingLeash(BlockPos blockPos) {
return getAllLeash().stream().anyMatch(i -> i.isLeashedBy(blockPos));
return getAllLeash().stream().anyMatch(i -> Objects.equals(i.self().getUUID(), uuid));
}
/**
@ -267,7 +258,7 @@ public interface ILeashHelper {
if (SuperLeadRopeApi.isLeashable(target)) {
if (!isHoldingLeash(target)) {
return false;
} else return unleashEntity(target.getUUID());
} else return unleashEntity(getHolderEntity().getUUID());
}
return false;
}

View File

@ -28,6 +28,11 @@ import top.r3944realms.superleadrope.SuperLeadRope;
public class JEIPlugin implements IModPlugin {
private static final ResourceLocation UID = new ResourceLocation(SuperLeadRope.MOD_ID, "jei_plugin");
/**
* Gets plugin uid.
*
* @return the plugin uid
*/
@Override
public @NotNull ResourceLocation getPluginUid() {
return UID;

View File

@ -29,7 +29,6 @@ import top.r3944realms.superleadrope.network.NetworkHandler;
import top.r3944realms.superleadrope.network.toClient.CommonConfigHashInformPacket;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Predicate;
import java.util.regex.Matcher;
@ -75,13 +74,13 @@ public class LeashConfigManager {
*/
public volatile static int cacheHash = -1;
// ========== 偏移映射 ==========
private final Map<String, double[]> entityHolderMap = new ConcurrentHashMap<>();
private final Map<String, double[]> tagHolderMap = new ConcurrentHashMap<>();
private final Map<String, double[]> modHolderMap = new ConcurrentHashMap<>();
private final Map<String, double[]> entityHolderMap = new TreeMap<>();
private final Map<String, double[]> tagHolderMap = new TreeMap<>();
private final Map<String, double[]> modHolderMap = new TreeMap<>();
private final Map<String, double[]> entityLeashMap = new ConcurrentHashMap<>();
private final Map<String, double[]> tagLeashMap = new ConcurrentHashMap<>();
private final Map<String, double[]> modLeashMap = new ConcurrentHashMap<>();
private final Map<String, double[]> entityLeashMap = new TreeMap<>();
private final Map<String, double[]> tagLeashMap = new TreeMap<>();
private final Map<String, double[]> modLeashMap = new TreeMap<>();
// ========== 缓存配置 ==========
private volatile List<String> teleportWhitelistCache = Collections.emptyList();
@ -110,9 +109,9 @@ public class LeashConfigManager {
// ================== 偏移解析 ==================
private @NotNull @Unmodifiable Map<String, Map<String, double[]>> parseOffsetList(@NotNull List<? extends String> offsetConfigs) {
Map<String, double[]> entityMap = new HashMap<>();
Map<String, double[]> tagMap = new HashMap<>();
Map<String, double[]> modMap = new HashMap<>();
Map<String, double[]> entityMap = new TreeMap<>();
Map<String, double[]> tagMap = new TreeMap<>();
Map<String, double[]> modMap = new TreeMap<>();
for (String config : offsetConfigs) {
Matcher matcher = OFFSET_PATTERN.matcher(config);
@ -566,7 +565,7 @@ public class LeashConfigManager {
Map<String, double[]> tagMap,
Map<String, double[]> modMap) {
Map<double[], Set<String>> offsetToTargets = new HashMap<>();
Map<double[], Set<String>> offsetToTargets = new LinkedHashMap<>();
// 收集entity映射
for (Map.Entry<String, double[]> entry : entityMap.entrySet()) {