Update WorldVersion/DataVersion reflect wrappers for new paper version
This commit is contained in:
		| @@ -14,7 +14,6 @@ import fr.pandacube.lib.paper.reflect.wrapper.dataconverter.MCDataConverter; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.dataconverter.MCDataType; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.dataconverter.MCTypeRegistry; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.DetectedVersion; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.GameVersion; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.SharedConstants; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.WorldVersion; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.commands.BlockPosArgument; | ||||
| @@ -58,6 +57,7 @@ import fr.pandacube.lib.paper.reflect.wrapper.minecraft.world.ChunkPos; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.world.ChunkStorage; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.world.DamageSource; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.world.DamageSources; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.world.DataVersion; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.world.Entity; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.world.ItemStack; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.world.Level; | ||||
| @@ -176,6 +176,7 @@ public class PandalibPaperReflect { | ||||
|         thAcc.catchThrowable(() -> initWrapper(ChunkStorage.class, ChunkStorage.MAPPING.runtimeClass())); | ||||
|         thAcc.catchThrowable(() -> initWrapper(DamageSource.class, DamageSource.MAPPING.runtimeClass())); | ||||
|         thAcc.catchThrowable(() -> initWrapper(DamageSources.class, DamageSources.MAPPING.runtimeClass())); | ||||
|         thAcc.catchThrowable(() -> initWrapper(DataVersion.class, DataVersion.MAPPING.runtimeClass())); | ||||
|         thAcc.catchThrowable(() -> initWrapper(Entity.class, Entity.MAPPING.runtimeClass())); | ||||
|         thAcc.catchThrowable(() -> initWrapper(ItemStack.class, ItemStack.MAPPING.runtimeClass())); | ||||
|         thAcc.catchThrowable(() -> initWrapper(Level.class, Level.MAPPING.runtimeClass())); | ||||
| @@ -186,7 +187,6 @@ public class PandalibPaperReflect { | ||||
|         thAcc.catchThrowable(() -> initWrapper(VoxelShape.class, VoxelShape.MAPPING.runtimeClass())); | ||||
|         // minecraft | ||||
|         thAcc.catchThrowable(() -> initWrapper(DetectedVersion.class, DetectedVersion.MAPPING.runtimeClass())); | ||||
|         thAcc.catchThrowable(() -> initWrapper(GameVersion.class, GameVersion.REFLECT.get())); | ||||
|         thAcc.catchThrowable(() -> initWrapper(SharedConstants.class, SharedConstants.MAPPING.runtimeClass())); | ||||
|         thAcc.catchThrowable(() -> initWrapper(WorldVersion.class, WorldVersion.MAPPING.runtimeClass())); | ||||
|  | ||||
|   | ||||
| @@ -1,28 +0,0 @@ | ||||
| package fr.pandacube.lib.paper.reflect.wrapper.minecraft; | ||||
|  | ||||
| import fr.pandacube.lib.reflect.Reflect; | ||||
| import fr.pandacube.lib.reflect.ReflectClass; | ||||
| import fr.pandacube.lib.reflect.ReflectMethod; | ||||
| import fr.pandacube.lib.reflect.wrapper.ConcreteWrapper; | ||||
| import fr.pandacube.lib.reflect.wrapper.ReflectWrapper; | ||||
| import fr.pandacube.lib.reflect.wrapper.ReflectWrapperI; | ||||
|  | ||||
| import static fr.pandacube.lib.util.ThrowableUtil.wrapEx; | ||||
| import static fr.pandacube.lib.util.ThrowableUtil.wrapReflectEx; | ||||
|  | ||||
| @ConcreteWrapper(GameVersion.__concrete.class) | ||||
| public interface GameVersion extends ReflectWrapperI { | ||||
|     ReflectClass<?> REFLECT = wrapEx(() -> Reflect.ofClass("com.mojang.bridge.game.GameVersion")); | ||||
|     ReflectMethod<?> getWorldVersion = wrapEx(() -> REFLECT.method("getWorldVersion")); | ||||
|  | ||||
|     default int getWorldVersion() { | ||||
|         return (int) wrapReflectEx(() -> getWorldVersion.invoke(__getRuntimeInstance())); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     class __concrete extends ReflectWrapper implements GameVersion { | ||||
|         private __concrete(Object obj) { | ||||
|             super(obj); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -1,8 +1,8 @@ | ||||
| package fr.pandacube.lib.paper.reflect.wrapper.minecraft; | ||||
|  | ||||
| import fr.pandacube.lib.paper.reflect.NMSReflect; | ||||
| import fr.pandacube.lib.reflect.wrapper.ReflectWrapper; | ||||
| import fr.pandacube.lib.reflect.ReflectMethod; | ||||
| import fr.pandacube.lib.reflect.wrapper.ReflectWrapper; | ||||
|  | ||||
| import static fr.pandacube.lib.util.ThrowableUtil.wrapEx; | ||||
| import static fr.pandacube.lib.util.ThrowableUtil.wrapReflectEx; | ||||
|   | ||||
| @@ -2,15 +2,24 @@ package fr.pandacube.lib.paper.reflect.wrapper.minecraft; | ||||
|  | ||||
| import fr.pandacube.lib.paper.reflect.NMSReflect; | ||||
| import fr.pandacube.lib.paper.reflect.NMSReflect.ClassMapping; | ||||
| import fr.pandacube.lib.paper.reflect.wrapper.minecraft.world.DataVersion; | ||||
| import fr.pandacube.lib.reflect.ReflectMethod; | ||||
| import fr.pandacube.lib.reflect.wrapper.ConcreteWrapper; | ||||
| import fr.pandacube.lib.reflect.wrapper.ReflectWrapper; | ||||
| import fr.pandacube.lib.reflect.wrapper.ReflectWrapperI; | ||||
|  | ||||
| import static fr.pandacube.lib.reflect.wrapper.ReflectWrapper.wrap; | ||||
| import static fr.pandacube.lib.util.ThrowableUtil.wrapEx; | ||||
| import static fr.pandacube.lib.util.ThrowableUtil.wrapReflectEx; | ||||
|  | ||||
| @ConcreteWrapper(WorldVersion.__concrete.class) | ||||
| public interface WorldVersion extends GameVersion { | ||||
| public interface WorldVersion extends ReflectWrapperI { | ||||
|     ClassMapping MAPPING = wrapEx(() -> NMSReflect.mojClass("net.minecraft.WorldVersion")); | ||||
|     ReflectMethod<?> getDataVersion = wrapEx(() -> MAPPING.mojMethod("getDataVersion")); | ||||
|  | ||||
|     default DataVersion getDataVersion() { | ||||
|         return wrap(wrapReflectEx(() -> getDataVersion.invoke(__getRuntimeInstance())), DataVersion.class); | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -0,0 +1,31 @@ | ||||
| package fr.pandacube.lib.paper.reflect.wrapper.minecraft.world; | ||||
|  | ||||
| import fr.pandacube.lib.paper.reflect.NMSReflect; | ||||
| import fr.pandacube.lib.reflect.ReflectMethod; | ||||
| import fr.pandacube.lib.reflect.wrapper.ReflectWrapper; | ||||
|  | ||||
| import static fr.pandacube.lib.util.ThrowableUtil.wrapEx; | ||||
| import static fr.pandacube.lib.util.ThrowableUtil.wrapReflectEx; | ||||
|  | ||||
| public class DataVersion extends ReflectWrapper { | ||||
|     public static final NMSReflect.ClassMapping MAPPING = wrapEx(() -> NMSReflect.mojClass("net.minecraft.world.level.storage.DataVersion")); | ||||
|     private static final ReflectMethod<?> getVersion = wrapEx(() -> MAPPING.mojMethod("getVersion")); | ||||
|     private static final ReflectMethod<?> getSeries = wrapEx(() -> MAPPING.mojMethod("getSeries")); | ||||
|  | ||||
|  | ||||
|  | ||||
|     public int getVersion() { | ||||
|         return (int) wrapReflectEx(() -> getVersion.invoke(__getRuntimeInstance())); | ||||
|     } | ||||
|  | ||||
|     public String getSeries() { | ||||
|         return (String) wrapReflectEx(() -> getSeries.invoke(__getRuntimeInstance())); | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|     protected DataVersion(Object obj) { | ||||
|         super(obj); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user