Switched to NMSLoader
This commit is contained in:
parent
27536f33da
commit
db1e929296
|
@ -3,6 +3,7 @@ package com.bgsoftware.wildloaders.nms.v1_12_R1;
|
|||
import com.bgsoftware.common.reflection.ReflectMethod;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.nms.NMSAdapter;
|
||||
import com.bgsoftware.wildloaders.nms.v1_12_R1.loader.TileEntityChunkLoader;
|
||||
import net.minecraft.server.v1_12_R1.Block;
|
||||
import net.minecraft.server.v1_12_R1.BlockPosition;
|
||||
|
@ -23,7 +24,7 @@ import org.bukkit.craftbukkit.v1_12_R1.util.LongHash;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
public final class NMSAdapter implements com.bgsoftware.wildloaders.nms.NMSAdapter {
|
||||
public final class NMSAdapterImpl implements NMSAdapter {
|
||||
|
||||
private static final ReflectMethod<Void> TILE_ENTITY_LOAD = new ReflectMethod<>(TileEntity.class, "load", NBTTagCompound.class);
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.bgsoftware.wildloaders.nms.v1_16_R3;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.nms.NMSAdapter;
|
||||
import com.bgsoftware.wildloaders.nms.v1_16_R3.loader.TileEntityChunkLoader;
|
||||
import net.minecraft.server.v1_16_R3.Block;
|
||||
import net.minecraft.server.v1_16_R3.BlockPosition;
|
||||
|
@ -24,7 +24,7 @@ import org.bukkit.craftbukkit.v1_16_R3.inventory.CraftItemStack;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
public final class NMSAdapter implements com.bgsoftware.wildloaders.nms.NMSAdapter {
|
||||
public final class NMSAdapterImpl implements NMSAdapter {
|
||||
|
||||
@Override
|
||||
public String getTag(org.bukkit.inventory.ItemStack itemStack, String key, String def) {
|
|
@ -2,6 +2,7 @@ package com.bgsoftware.wildloaders.nms.v1_17;
|
|||
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.nms.NMSAdapter;
|
||||
import com.bgsoftware.wildloaders.nms.v1_17.loader.ChunkLoaderBlockEntity;
|
||||
import com.bgsoftware.wildloaders.nms.v1_17.npc.ChunkLoaderNPCWrapper;
|
||||
import net.minecraft.core.BlockPos;
|
||||
|
@ -24,7 +25,7 @@ import org.bukkit.craftbukkit.v1_17_R1.inventory.CraftItemStack;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
public final class NMSAdapter implements com.bgsoftware.wildloaders.nms.NMSAdapter {
|
||||
public final class NMSAdapterImpl implements NMSAdapter {
|
||||
|
||||
@Override
|
||||
public String getTag(org.bukkit.inventory.ItemStack bukkitItem, String key, String def) {
|
|
@ -2,6 +2,7 @@ package com.bgsoftware.wildloaders.nms.v1_18;
|
|||
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.nms.NMSAdapter;
|
||||
import com.bgsoftware.wildloaders.nms.v1_18.loader.ChunkLoaderBlockEntity;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
|
@ -23,7 +24,7 @@ import org.bukkit.craftbukkit.v1_18_R2.inventory.CraftItemStack;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
public final class NMSAdapter implements com.bgsoftware.wildloaders.nms.NMSAdapter {
|
||||
public final class NMSAdapterImpl implements NMSAdapter {
|
||||
|
||||
@Override
|
||||
public String getTag(org.bukkit.inventory.ItemStack bukkitItem, String key, String def) {
|
|
@ -2,6 +2,7 @@ package com.bgsoftware.wildloaders.nms.v1_19;
|
|||
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.nms.NMSAdapter;
|
||||
import com.bgsoftware.wildloaders.nms.v1_19.loader.ChunkLoaderBlockEntity;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
|
@ -22,7 +23,7 @@ import org.bukkit.craftbukkit.v1_19_R3.inventory.CraftItemStack;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
public final class NMSAdapter implements com.bgsoftware.wildloaders.nms.NMSAdapter {
|
||||
public final class NMSAdapterImpl implements NMSAdapter {
|
||||
|
||||
@Override
|
||||
public String getTag(org.bukkit.inventory.ItemStack bukkitItem, String key, String def) {
|
|
@ -2,6 +2,7 @@ package com.bgsoftware.wildloaders.nms.v1_20_1;
|
|||
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.nms.NMSAdapter;
|
||||
import com.bgsoftware.wildloaders.nms.v1_20_1.loader.ChunkLoaderBlockEntity;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
|
@ -22,7 +23,7 @@ import org.bukkit.craftbukkit.v1_20_R1.inventory.CraftItemStack;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
public final class NMSAdapter implements com.bgsoftware.wildloaders.nms.NMSAdapter {
|
||||
public final class NMSAdapterImpl implements NMSAdapter {
|
||||
|
||||
@Override
|
||||
public String getTag(org.bukkit.inventory.ItemStack bukkitItem, String key, String def) {
|
|
@ -2,6 +2,7 @@ package com.bgsoftware.wildloaders.nms.v1_20_2;
|
|||
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.nms.NMSAdapter;
|
||||
import com.bgsoftware.wildloaders.nms.v1_20_2.loader.ChunkLoaderBlockEntity;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
|
@ -22,7 +23,7 @@ import org.bukkit.craftbukkit.v1_20_R2.inventory.CraftItemStack;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
public final class NMSAdapter implements com.bgsoftware.wildloaders.nms.NMSAdapter {
|
||||
public final class NMSAdapterImpl implements NMSAdapter {
|
||||
|
||||
@Override
|
||||
public String getTag(org.bukkit.inventory.ItemStack bukkitItem, String key, String def) {
|
|
@ -2,6 +2,7 @@ package com.bgsoftware.wildloaders.nms.v1_20_3;
|
|||
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.nms.NMSAdapter;
|
||||
import com.bgsoftware.wildloaders.nms.v1_20_3.loader.ChunkLoaderBlockEntity;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
|
@ -22,7 +23,7 @@ import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
public final class NMSAdapter implements com.bgsoftware.wildloaders.nms.NMSAdapter {
|
||||
public final class NMSAdapterImpl implements NMSAdapter {
|
||||
|
||||
@Override
|
||||
public String getTag(org.bukkit.inventory.ItemStack bukkitItem, String key, String def) {
|
|
@ -2,6 +2,7 @@ package com.bgsoftware.wildloaders.nms.v1_20_4;
|
|||
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.nms.NMSAdapter;
|
||||
import com.bgsoftware.wildloaders.nms.v1_20_4.loader.ChunkLoaderBlockEntity;
|
||||
import com.mojang.authlib.properties.Property;
|
||||
import com.mojang.authlib.properties.PropertyMap;
|
||||
|
@ -27,7 +28,7 @@ import org.bukkit.craftbukkit.inventory.CraftItemStack;
|
|||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
public final class NMSAdapter implements com.bgsoftware.wildloaders.nms.NMSAdapter {
|
||||
public final class NMSAdapterImpl implements NMSAdapter {
|
||||
|
||||
@Override
|
||||
public String getTag(org.bukkit.inventory.ItemStack bukkitItem, String key, String def) {
|
|
@ -2,6 +2,7 @@ package com.bgsoftware.wildloaders.nms.v1_7_R4;
|
|||
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.nms.NMSAdapter;
|
||||
import com.bgsoftware.wildloaders.nms.v1_7_R4.loader.TileEntityChunkLoader;
|
||||
import net.minecraft.server.v1_7_R4.Block;
|
||||
import net.minecraft.server.v1_7_R4.Chunk;
|
||||
|
@ -21,7 +22,7 @@ import org.bukkit.craftbukkit.v1_7_R4.util.LongHash;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
public final class NMSAdapter implements com.bgsoftware.wildloaders.nms.NMSAdapter {
|
||||
public final class NMSAdapterImpl implements NMSAdapter {
|
||||
|
||||
@Override
|
||||
public String getTag(org.bukkit.inventory.ItemStack itemStack, String key, String def) {
|
|
@ -2,6 +2,7 @@ package com.bgsoftware.wildloaders.nms.v1_8_R3;
|
|||
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.nms.NMSAdapter;
|
||||
import com.bgsoftware.wildloaders.nms.v1_8_R3.loader.TileEntityChunkLoader;
|
||||
import net.minecraft.server.v1_8_R3.Block;
|
||||
import net.minecraft.server.v1_8_R3.BlockPosition;
|
||||
|
@ -21,7 +22,7 @@ import org.bukkit.craftbukkit.v1_8_R3.util.LongHash;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
public final class NMSAdapter implements com.bgsoftware.wildloaders.nms.NMSAdapter {
|
||||
public final class NMSAdapterImpl implements NMSAdapter {
|
||||
|
||||
@Override
|
||||
public String getTag(org.bukkit.inventory.ItemStack itemStack, String key, String def) {
|
|
@ -64,6 +64,7 @@ dependencies {
|
|||
implementation 'com.bgsoftware.common.reflection:ReflectionUtils:b2'
|
||||
implementation 'com.bgsoftware.common.config:CommentedConfiguration:1.0.3'
|
||||
implementation 'com.bgsoftware.common.dependencies:DependenciesManager:b2'
|
||||
implementation 'com.bgsoftware.common.nmsloader:NMSLoader:b3'
|
||||
|
||||
// Spigot jars
|
||||
compileOnly "org.spigotmc:v1_8_R3:latest"
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
package com.bgsoftware.wildloaders;
|
||||
|
||||
import com.bgsoftware.common.dependencies.DependenciesManager;
|
||||
import com.bgsoftware.common.nmsloader.INMSLoader;
|
||||
import com.bgsoftware.common.nmsloader.NMSHandlersFactory;
|
||||
import com.bgsoftware.common.nmsloader.NMSLoadException;
|
||||
import com.bgsoftware.common.reflection.ReflectMethod;
|
||||
import com.bgsoftware.wildloaders.api.WildLoaders;
|
||||
import com.bgsoftware.wildloaders.api.WildLoadersAPI;
|
||||
|
@ -100,52 +103,18 @@ public final class WildLoadersPlugin extends JavaPlugin implements WildLoaders {
|
|||
}
|
||||
|
||||
private boolean loadNMSAdapter() {
|
||||
String version = null;
|
||||
try {
|
||||
INMSLoader nmsLoader = NMSHandlersFactory.createNMSLoader(this);
|
||||
this.nmsAdapter = nmsLoader.loadNMSHandler(NMSAdapter.class);
|
||||
|
||||
if (ServerVersion.isLessThan(ServerVersion.v1_17)) {
|
||||
version = getServer().getClass().getPackage().getName().split("\\.")[3];
|
||||
} else {
|
||||
ReflectMethod<Integer> getDataVersion = new ReflectMethod<>(UnsafeValues.class, "getDataVersion");
|
||||
int dataVersion = getDataVersion.invoke(Bukkit.getUnsafe());
|
||||
return true;
|
||||
} catch (NMSLoadException error) {
|
||||
log("&cThe plugin doesn't support your minecraft version.");
|
||||
log("&cPlease try a different version.");
|
||||
error.printStackTrace();
|
||||
|
||||
List<Pair<Integer, String>> versions = Arrays.asList(
|
||||
new Pair<>(2729, null),
|
||||
new Pair<>(2730, "v1_17"),
|
||||
new Pair<>(2974, null),
|
||||
new Pair<>(2975, "v1_18"),
|
||||
new Pair<>(3336, null),
|
||||
new Pair<>(3337, "v1_19"),
|
||||
new Pair<>(3465, "v1_20_1"),
|
||||
new Pair<>(3578, "v1_20_2"),
|
||||
new Pair<>(3700, "v1_20_3"),
|
||||
new Pair<>(3837, "v1_20_4")
|
||||
);
|
||||
|
||||
for (Pair<Integer, String> versionData : versions) {
|
||||
if (dataVersion <= versionData.first) {
|
||||
version = versionData.second;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (version == null) {
|
||||
log("Data version: " + dataVersion);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (version != null) {
|
||||
try {
|
||||
nmsAdapter = (NMSAdapter) Class.forName(String.format("com.bgsoftware.wildloaders.nms.%s.NMSAdapter", version)).newInstance();
|
||||
return true;
|
||||
} catch (Exception error) {
|
||||
error.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
log("&cThe plugin doesn't support your minecraft version.");
|
||||
log("&cPlease try a different version.");
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private void loadAPI() {
|
||||
|
|
Loading…
Reference in New Issue