Delete src/main/java/pers/xanadu/enderdragon/nms directory
This commit is contained in:
@@ -1,11 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.BossBar;
|
|
||||||
|
|
||||||
import org.bukkit.World;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface I_BossBarManager {
|
|
||||||
void saveBossBarData(List<World> worlds);
|
|
||||||
void loadBossBarData(List<World> worlds);
|
|
||||||
void setBossBar(World world,String title,String color,String style);
|
|
||||||
}
|
|
||||||
@@ -1,105 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.BossBar.v1_12_R1;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_12_R1.BossBattle;
|
|
||||||
import net.minecraft.server.v1_12_R1.BossBattleServer;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.configuration.InvalidConfigurationException;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.bukkit.craftbukkit.v1_12_R1.util.CraftChatMessage;
|
|
||||||
import pers.xanadu.enderdragon.config.Lang;
|
|
||||||
import pers.xanadu.enderdragon.nms.BossBar.I_BossBarManager;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static pers.xanadu.enderdragon.EnderDragon.getInstance;
|
|
||||||
import static pers.xanadu.enderdragon.EnderDragon.plugin;
|
|
||||||
|
|
||||||
public class BossBarManager implements I_BossBarManager {
|
|
||||||
private Field BossBattleServer = null;
|
|
||||||
public void saveBossBarData(List<World> worlds){
|
|
||||||
File file = new File(plugin.getDataFolder(),"world_data.yml");
|
|
||||||
YamlConfiguration yml = new YamlConfiguration();
|
|
||||||
worlds.forEach(world -> {
|
|
||||||
try{
|
|
||||||
Object edb = getInstance().getNMSManager().getEnderDragonBattle(world);
|
|
||||||
if(BossBattleServer == null) BossBattleServer = edb.getClass().getDeclaredField("c");
|
|
||||||
BossBattleServer.setAccessible(true);
|
|
||||||
BossBattleServer bbs = (BossBattleServer) BossBattleServer.get(edb);
|
|
||||||
String path = world.getName()+".";
|
|
||||||
yml.set(path+"title",bbs.title.getText());
|
|
||||||
yml.set(path+"color",bbs.color.name());
|
|
||||||
yml.set(path+"style",bbs.style.name());
|
|
||||||
}catch (ReflectiveOperationException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
try{
|
|
||||||
yml.save(file);
|
|
||||||
Lang.info("BossBar data has been saved!");
|
|
||||||
}catch (IOException e){
|
|
||||||
Lang.error("Failed to save world_data!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void loadBossBarData(List<World> worlds){
|
|
||||||
File file = new File(plugin.getDataFolder(),"world_data.yml");
|
|
||||||
if(!file.exists()) return;
|
|
||||||
Lang.info("Enabling BossBar fix...");
|
|
||||||
YamlConfiguration yml = new YamlConfiguration();
|
|
||||||
try{
|
|
||||||
yml.load(file);
|
|
||||||
}catch (InvalidConfigurationException | IOException e) {
|
|
||||||
Lang.error("Failed to load world_data!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
worlds.forEach(world -> {
|
|
||||||
try{
|
|
||||||
Object edb = getInstance().getNMSManager().getEnderDragonBattle(world);
|
|
||||||
if(BossBattleServer == null) BossBattleServer = edb.getClass().getDeclaredField("c");
|
|
||||||
BossBattleServer.setAccessible(true);
|
|
||||||
BossBattleServer bbs = (BossBattleServer) BossBattleServer.get(edb);
|
|
||||||
String path = world.getName()+".";
|
|
||||||
bbs.title = CraftChatMessage.fromString(yml.getString(path+"title"), true)[0];
|
|
||||||
bbs.color = BossBattle.BarColor.valueOf(yml.getString(path+"color"));
|
|
||||||
bbs.style = BossBattle.BarStyle.valueOf(yml.getString(path+"style"));
|
|
||||||
}catch (ReflectiveOperationException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
public void setBossBar(World world,String title,String color,String style){
|
|
||||||
BossBattleServer bbs = new BossBattleServer(
|
|
||||||
CraftChatMessage.fromString(title, true)[0],
|
|
||||||
convertColor(color),
|
|
||||||
convertStyle(style)
|
|
||||||
);
|
|
||||||
bbs.setCreateFog(true);
|
|
||||||
bbs.setDarkenSky(true);
|
|
||||||
bbs.setPlayMusic(true);
|
|
||||||
try{
|
|
||||||
Object edb = getInstance().getNMSManager().getEnderDragonBattle(world);
|
|
||||||
if(BossBattleServer == null) BossBattleServer = edb.getClass().getDeclaredField("c");
|
|
||||||
BossBattleServer.setAccessible(true);
|
|
||||||
BossBattleServer.set(edb,bbs);
|
|
||||||
}catch (ReflectiveOperationException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private BossBattle.BarColor convertColor(String color) {
|
|
||||||
return BossBattle.BarColor.valueOf(color);
|
|
||||||
}
|
|
||||||
private BossBattle.BarStyle convertStyle(String style) {
|
|
||||||
switch (style) {
|
|
||||||
case "SOLID":
|
|
||||||
default: return net.minecraft.server.v1_12_R1.BossBattle.BarStyle.PROGRESS;
|
|
||||||
case "SEGMENTED_6": return net.minecraft.server.v1_12_R1.BossBattle.BarStyle.NOTCHED_6;
|
|
||||||
case "SEGMENTED_10": return net.minecraft.server.v1_12_R1.BossBattle.BarStyle.NOTCHED_10;
|
|
||||||
case "SEGMENTED_12": return net.minecraft.server.v1_12_R1.BossBattle.BarStyle.NOTCHED_12;
|
|
||||||
case "SEGMENTED_20": return net.minecraft.server.v1_12_R1.BossBattle.BarStyle.NOTCHED_20;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.BossBar.v1_13_R1;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_13_R1.BossBattle;
|
|
||||||
import net.minecraft.server.v1_13_R1.BossBattleServer;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.configuration.InvalidConfigurationException;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.bukkit.craftbukkit.v1_13_R1.util.CraftChatMessage;
|
|
||||||
import pers.xanadu.enderdragon.config.Lang;
|
|
||||||
import pers.xanadu.enderdragon.nms.BossBar.I_BossBarManager;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static pers.xanadu.enderdragon.EnderDragon.getInstance;
|
|
||||||
import static pers.xanadu.enderdragon.EnderDragon.plugin;
|
|
||||||
|
|
||||||
public class BossBarManager implements I_BossBarManager {
|
|
||||||
private Field BossBattleServer = null;
|
|
||||||
public void saveBossBarData(List<World> worlds){
|
|
||||||
File file = new File(plugin.getDataFolder(),"world_data.yml");
|
|
||||||
YamlConfiguration yml = new YamlConfiguration();
|
|
||||||
worlds.forEach(world -> {
|
|
||||||
try{
|
|
||||||
Object edb = getInstance().getNMSManager().getEnderDragonBattle(world);
|
|
||||||
if(BossBattleServer == null) BossBattleServer = edb.getClass().getDeclaredField("c");
|
|
||||||
BossBattleServer.setAccessible(true);
|
|
||||||
BossBattleServer bbs = (BossBattleServer) BossBattleServer.get(edb);
|
|
||||||
String path = world.getName()+".";
|
|
||||||
yml.set(path+"title",bbs.title.getText());
|
|
||||||
yml.set(path+"color",bbs.color.name());
|
|
||||||
yml.set(path+"style",bbs.style.name());
|
|
||||||
}catch (ReflectiveOperationException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
try{
|
|
||||||
yml.save(file);
|
|
||||||
Lang.info("BossBar data has been saved!");
|
|
||||||
}catch (IOException e){
|
|
||||||
Lang.error("Failed to save world_data!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void loadBossBarData(List<World> worlds){
|
|
||||||
File file = new File(plugin.getDataFolder(),"world_data.yml");
|
|
||||||
if(!file.exists()) return;
|
|
||||||
Lang.info("Enabling BossBar fix...");
|
|
||||||
YamlConfiguration yml = new YamlConfiguration();
|
|
||||||
try{
|
|
||||||
yml.load(file);
|
|
||||||
}catch (InvalidConfigurationException | IOException e) {
|
|
||||||
Lang.error("Failed to load world_data!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
worlds.forEach(world -> {
|
|
||||||
try{
|
|
||||||
Object edb = getInstance().getNMSManager().getEnderDragonBattle(world);
|
|
||||||
if(BossBattleServer == null) BossBattleServer = edb.getClass().getDeclaredField("c");
|
|
||||||
BossBattleServer.setAccessible(true);
|
|
||||||
BossBattleServer bbs = (BossBattleServer) BossBattleServer.get(edb);
|
|
||||||
String path = world.getName()+".";
|
|
||||||
bbs.title = CraftChatMessage.fromString(yml.getString(path+"title"), true)[0];
|
|
||||||
bbs.color = BossBattle.BarColor.valueOf(yml.getString(path+"color"));
|
|
||||||
bbs.style = BossBattle.BarStyle.valueOf(yml.getString(path+"style"));
|
|
||||||
}catch (ReflectiveOperationException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
public void setBossBar(World world,String title,String color,String style){
|
|
||||||
BossBattleServer bbs = new BossBattleServer(
|
|
||||||
CraftChatMessage.fromString(title, true)[0],
|
|
||||||
convertColor(color),
|
|
||||||
convertStyle(style)
|
|
||||||
);
|
|
||||||
bbs.setCreateFog(true);
|
|
||||||
bbs.setDarkenSky(true);
|
|
||||||
bbs.setPlayMusic(true);
|
|
||||||
try{
|
|
||||||
Object edb = getInstance().getNMSManager().getEnderDragonBattle(world);
|
|
||||||
if(BossBattleServer == null) BossBattleServer = edb.getClass().getDeclaredField("c");
|
|
||||||
BossBattleServer.setAccessible(true);
|
|
||||||
BossBattleServer.set(edb,bbs);
|
|
||||||
}catch (ReflectiveOperationException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private BossBattle.BarColor convertColor(String color) {
|
|
||||||
return BossBattle.BarColor.valueOf(color);
|
|
||||||
}
|
|
||||||
private BossBattle.BarStyle convertStyle(String style) {
|
|
||||||
switch (style) {
|
|
||||||
case "SOLID":
|
|
||||||
default: return net.minecraft.server.v1_13_R1.BossBattle.BarStyle.PROGRESS;
|
|
||||||
case "SEGMENTED_6": return net.minecraft.server.v1_13_R1.BossBattle.BarStyle.NOTCHED_6;
|
|
||||||
case "SEGMENTED_10": return net.minecraft.server.v1_13_R1.BossBattle.BarStyle.NOTCHED_10;
|
|
||||||
case "SEGMENTED_12": return net.minecraft.server.v1_13_R1.BossBattle.BarStyle.NOTCHED_12;
|
|
||||||
case "SEGMENTED_20": return net.minecraft.server.v1_13_R1.BossBattle.BarStyle.NOTCHED_20;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.BossBar.v1_13_R2;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_13_R2.BossBattle;
|
|
||||||
import net.minecraft.server.v1_13_R2.BossBattleServer;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.configuration.InvalidConfigurationException;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.bukkit.craftbukkit.v1_13_R2.util.CraftChatMessage;
|
|
||||||
import pers.xanadu.enderdragon.config.Lang;
|
|
||||||
import pers.xanadu.enderdragon.nms.BossBar.I_BossBarManager;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static pers.xanadu.enderdragon.EnderDragon.getInstance;
|
|
||||||
import static pers.xanadu.enderdragon.EnderDragon.plugin;
|
|
||||||
|
|
||||||
public class BossBarManager implements I_BossBarManager {
|
|
||||||
private Field BossBattleServer = null;
|
|
||||||
public void saveBossBarData(List<World> worlds){
|
|
||||||
File file = new File(plugin.getDataFolder(),"world_data.yml");
|
|
||||||
YamlConfiguration yml = new YamlConfiguration();
|
|
||||||
worlds.forEach(world -> {
|
|
||||||
try{
|
|
||||||
Object edb = getInstance().getNMSManager().getEnderDragonBattle(world);
|
|
||||||
if(BossBattleServer == null) BossBattleServer = edb.getClass().getDeclaredField("bossBattle");
|
|
||||||
BossBattleServer.setAccessible(true);
|
|
||||||
BossBattleServer bbs = (BossBattleServer) BossBattleServer.get(edb);
|
|
||||||
String path = world.getName()+".";
|
|
||||||
yml.set(path+"title",bbs.title.getText());
|
|
||||||
yml.set(path+"color",bbs.color.name());
|
|
||||||
yml.set(path+"style",bbs.style.name());
|
|
||||||
}catch (ReflectiveOperationException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
try{
|
|
||||||
yml.save(file);
|
|
||||||
Lang.info("BossBar data has been saved!");
|
|
||||||
}catch (IOException e){
|
|
||||||
Lang.error("Failed to save world_data!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void loadBossBarData(List<World> worlds){
|
|
||||||
File file = new File(plugin.getDataFolder(),"world_data.yml");
|
|
||||||
if(!file.exists()) return;
|
|
||||||
Lang.info("Enabling BossBar fix...");
|
|
||||||
YamlConfiguration yml = new YamlConfiguration();
|
|
||||||
try{
|
|
||||||
yml.load(file);
|
|
||||||
}catch (InvalidConfigurationException | IOException e) {
|
|
||||||
Lang.error("Failed to load world_data!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
worlds.forEach(world -> {
|
|
||||||
try{
|
|
||||||
Object edb = getInstance().getNMSManager().getEnderDragonBattle(world);
|
|
||||||
if(BossBattleServer == null) BossBattleServer = edb.getClass().getDeclaredField("bossBattle");
|
|
||||||
BossBattleServer.setAccessible(true);
|
|
||||||
BossBattleServer bbs = (BossBattleServer) BossBattleServer.get(edb);
|
|
||||||
String path = world.getName()+".";
|
|
||||||
bbs.title = CraftChatMessage.fromString(yml.getString(path+"title"), true)[0];
|
|
||||||
bbs.color = BossBattle.BarColor.valueOf(yml.getString(path+"color"));
|
|
||||||
bbs.style = BossBattle.BarStyle.valueOf(yml.getString(path+"style"));
|
|
||||||
}catch (ReflectiveOperationException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
public void setBossBar(World world,String title,String color,String style){
|
|
||||||
BossBattleServer bbs = new BossBattleServer(
|
|
||||||
CraftChatMessage.fromString(title, true)[0],
|
|
||||||
convertColor(color),
|
|
||||||
convertStyle(style)
|
|
||||||
);
|
|
||||||
bbs.setCreateFog(true);
|
|
||||||
bbs.setDarkenSky(true);
|
|
||||||
bbs.setPlayMusic(true);
|
|
||||||
try{
|
|
||||||
Object edb = getInstance().getNMSManager().getEnderDragonBattle(world);
|
|
||||||
if(BossBattleServer == null) BossBattleServer = edb.getClass().getField("bossBattle");
|
|
||||||
BossBattleServer.setAccessible(true);
|
|
||||||
BossBattleServer.set(edb,bbs);
|
|
||||||
}catch (ReflectiveOperationException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private BossBattle.BarColor convertColor(String color) {
|
|
||||||
return BossBattle.BarColor.valueOf(color);
|
|
||||||
}
|
|
||||||
private BossBattle.BarStyle convertStyle(String style) {
|
|
||||||
switch (style) {
|
|
||||||
case "SOLID":
|
|
||||||
default: return net.minecraft.server.v1_13_R2.BossBattle.BarStyle.PROGRESS;
|
|
||||||
case "SEGMENTED_6": return net.minecraft.server.v1_13_R2.BossBattle.BarStyle.NOTCHED_6;
|
|
||||||
case "SEGMENTED_10": return net.minecraft.server.v1_13_R2.BossBattle.BarStyle.NOTCHED_10;
|
|
||||||
case "SEGMENTED_12": return net.minecraft.server.v1_13_R2.BossBattle.BarStyle.NOTCHED_12;
|
|
||||||
case "SEGMENTED_20": return net.minecraft.server.v1_13_R2.BossBattle.BarStyle.NOTCHED_20;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.NMSItem;
|
|
||||||
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
|
|
||||||
public interface I_NMSItemManager {
|
|
||||||
ItemStack readAsItem(String nbt);
|
|
||||||
ItemStack cpdToItem(Object cpd);
|
|
||||||
Object parseNBT(Object nbt_base);
|
|
||||||
Object readAsNBTBase(String raw);
|
|
||||||
Object getNBTBase(Object obj);
|
|
||||||
}
|
|
||||||
-146
@@ -1,146 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.NMSItem.v1_12_R1;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_12_R1.*;
|
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
public class CraftNBTTagConfigSerializer {
|
|
||||||
private static final Pattern ARRAY = Pattern.compile("^\\[.*]");
|
|
||||||
private static final Pattern INTEGER = Pattern.compile("[-+]?(?:0|[1-9][0-9]*)?i", 2);
|
|
||||||
private static final Pattern DOUBLE = Pattern.compile("[-+]?(?:[0-9]+[.]?|[0-9]*[.][0-9]+)(?:e[-+]?[0-9]+)?d", 2);
|
|
||||||
private static final Pattern byte_format = Pattern.compile("[-+]?(?:0|[1-9][0-9]*)b", 2);
|
|
||||||
private static final Pattern short_format = Pattern.compile("[-+]?(?:0|[1-9][0-9]*)s", 2);
|
|
||||||
private static final Pattern integer_format = Pattern.compile("[-+]?(?:0|[1-9][0-9]*)");
|
|
||||||
private static final Pattern long_format = Pattern.compile("[-+]?(?:0|[1-9][0-9]*)l", 2);
|
|
||||||
private static final Pattern float_format = Pattern.compile("[-+]?(?:[0-9]+[.]?|[0-9]*[.][0-9]+)(?:e[-+]?[0-9]+)?f", 2);
|
|
||||||
private static final Pattern double_format = Pattern.compile("[-+]?(?:[0-9]+[.]?|[0-9]*[.][0-9]+)(?:e[-+]?[0-9]+)?d", 2);
|
|
||||||
private static final Pattern double_format2 = Pattern.compile("[-+]?(?:[0-9]+[.]|[0-9]*[.][0-9]+)(?:e[-+]?[0-9]+)?", 2);
|
|
||||||
|
|
||||||
|
|
||||||
public CraftNBTTagConfigSerializer() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Object serialize(NBTBase base) {
|
|
||||||
if (base instanceof NBTTagCompound) {
|
|
||||||
Map<String, Object> innerMap = new HashMap();
|
|
||||||
|
|
||||||
for (String key : ((NBTTagCompound) base).c()) {
|
|
||||||
innerMap.put(key, serialize(((NBTTagCompound) base).get(key)));
|
|
||||||
}
|
|
||||||
|
|
||||||
return innerMap;
|
|
||||||
}
|
|
||||||
if (base instanceof NBTTagString) {
|
|
||||||
return ((NBTTagString) base).c_();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return base instanceof NBTTagInt ? base + "i" : base.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static NBTBase deserialize(Object object) {
|
|
||||||
if (object instanceof Map) {
|
|
||||||
NBTTagCompound compound = new NBTTagCompound();
|
|
||||||
for (Object obj : ((Map) object).entrySet()) {
|
|
||||||
Map.Entry<String, Object> entry = (Map.Entry) obj;
|
|
||||||
compound.set(entry.getKey(), deserialize(entry.getValue()));
|
|
||||||
}
|
|
||||||
return compound;
|
|
||||||
} else if (!(object instanceof List)) {
|
|
||||||
if (object instanceof String) {
|
|
||||||
String string = (String)object;
|
|
||||||
if (ARRAY.matcher(string).matches()) {
|
|
||||||
try {
|
|
||||||
Constructor<MojangsonParser> constructor = MojangsonParser.class.getDeclaredConstructor(String.class);
|
|
||||||
MojangsonParser parser = constructor.newInstance(string);
|
|
||||||
Method parseArray = MojangsonParser.class.getDeclaredMethod("k");
|
|
||||||
parseArray.setAccessible(true);
|
|
||||||
return (NBTBase) parseArray.invoke(parser);
|
|
||||||
} catch (Throwable e) {
|
|
||||||
throw new RuntimeException("Could not deserialize found list ", e);
|
|
||||||
}
|
|
||||||
} else if (INTEGER.matcher(string).matches()) {
|
|
||||||
return new NBTTagInt(Integer.parseInt(string.substring(0, string.length() - 1)));
|
|
||||||
} else if (DOUBLE.matcher(string).matches()) {
|
|
||||||
return new NBTTagDouble(Double.parseDouble(string.substring(0, string.length() - 1)));
|
|
||||||
} else {
|
|
||||||
try{
|
|
||||||
Constructor<MojangsonParser> constructor = MojangsonParser.class.getDeclaredConstructor(String.class);
|
|
||||||
MojangsonParser parser = constructor.newInstance("");
|
|
||||||
Method parseLiteral = MojangsonParser.class.getDeclaredMethod("c", String.class);
|
|
||||||
parseLiteral.setAccessible(true);
|
|
||||||
NBTBase nbtBase = (NBTBase) parseLiteral.invoke(parser,string);
|
|
||||||
if (nbtBase instanceof NBTTagInt) {
|
|
||||||
return new NBTTagString(nbtBase.toString());
|
|
||||||
} else {
|
|
||||||
return (nbtBase instanceof NBTTagDouble ? new NBTTagString(String.valueOf(((NBTTagDouble)nbtBase).asDouble())) : nbtBase);
|
|
||||||
}
|
|
||||||
}catch (ReflectiveOperationException e){
|
|
||||||
throw new RuntimeException("Could not deserialize NBTBase");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new RuntimeException("Could not deserialize NBTBase");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
List<Object> list = (List)object;
|
|
||||||
if (list.isEmpty()) {
|
|
||||||
return new NBTTagList();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
NBTTagList tagList = new NBTTagList();
|
|
||||||
for (Object tag : list) {
|
|
||||||
tagList.add(deserialize(tag));
|
|
||||||
}
|
|
||||||
return tagList;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public static NBTBase v1_12_R1_c(String raw) {
|
|
||||||
try {
|
|
||||||
if (float_format.matcher(raw).matches()) {
|
|
||||||
return new NBTTagFloat(Float.parseFloat(raw.substring(0, raw.length() - 1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (byte_format.matcher(raw).matches()) {
|
|
||||||
return new NBTTagByte(Byte.parseByte(raw.substring(0, raw.length() - 1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (long_format.matcher(raw).matches()) {
|
|
||||||
return new NBTTagLong(Long.parseLong(raw.substring(0, raw.length() - 1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (short_format.matcher(raw).matches()) {
|
|
||||||
return new NBTTagShort(Short.parseShort(raw.substring(0, raw.length() - 1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (integer_format.matcher(raw).matches()) {
|
|
||||||
return new NBTTagInt(Integer.parseInt(raw));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (double_format.matcher(raw).matches()) {
|
|
||||||
return new NBTTagDouble(Double.parseDouble(raw.substring(0, raw.length() - 1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (double_format2.matcher(raw).matches()) {
|
|
||||||
return new NBTTagDouble(Double.parseDouble(raw));
|
|
||||||
}
|
|
||||||
|
|
||||||
if ("true".equalsIgnoreCase(raw)) {
|
|
||||||
return new NBTTagByte((byte)1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ("false".equalsIgnoreCase(raw)) {
|
|
||||||
return new NBTTagByte((byte)0);
|
|
||||||
}
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return new NBTTagString(raw);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.NMSItem.v1_12_R1;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_12_R1.*;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.craftbukkit.v1_12_R1.inventory.CraftItemStack;
|
|
||||||
import pers.xanadu.enderdragon.config.Lang;
|
|
||||||
import pers.xanadu.enderdragon.nms.NMSItem.I_NMSItemManager;
|
|
||||||
|
|
||||||
public class NMSItemManager implements I_NMSItemManager {
|
|
||||||
|
|
||||||
public org.bukkit.inventory.ItemStack readAsItem(String nbt){
|
|
||||||
try {
|
|
||||||
NBTTagCompound cpd = MojangsonParser.parse(nbt);
|
|
||||||
ItemStack ei = new ItemStack(cpd);
|
|
||||||
return CraftItemStack.asBukkitCopy(ei);
|
|
||||||
} catch (MojangsonParseException e) {
|
|
||||||
Lang.error("Wrong item nbt format:"+nbt);
|
|
||||||
return new org.bukkit.inventory.ItemStack(Material.AIR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public org.bukkit.inventory.ItemStack cpdToItem(Object cpd){
|
|
||||||
ItemStack ei = new ItemStack((NBTTagCompound) cpd);
|
|
||||||
return CraftItemStack.asBukkitCopy(ei);
|
|
||||||
}
|
|
||||||
public Object parseNBT(Object nbt_base){
|
|
||||||
return CraftNBTTagConfigSerializer.serialize((NBTBase) nbt_base);
|
|
||||||
}
|
|
||||||
public Object readAsNBTBase(String raw){
|
|
||||||
return CraftNBTTagConfigSerializer.v1_12_R1_c(raw);
|
|
||||||
}
|
|
||||||
public Object getNBTBase(Object obj){
|
|
||||||
return CraftNBTTagConfigSerializer.deserialize(obj);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
-151
@@ -1,151 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.NMSItem.v1_13_R1;
|
|
||||||
|
|
||||||
import com.mojang.brigadier.StringReader;
|
|
||||||
import net.minecraft.server.v1_13_R1.*;
|
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
public class CraftNBTTagConfigSerializer {
|
|
||||||
private static final Pattern ARRAY = Pattern.compile("^\\[.*]");
|
|
||||||
private static final Pattern INTEGER = Pattern.compile("[-+]?(?:0|[1-9][0-9]*)?i", 2);
|
|
||||||
private static final Pattern DOUBLE = Pattern.compile("[-+]?(?:[0-9]+[.]?|[0-9]*[.][0-9]+)(?:e[-+]?[0-9]+)?d", 2);
|
|
||||||
public static final MojangsonParser MOJANGSON_PARSER = new MojangsonParser(new StringReader(""));
|
|
||||||
private static final Pattern byte_format = Pattern.compile("[-+]?(?:0|[1-9][0-9]*)b", 2);
|
|
||||||
private static final Pattern short_format = Pattern.compile("[-+]?(?:0|[1-9][0-9]*)s", 2);
|
|
||||||
private static final Pattern integer_format = Pattern.compile("[-+]?(?:0|[1-9][0-9]*)");
|
|
||||||
private static final Pattern long_format = Pattern.compile("[-+]?(?:0|[1-9][0-9]*)l", 2);
|
|
||||||
private static final Pattern float_format = Pattern.compile("[-+]?(?:[0-9]+[.]?|[0-9]*[.][0-9]+)(?:e[-+]?[0-9]+)?f", 2);
|
|
||||||
private static final Pattern double_format = Pattern.compile("[-+]?(?:[0-9]+[.]?|[0-9]*[.][0-9]+)(?:e[-+]?[0-9]+)?d", 2);
|
|
||||||
private static final Pattern double_format_2 = Pattern.compile("[-+]?(?:[0-9]+[.]|[0-9]*[.][0-9]+)(?:e[-+]?[0-9]+)?", 2);
|
|
||||||
|
|
||||||
public CraftNBTTagConfigSerializer() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Object serialize(NBTBase base) {
|
|
||||||
if (base instanceof NBTTagCompound) {
|
|
||||||
Map<String, Object> innerMap = new HashMap();
|
|
||||||
Iterator var3 = ((NBTTagCompound)base).getKeys().iterator();
|
|
||||||
|
|
||||||
while(var3.hasNext()) {
|
|
||||||
String key = (String)var3.next();
|
|
||||||
innerMap.put(key, serialize(((NBTTagCompound)base).get(key)));
|
|
||||||
}
|
|
||||||
|
|
||||||
return innerMap;
|
|
||||||
} else if (!(base instanceof NBTTagList)) {
|
|
||||||
if (base instanceof NBTTagString) {
|
|
||||||
return base.b_();
|
|
||||||
} else {
|
|
||||||
return base instanceof NBTTagInt ? base + "i" : base.toString();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
List<Object> baseList = new ArrayList();
|
|
||||||
|
|
||||||
for(int i = 0; i < ((NBTList)base).size(); ++i) {
|
|
||||||
baseList.add(serialize(((NBTList)base).get(i)));
|
|
||||||
}
|
|
||||||
|
|
||||||
return baseList;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static NBTBase v1_13_R1_b(String str) {
|
|
||||||
try {
|
|
||||||
if (float_format.matcher(str).matches()) {
|
|
||||||
return new NBTTagFloat(Float.parseFloat(str.substring(0, str.length() - 1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (byte_format.matcher(str).matches()) {
|
|
||||||
return new NBTTagByte(Byte.parseByte(str.substring(0, str.length() - 1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (long_format.matcher(str).matches()) {
|
|
||||||
return new NBTTagLong(Long.parseLong(str.substring(0, str.length() - 1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (short_format.matcher(str).matches()) {
|
|
||||||
return new NBTTagShort(Short.parseShort(str.substring(0, str.length() - 1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (integer_format.matcher(str).matches()) {
|
|
||||||
return new NBTTagInt(Integer.parseInt(str));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (double_format.matcher(str).matches()) {
|
|
||||||
return new NBTTagDouble(Double.parseDouble(str.substring(0, str.length() - 1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (double_format_2.matcher(str).matches()) {
|
|
||||||
return new NBTTagDouble(Double.parseDouble(str));
|
|
||||||
}
|
|
||||||
|
|
||||||
if ("true".equalsIgnoreCase(str)) {
|
|
||||||
return new NBTTagByte((byte)1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ("false".equalsIgnoreCase(str)) {
|
|
||||||
return new NBTTagByte((byte)0);
|
|
||||||
}
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return new NBTTagString(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static NBTBase deserialize(Object object) {
|
|
||||||
if (object instanceof Map) {
|
|
||||||
NBTTagCompound compound = new NBTTagCompound();
|
|
||||||
for (Object obj : ((Map) object).entrySet()) {
|
|
||||||
Map.Entry<String, Object> entry = (Map.Entry) obj;
|
|
||||||
compound.set(entry.getKey(), deserialize(entry.getValue()));
|
|
||||||
}
|
|
||||||
return compound;
|
|
||||||
} else if (!(object instanceof List)) {
|
|
||||||
if (object instanceof String) {
|
|
||||||
String string = (String)object;
|
|
||||||
if (ARRAY.matcher(string).matches()) {
|
|
||||||
try {
|
|
||||||
Method parseArray = MojangsonParser.class.getDeclaredMethod("h");
|
|
||||||
parseArray.setAccessible(true);
|
|
||||||
MojangsonParser parser = new MojangsonParser(new StringReader(string));
|
|
||||||
return (NBTBase) parseArray.invoke(parser);
|
|
||||||
} catch (Throwable e) {
|
|
||||||
throw new RuntimeException("Could not deserialize found list ", e);
|
|
||||||
}
|
|
||||||
} else if (INTEGER.matcher(string).matches()) {
|
|
||||||
return new NBTTagInt(Integer.parseInt(string.substring(0, string.length() - 1)));
|
|
||||||
} else if (DOUBLE.matcher(string).matches()) {
|
|
||||||
return new NBTTagDouble(Double.parseDouble(string.substring(0, string.length() - 1)));
|
|
||||||
} else {
|
|
||||||
try{
|
|
||||||
Method parseLiteral = MojangsonParser.class.getDeclaredMethod("b", String.class);
|
|
||||||
parseLiteral.setAccessible(true);
|
|
||||||
NBTBase nbtBase = (NBTBase) parseLiteral.invoke(MOJANGSON_PARSER,string);
|
|
||||||
if (nbtBase instanceof NBTTagInt) {
|
|
||||||
return new NBTTagString(nbtBase.b_());
|
|
||||||
} else {
|
|
||||||
return (nbtBase instanceof NBTTagDouble ? new NBTTagString(String.valueOf(((NBTTagDouble)nbtBase).asDouble())) : nbtBase);
|
|
||||||
}
|
|
||||||
}catch (ReflectiveOperationException e){
|
|
||||||
throw new RuntimeException("Could not deserialize NBTBase");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new RuntimeException("Could not deserialize NBTBase");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
List<Object> list = (List)object;
|
|
||||||
if (list.isEmpty()) {
|
|
||||||
return new NBTTagList();
|
|
||||||
} else {
|
|
||||||
NBTTagList tagList = new NBTTagList();
|
|
||||||
for (Object tag : list) {
|
|
||||||
tagList.add(deserialize(tag));
|
|
||||||
}
|
|
||||||
return tagList;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.NMSItem.v1_13_R1;
|
|
||||||
|
|
||||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
|
||||||
import net.minecraft.server.v1_13_R1.ItemStack;
|
|
||||||
import net.minecraft.server.v1_13_R1.MojangsonParser;
|
|
||||||
import net.minecraft.server.v1_13_R1.NBTBase;
|
|
||||||
import net.minecraft.server.v1_13_R1.NBTTagCompound;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.craftbukkit.v1_13_R1.inventory.CraftItemStack;
|
|
||||||
import pers.xanadu.enderdragon.config.Lang;
|
|
||||||
import pers.xanadu.enderdragon.nms.NMSItem.I_NMSItemManager;
|
|
||||||
|
|
||||||
public class NMSItemManager implements I_NMSItemManager {
|
|
||||||
public org.bukkit.inventory.ItemStack readAsItem(String nbt){
|
|
||||||
try {
|
|
||||||
NBTTagCompound cpd = MojangsonParser.parse(nbt);
|
|
||||||
ItemStack ei = ItemStack.a(cpd);
|
|
||||||
return CraftItemStack.asBukkitCopy(ei);
|
|
||||||
} catch (CommandSyntaxException e) {
|
|
||||||
Lang.error("Wrong item nbt format:"+nbt);
|
|
||||||
return new org.bukkit.inventory.ItemStack(Material.AIR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public org.bukkit.inventory.ItemStack cpdToItem(Object cpd){
|
|
||||||
ItemStack ei = ItemStack.a((NBTTagCompound) cpd);
|
|
||||||
return CraftItemStack.asBukkitCopy(ei);
|
|
||||||
}
|
|
||||||
public Object parseNBT(Object nbt_base){
|
|
||||||
return CraftNBTTagConfigSerializer.serialize((NBTBase) nbt_base);
|
|
||||||
}
|
|
||||||
public Object readAsNBTBase(String raw){
|
|
||||||
return CraftNBTTagConfigSerializer.v1_13_R1_b(raw);
|
|
||||||
}
|
|
||||||
public Object getNBTBase(Object obj){
|
|
||||||
return CraftNBTTagConfigSerializer.deserialize(obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.NMSItem.v1_13_R2_above;
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import pers.xanadu.enderdragon.EnderDragon;
|
|
||||||
import pers.xanadu.enderdragon.config.Lang;
|
|
||||||
import pers.xanadu.enderdragon.nms.NMSItem.I_NMSItemManager;
|
|
||||||
|
|
||||||
public class NMSItemManager implements I_NMSItemManager {
|
|
||||||
public ItemStack readAsItem(String nbt){
|
|
||||||
try {
|
|
||||||
return EnderDragon.getInstance().getNMSManager().getItemStack(nbt);
|
|
||||||
} catch (Throwable e) {
|
|
||||||
Lang.error("Wrong item nbt format:"+nbt);
|
|
||||||
return new org.bukkit.inventory.ItemStack(Material.AIR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public ItemStack cpdToItem(Object cpd){
|
|
||||||
return EnderDragon.getInstance().getNMSManager().getItemStack(cpd);
|
|
||||||
}
|
|
||||||
public Object parseNBT(Object nbt_base){
|
|
||||||
return EnderDragon.getInstance().getNMSManager().serializeNBTBase(nbt_base);
|
|
||||||
}
|
|
||||||
public Object readAsNBTBase(String raw){
|
|
||||||
return EnderDragon.getInstance().getNMSManager().StringParseLiteral(raw);
|
|
||||||
}
|
|
||||||
public Object getNBTBase(Object obj){
|
|
||||||
return EnderDragon.getInstance().getNMSManager().deserializeObject(obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.RespawnAnchor;
|
|
||||||
|
|
||||||
import org.bukkit.World;
|
|
||||||
|
|
||||||
public interface I_RespawnAnchorManager {
|
|
||||||
boolean isRespawnAnchorWorks(World world);
|
|
||||||
}
|
|
||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.RespawnAnchor.v1_16_R1;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_16_R1.DimensionManager;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_16_R1.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.RespawnAnchor.I_RespawnAnchorManager;
|
|
||||||
|
|
||||||
public class RespawnAnchorManager implements I_RespawnAnchorManager {
|
|
||||||
public boolean isRespawnAnchorWorks(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
net.minecraft.server.v1_16_R1.World ew = cw.getHandle();
|
|
||||||
DimensionManager dm = ew.getDimensionManager();
|
|
||||||
return dm.isRespawnAnchorWorks();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.RespawnAnchor.v1_16_R2;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_16_R2.DimensionManager;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_16_R2.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.RespawnAnchor.I_RespawnAnchorManager;
|
|
||||||
|
|
||||||
public class RespawnAnchorManager implements I_RespawnAnchorManager {
|
|
||||||
public boolean isRespawnAnchorWorks(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
net.minecraft.server.v1_16_R2.World ew = cw.getHandle();
|
|
||||||
DimensionManager dm = ew.getDimensionManager();
|
|
||||||
return dm.isRespawnAnchorWorks();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.RespawnAnchor.v1_16_R3;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_16_R3.DimensionManager;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_16_R3.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.RespawnAnchor.I_RespawnAnchorManager;
|
|
||||||
|
|
||||||
public class RespawnAnchorManager implements I_RespawnAnchorManager {
|
|
||||||
public boolean isRespawnAnchorWorks(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
net.minecraft.server.v1_16_R3.World ew = cw.getHandle();
|
|
||||||
DimensionManager dm = ew.getDimensionManager();
|
|
||||||
return dm.isRespawnAnchorWorks();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.RespawnAnchor.v1_17_R1;
|
|
||||||
|
|
||||||
import net.minecraft.world.level.dimension.DimensionManager;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_17_R1.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.RespawnAnchor.I_RespawnAnchorManager;
|
|
||||||
|
|
||||||
public class RespawnAnchorManager implements I_RespawnAnchorManager {
|
|
||||||
public boolean isRespawnAnchorWorks(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
net.minecraft.world.level.World ew = cw.getHandle();
|
|
||||||
DimensionManager dm = ew.getDimensionManager();
|
|
||||||
return dm.isRespawnAnchorWorks();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-10
@@ -1,10 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.RespawnAnchor.v1_18_above;
|
|
||||||
|
|
||||||
import org.bukkit.World;
|
|
||||||
import pers.xanadu.enderdragon.nms.RespawnAnchor.I_RespawnAnchorManager;
|
|
||||||
|
|
||||||
public class RespawnAnchorManager implements I_RespawnAnchorManager {
|
|
||||||
public boolean isRespawnAnchorWorks(World world){
|
|
||||||
return world.isRespawnAnchorWorks();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.WorldData;
|
|
||||||
|
|
||||||
import org.bukkit.World;
|
|
||||||
|
|
||||||
public interface I_WorldDataManager {
|
|
||||||
long getGameTime(World world);
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.WorldData.v1_12_R1;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_12_R1.WorldServer;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_12_R1.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.WorldData.I_WorldDataManager;
|
|
||||||
|
|
||||||
public class WorldDataManager implements I_WorldDataManager {
|
|
||||||
public long getGameTime(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
WorldServer ws = cw.getHandle();
|
|
||||||
return ws.getTime();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.WorldData.v1_13_R1;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_13_R1.WorldServer;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_13_R1.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.WorldData.I_WorldDataManager;
|
|
||||||
|
|
||||||
public class WorldDataManager implements I_WorldDataManager {
|
|
||||||
public long getGameTime(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
WorldServer ws = cw.getHandle();
|
|
||||||
return ws.getTime();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.WorldData.v1_13_R2;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_13_R2.WorldServer;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_13_R2.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.WorldData.I_WorldDataManager;
|
|
||||||
|
|
||||||
public class WorldDataManager implements I_WorldDataManager {
|
|
||||||
public long getGameTime(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
WorldServer ws = cw.getHandle();
|
|
||||||
return ws.getTime();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.WorldData.v1_14_R1;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_14_R1.WorldServer;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_14_R1.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.WorldData.I_WorldDataManager;
|
|
||||||
|
|
||||||
public class WorldDataManager implements I_WorldDataManager {
|
|
||||||
public long getGameTime(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
WorldServer ws = cw.getHandle();
|
|
||||||
return ws.getTime();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.WorldData.v1_15_R1;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_15_R1.WorldServer;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_15_R1.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.WorldData.I_WorldDataManager;
|
|
||||||
|
|
||||||
public class WorldDataManager implements I_WorldDataManager {
|
|
||||||
public long getGameTime(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
WorldServer ws = cw.getHandle();
|
|
||||||
return ws.getTime();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.WorldData.v1_16_R1;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_16_R1.WorldServer;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_16_R1.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.WorldData.I_WorldDataManager;
|
|
||||||
|
|
||||||
public class WorldDataManager implements I_WorldDataManager {
|
|
||||||
public long getGameTime(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
WorldServer ws = cw.getHandle();
|
|
||||||
return ws.getTime();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.WorldData.v1_16_R2;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_16_R2.WorldServer;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_16_R2.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.WorldData.I_WorldDataManager;
|
|
||||||
|
|
||||||
public class WorldDataManager implements I_WorldDataManager {
|
|
||||||
public long getGameTime(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
WorldServer ws = cw.getHandle();
|
|
||||||
return ws.getTime();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.WorldData.v1_16_R3;
|
|
||||||
|
|
||||||
import net.minecraft.server.v1_16_R3.WorldServer;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.craftbukkit.v1_16_R3.CraftWorld;
|
|
||||||
import pers.xanadu.enderdragon.nms.WorldData.I_WorldDataManager;
|
|
||||||
|
|
||||||
public class WorldDataManager implements I_WorldDataManager {
|
|
||||||
public long getGameTime(World world){
|
|
||||||
CraftWorld cw = (CraftWorld) world;
|
|
||||||
WorldServer ws = cw.getHandle();
|
|
||||||
return ws.getTime();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
package pers.xanadu.enderdragon.nms.WorldData.v1_17_above;
|
|
||||||
|
|
||||||
import org.bukkit.World;
|
|
||||||
import pers.xanadu.enderdragon.nms.WorldData.I_WorldDataManager;
|
|
||||||
|
|
||||||
public class WorldDataManager implements I_WorldDataManager {
|
|
||||||
public long getGameTime(World world){
|
|
||||||
return world.getGameTime();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user