VulnerabilityPatcher/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier.java
CoolJWB 7da3fb9b18 Commit v0.5
Added basic Paper 1.13 and 1.14 support.
2019-07-29 16:18:08 +02:00

167 lines
4.9 KiB
Java

package me.cooljwb.vulnerabilitypatcher.modifiers;
import org.bukkit.Bukkit;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.projectiles.ProjectileSource;
import java.util.logging.Logger;
public class NBTModifier {
private Logger log = Logger.getLogger("Minecraft"); // Get the server logger.
private NBTModifier_1_13 nbt_1_13 = new NBTModifier_1_13();
private NBTModifier_1_14 nbt_1_14 = new NBTModifier_1_14();
public static String getVersion() {
switch(Bukkit.getVersion().substring((Bukkit.getVersion().indexOf(":") + 1), Bukkit.getVersion().indexOf(")")).trim()) {
case "1.13":
case "1.13.1":
case "1.13.2":
return "1.13";
case "1.14":
case "1.14.1":
case "1.14.2":
case "1.14.3":
case "1.14.4":
return "1.14";
default:
return "";
}
}
public String itemToString(ItemStack item) {
switch(getVersion()) {
case "1.13":
return nbt_1_13.itemToString(item);
case "1.14":
return nbt_1_14.itemToString(item);
default:
return "";
}
}
public boolean removePlayerdata(String player) {
switch(getVersion()) {
case "1.13":
return nbt_1_13.removePlayerdata(player);
case "1.14":
return nbt_1_14.removePlayerdata(player);
}
return false;
}
public void resetMeta(Player player, ItemStack item, boolean mainhand) {
switch(getVersion()) {
case "1.13":
nbt_1_13.resetMeta(player, item, mainhand);
break;
case "1.14":
nbt_1_14.resetMeta(player, item, mainhand);
break;
}
}
public boolean isPlayer(ProjectileSource source) {
switch(getVersion()) {
case "1.13":
return nbt_1_13.isPlayer(source);
case "1.14":
return nbt_1_14.isPlayer(source);
default:
return false;
}
}
public double getArrowDamage(Arrow arrow) {
switch(getVersion()) {
case "1.13":
return nbt_1_13.getArrowDamage(arrow);
case "1.14":
return nbt_1_14.getArrowDamage(arrow);
default:
return 0;
}
}
public void setArrowDamage(Arrow arrow, double amount) {
switch(getVersion()) {
case "1.13":
nbt_1_13.setArrowDamage(arrow, amount);
break;
case "1.14":
nbt_1_14.setArrowDamage(arrow, amount);
break;
}
}
public boolean isCrashItem(ItemStack item) {
switch(getVersion()) {
case "1.13":
return nbt_1_13.isCrashItem(item);
case "1.14":
return nbt_1_14.isCrashItem(item);
default:
return false;
}
}
public boolean containsCrashItem(ItemStack item) {
switch(getVersion()) {
case "1.13":
return nbt_1_13.containsCrashItem(item);
case "1.14":
return nbt_1_14.containsCrashItem(item);
default:
return false;
}
}
public boolean isDeathItem(ItemStack item) {
switch(getVersion()) {
case "1.13":
return nbt_1_13.isDeathItem(item);
case "1.14":
return nbt_1_14.isDeathItem(item);
default:
return false;
}
}
public boolean containsDeathItem(ItemStack item) {
switch(getVersion()) {
case "1.13":
return nbt_1_13.containsDeathItem(item);
case "1.14":
return nbt_1_14.containsDeathItem(item);
default:
return false;
}
}
public boolean isDisconnectItem(ItemStack item) {
switch(getVersion()) {
case "1.13":
return nbt_1_13.isDisconnectItem(item);
case "1.14":
return nbt_1_14.isDisconnectItem(item);
default:
return false;
}
}
public boolean containsDisconnectItem(ItemStack item) {
switch(getVersion()) {
case "1.13":
return nbt_1_13.containsDisconnectItem(item);
case "1.14":
return nbt_1_14.containsDisconnectItem(item);
default:
return false;
}
}
public boolean isDangerousEgg(ItemStack item) {
switch(getVersion()) {
case "1.13":
return nbt_1_13.isDangerousEgg(item);
case "1.14":
return nbt_1_14.isDangerousEgg(item);
default:
return false;
}
}
}