Skip to content

Commit 4fc476a

Browse files
committed
Use right int 2 object map class for Paper
Addresses #1217
1 parent 583ed4b commit 4fc476a

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/main/java/com/comphenix/protocol/injector/EntityUtilities.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ private Object getNewEntityTracker(Object worldServer, int entityId) {
164164
FuzzyFieldContract.newBuilder()
165165
.banModifier(Modifier.STATIC)
166166
.requirePublic()
167-
.typeExact(org.bukkit.craftbukkit.libs.it.unimi.dsi.fastutil.ints.Int2ObjectMap.class)
167+
.typeExact(MinecraftReflection.getInt2ObjectMapClass())
168168
.build()
169169
)
170170
);

src/main/java/com/comphenix/protocol/utility/MinecraftReflection.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2248,4 +2248,18 @@ public static Class<?> getIRegistry() {
22482248
public static Class<?> getAttributeBase() {
22492249
return getMinecraftClass("world.entity.ai.attributes.AttributeBase", "AttributeBase");
22502250
}
2251+
2252+
public static Class<?> getInt2ObjectMapClass() {
2253+
try {
2254+
return getMinecraftLibraryClass("it.unimi.dsi.fastutil.ints.Int2ObjectMap");
2255+
} catch (RuntimeException ex) {
2256+
try {
2257+
Class<?> clazz = getMinecraftLibraryClass("org.bukkit.craftbukkit.libs.it.unimi.dsi.fastutil.ints.Int2ObjectMap");
2258+
setMinecraftLibraryClass("it.unimi.dsi.fastutil.ints.Int2ObjectMap", clazz);
2259+
return clazz;
2260+
} catch (RuntimeException ignored) {
2261+
throw ex;
2262+
}
2263+
}
2264+
}
22512265
}

0 commit comments

Comments
 (0)