From 6ae3f56ede3cf2d7e6e5638ac525f13608e4799b Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 4 Dec 2021 04:34:47 +0100 Subject: [PATCH] Move ReobfHelper to core --- nmsutils-core/pom.xml | 18 ++++++++++++- .../cubeside/nmsutils/util}/ReobfHelper.java | 26 +++++++------------ .../nmsutils/v1_18_R1/EntityUtilsImpl.java | 1 + 3 files changed, 28 insertions(+), 17 deletions(-) rename {nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1 => nmsutils-core/src/main/java/de/cubeside/nmsutils/util}/ReobfHelper.java (86%) diff --git a/nmsutils-core/pom.xml b/nmsutils-core/pom.xml index 5a54c8b..c2aae54 100644 --- a/nmsutils-core/pom.xml +++ b/nmsutils-core/pom.xml @@ -14,14 +14,30 @@ 1.16.3-R0.1-SNAPSHOT provided + + net.fabricmc + mapping-io + 0.3.0 + provided + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/groups/public/ + + + fabric-repo + https://maven.fabricmc.net/ + + maven-compiler-plugin 3.8.1 - 11 + 17 diff --git a/nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1/ReobfHelper.java b/nmsutils-core/src/main/java/de/cubeside/nmsutils/util/ReobfHelper.java similarity index 86% rename from nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1/ReobfHelper.java rename to nmsutils-core/src/main/java/de/cubeside/nmsutils/util/ReobfHelper.java index b92e7f0..dbb0c8e 100644 --- a/nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1/ReobfHelper.java +++ b/nmsutils-core/src/main/java/de/cubeside/nmsutils/util/ReobfHelper.java @@ -1,6 +1,5 @@ -package de.cubeside.nmsutils.v1_18_R1; +package de.cubeside.nmsutils.util; -import io.papermc.paper.util.ObfHelper; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -17,26 +16,23 @@ import net.fabricmc.mappingio.tree.MappingTree; import net.fabricmc.mappingio.tree.MappingTree.FieldMapping; import net.fabricmc.mappingio.tree.MemoryMappingTree; -import org.checkerframework.checker.nullness.qual.NonNull; -import org.checkerframework.checker.nullness.qual.Nullable; -import org.checkerframework.framework.qual.DefaultQualifier; +import org.bukkit.Bukkit; /** * Modified from https://github.com/PaperMC/Paper/blob/675d1e3f58ab86d5a3b1bc8bbcf2beefc9696078/patches/server/0420-Deobfuscate-stacktraces-in-log-messages-crash-report.patch * see there for the license */ -@DefaultQualifier(NonNull.class) public enum ReobfHelper { INSTANCE; public static final String MOJANG_PLUS_YARN_NAMESPACE = "mojang+yarn"; public static final String SPIGOT_NAMESPACE = "spigot"; - private final @Nullable Map mappingsByObfName; - private final @Nullable Map mappingsByMojangName; + private final Map mappingsByObfName; + private final Map mappingsByMojangName; ReobfHelper() { - final @Nullable Set maps = loadMappingsIfPresent(); + final Set maps = loadMappingsIfPresent(); if (maps != null) { this.mappingsByObfName = maps.stream().collect(Collectors.toUnmodifiableMap(ClassMapping::obfName, map -> map)); this.mappingsByMojangName = maps.stream().collect(Collectors.toUnmodifiableMap(ClassMapping::mojangName, map -> map)); @@ -46,11 +42,11 @@ public enum ReobfHelper { } } - public @Nullable Map mappingsByObfName() { + public Map mappingsByObfName() { return this.mappingsByObfName; } - public @Nullable Map mappingsByMojangName() { + public Map mappingsByMojangName() { return this.mappingsByMojangName; } @@ -96,8 +92,8 @@ public String deobfClassName(final String fullyQualifiedObfName) { return map.mojangName(); } - private static @Nullable Set loadMappingsIfPresent() { - try (final @Nullable InputStream mappingsInputStream = ObfHelper.class.getClassLoader().getResourceAsStream("META-INF/mappings/reobf.tiny")) { + private static Set loadMappingsIfPresent() { + try (final InputStream mappingsInputStream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/mappings/reobf.tiny")) { if (mappingsInputStream == null) { return null; } @@ -175,9 +171,7 @@ public static String getObfuscatedFieldName(Class clazz, String field) { public static Field getFieldByMojangName(Class clazz, String fieldName) { try { Field field = clazz.getField(getObfuscatedFieldName(clazz, fieldName)); - if (field != null) { - field.setAccessible(true); - } + field.setAccessible(true); return field; } catch (NoSuchFieldException | SecurityException e) { throw new RuntimeException(e); diff --git a/nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1/EntityUtilsImpl.java b/nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1/EntityUtilsImpl.java index 6eb9f30..51b796e 100644 --- a/nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1/EntityUtilsImpl.java +++ b/nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1/EntityUtilsImpl.java @@ -3,6 +3,7 @@ import com.destroystokyo.paper.entity.ai.VanillaGoal; import de.cubeside.nmsutils.EntityUtils; import de.cubeside.nmsutils.NMSUtils; +import de.cubeside.nmsutils.util.ReobfHelper; import java.lang.reflect.Field; import java.util.function.Function; import java.util.logging.Level;