Switched to NMSLoader

This commit is contained in:
OmerBenGera 2024-04-28 19:36:18 +03:00
parent 27536f33da
commit db1e929296
13 changed files with 35 additions and 55 deletions

View File

@ -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);

View File

@ -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) {

View File

@ -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) {

View File

@ -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) {

View File

@ -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) {

View File

@ -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) {

View File

@ -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) {

View File

@ -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) {

View File

@ -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) {

View File

@ -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) {

View File

@ -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) {

View File

@ -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"

View File

@ -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() {