diff --git a/build.gradle b/build.gradle index 999323f..27df3c3 100644 --- a/build.gradle +++ b/build.gradle @@ -3,8 +3,8 @@ apply plugin: 'java' group = pluginGroup version = pluginVersion -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +sourceCompatibility = 11 +targetCompatibility = 11 repositories { mavenCentral() diff --git a/gradle.properties b/gradle.properties index 204c8d5..88387d6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ pluginGroup=me.cooljwb.vulnerabilitypatcher -pluginVersion=v1.9.2 \ No newline at end of file +pluginVersion=v1.9.3.1 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2c2bbe5..68ca99a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip diff --git a/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier.java b/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier.java index da0a33d..2510bd9 100644 --- a/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier.java +++ b/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier.java @@ -40,7 +40,7 @@ public class NBTModifier private NBTModifier_1_15 nbt_1_15 = new NBTModifier_1_15(); private NBTModifier_1_16 nbt_1_16 = new NBTModifier_1_16(); private NBTModifier_1_16_2 nbt_1_16_2 = new NBTModifier_1_16_2(); - private NBTModifier_1_16_5 nbt_1_16_5 = new NBTModifier_1_16_5(); + private NBTModifier_1_16_3 nbt_1_16_3 = new NBTModifier_1_16_3(); public static String getVersion() { @@ -87,7 +87,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.itemToString(item); case "1.16.5": - return nbt_1_16_5.itemToString(item); + return nbt_1_16_3.itemToString(item); default: return ""; } @@ -108,7 +108,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.removePlayerdata(player); case "1.16.5": - return nbt_1_16_5.removePlayerdata(player); + return nbt_1_16_3.removePlayerdata(player); } return false; } @@ -133,7 +133,7 @@ public class NBTModifier nbt_1_16_2.resetMeta(player, item, mainhand); break; case "1.16.5": - nbt_1_16_5.resetMeta(player, item, mainhand); + nbt_1_16_3.resetMeta(player, item, mainhand); break; } } @@ -153,7 +153,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.isPlayer(source); case "1.16.5": - return nbt_1_16_5.isPlayer(source); + return nbt_1_16_3.isPlayer(source); default: return false; } @@ -174,7 +174,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.getArrowDamage(arrow); case "1.16.5": - return nbt_1_16_5.getArrowDamage(arrow); + return nbt_1_16_3.getArrowDamage(arrow); default: return 0; } @@ -200,7 +200,7 @@ public class NBTModifier nbt_1_16_2.setArrowDamage(arrow, amount); break; case "1.16.5": - nbt_1_16_5.setArrowDamage(arrow, amount); + nbt_1_16_3.setArrowDamage(arrow, amount); break; } } @@ -220,7 +220,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.getFireworkEffectSize(firework); case "1.16.5": - return nbt_1_16_5.getFireworkEffectSize(firework); + return nbt_1_16_3.getFireworkEffectSize(firework); default: return 0; } @@ -241,7 +241,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.hasFireworkLargeEffect(firework); case "1.16.5": - return nbt_1_16_5.hasFireworkLargeEffect(firework); + return nbt_1_16_3.hasFireworkLargeEffect(firework); default: return false; } @@ -262,7 +262,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.isCrashItem(item); case "1.16.5": - return nbt_1_16_5.isCrashItem(item); + return nbt_1_16_3.isCrashItem(item); default: return false; } @@ -283,7 +283,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.containsCrashItem(item); case "1.16.5": - return nbt_1_16_5.containsCrashItem(item); + return nbt_1_16_3.containsCrashItem(item); default: return false; } @@ -304,7 +304,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.isDeathItem(item); case "1.16.5": - return nbt_1_16_5.isDeathItem(item); + return nbt_1_16_3.isDeathItem(item); default: return false; } @@ -325,7 +325,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.containsDeathItem(item); case "1.16.5": - return nbt_1_16_5.containsDeathItem(item); + return nbt_1_16_3.containsDeathItem(item); default: return false; } @@ -346,7 +346,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.isDisconnectItem(entity); case "1.16.5": - return nbt_1_16_5.isDisconnectItem(entity); + return nbt_1_16_3.isDisconnectItem(entity); default: return false; } @@ -367,7 +367,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.isDisconnectItem(item); case "1.16.5": - return nbt_1_16_5.isDisconnectItem(item); + return nbt_1_16_3.isDisconnectItem(item); default: return false; } @@ -388,7 +388,7 @@ public class NBTModifier case "1.16.2": return nbt_1_16_2.containsDisconnectItem(item); case "1.16.5": - return nbt_1_16_5.containsDisconnectItem(item); + return nbt_1_16_3.containsDisconnectItem(item); default: return false; } @@ -414,7 +414,7 @@ public class NBTModifier nbt_1_16_2.removeInvalidValues(entity); break; case "1.16.5": - nbt_1_16_5.removeInvalidValues(entity); + nbt_1_16_3.removeInvalidValues(entity); break; } } @@ -458,7 +458,7 @@ public class NBTModifier { return true; } - return nbt_1_16_5.isDangerousEgg(item); + return nbt_1_16_3.isDangerousEgg(item); default: return false; } @@ -484,7 +484,7 @@ public class NBTModifier nbt_1_16_2.isDangerousSkull(item); break; case "1.16.5": - nbt_1_16_5.isDangerousSkull(item); + nbt_1_16_3.isDangerousSkull(item); break; } return false; diff --git a/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16.java b/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16.java index fdf3a56..ba560ca 100644 --- a/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16.java +++ b/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16.java @@ -224,15 +224,16 @@ public class NBTModifier_1_16 if (nmsItemStack.getTag() != null) { - Pattern pattern = Pattern.compile("([^a-z0-9/._-])"); - NBTTagCompound blockentitytag = nmsItemStack.getTag().getCompound("BlockEntityTag"); - NBTTagList itemlist = blockentitytag.getList("Items", 10); + Pattern pattern = Pattern.compile("([a-z0-9/._-])"); + NBTTagCompound blockEntityTag = nmsItemStack.getTag().getCompound("BlockEntityTag"); + NBTTagList itemlist = blockEntityTag.getList("Items", 10); for (int a = 0; a <= itemlist.size(); a++) { NBTTagCompound itemtag = itemlist.getCompound(a).getCompound("tag"); - if (itemtag.toString().contains("translation.test.invalid") || pattern.matcher(blockentitytag.getString("LootTable")).find()) + if (itemtag.toString().contains("translation.test.invalid") + || (blockEntityTag.hasKey("LootTable") && !pattern.matcher(blockEntityTag.getString("LootTable")).find())) { fired_countermeasure("containsCrashItem"); return true; diff --git a/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_2.java b/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_2.java index 02ec10d..a800573 100644 --- a/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_2.java +++ b/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_2.java @@ -244,15 +244,16 @@ public class NBTModifier_1_16_2 if (nmsItemStack.getTag() != null) { - Pattern pattern = Pattern.compile("([^a-z0-9/._-])"); - NBTTagCompound blockentitytag = nmsItemStack.getTag().getCompound("BlockEntityTag"); - NBTTagList itemlist = blockentitytag.getList("Items", 10); + Pattern pattern = Pattern.compile("([a-z0-9/._-])"); + NBTTagCompound blockEntityTag = nmsItemStack.getTag().getCompound("BlockEntityTag"); + NBTTagList itemlist = blockEntityTag.getList("Items", 10); for (int a = 0; a <= itemlist.size(); a++) { NBTTagCompound itemtag = itemlist.getCompound(a).getCompound("tag"); - if (itemtag.toString().contains("translation.test.invalid") || pattern.matcher(blockentitytag.getString("LootTable")).find()) + if (itemtag.toString().contains("translation.test.invalid") + || (blockEntityTag.hasKey("LootTable") && !pattern.matcher(blockEntityTag.getString("LootTable")).find())) { fired_countermeasure("containsCrashItem"); return true; diff --git a/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_5.java b/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_3.java similarity index 97% rename from src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_5.java rename to src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_3.java index e305414..705a57d 100644 --- a/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_5.java +++ b/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_3.java @@ -30,7 +30,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; -public class NBTModifier_1_16_5 +public class NBTModifier_1_16_3 { private Logger log = Logger.getLogger("Minecraft"); @@ -221,15 +221,16 @@ public class NBTModifier_1_16_5 if (nmsItemStack.getTag() != null) { - Pattern pattern = Pattern.compile("([^a-z0-9/._-])"); - NBTTagCompound blockentitytag = nmsItemStack.getTag().getCompound("BlockEntityTag"); - NBTTagList itemlist = blockentitytag.getList("Items", 10); + Pattern pattern = Pattern.compile("([a-z0-9/._-])"); + NBTTagCompound blockEntityTag = nmsItemStack.getTag().getCompound("BlockEntityTag"); + NBTTagList itemList = blockEntityTag.getList("Items", 10); - for (int a = 0; a <= itemlist.size(); a++) + for (int a = 0; a <= itemList.size(); a++) { - NBTTagCompound itemtag = itemlist.getCompound(a).getCompound("tag"); + NBTTagCompound itemtag = itemList.getCompound(a).getCompound("tag"); - if (itemtag.toString().contains("translation.test.invalid") || pattern.matcher(blockentitytag.getString("LootTable")).find()) + if (itemtag.toString().contains("translation.test.invalid") + || (blockEntityTag.hasKey("LootTable") && !pattern.matcher(blockEntityTag.getString("LootTable")).find())) { fired_countermeasure("containsCrashItem"); return true; diff --git a/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Crash_Items.java b/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Crash_Items.java index ce52239..c3f89f8 100644 --- a/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Crash_Items.java +++ b/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Crash_Items.java @@ -62,7 +62,6 @@ public class Crash_Items extends Patches implements Listener notifyViolation(event.getBlock().getType().toString(), "drop", "crash item", event.getBlock().getLocation()); } - else if (containsCrashItem(item)) { event.setCancelled(true); @@ -111,7 +110,7 @@ public class Crash_Items extends Patches implements Listener Container container = (Container) event.getBlockPlaced().getState(); for (ItemStack item : container.getInventory()) { - if (isCrashItem(item)) + if (isCrashItem(item) || containsCrashItem(item)) { container.getInventory().remove(item); event.setCancelled(true); @@ -148,15 +147,11 @@ public class Crash_Items extends Patches implements Listener } BukkitScheduler scheduler = Bukkit.getServer().getScheduler(); - scheduler.scheduleSyncDelayedTask(main, new Runnable() + scheduler.scheduleSyncDelayedTask(main, () -> { - @Override - public void run() + if (!event.getSlotType().equals(InventoryType.SlotType.OUTSIDE)) { - if (!event.getSlotType().equals(InventoryType.SlotType.OUTSIDE)) - { - event.getWhoClicked().getInventory().getItem(event.getSlot()).setItemMeta(null); - } + event.getCurrentItem().setItemMeta(null); } }, 0L); } @@ -169,7 +164,7 @@ public class Crash_Items extends Patches implements Listener { ItemStack item = event.getItemDrop().getItemStack(); - if (isCrashItem(item)) + if (isCrashItem(item) || containsCrashItem(item)) { event.setCancelled(true); clearItemMeta(event.getItemDrop().getItemStack()); diff --git a/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Disconnect_Items.java b/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Disconnect_Items.java index 5f6a945..373bb68 100644 --- a/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Disconnect_Items.java +++ b/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Disconnect_Items.java @@ -217,15 +217,11 @@ public class Disconnect_Items extends Patches implements Listener } BukkitScheduler scheduler = Bukkit.getServer().getScheduler(); - scheduler.scheduleSyncDelayedTask(main, new Runnable() + scheduler.scheduleSyncDelayedTask(main, () -> { - @Override - public void run() + if (!event.getSlotType().equals(InventoryType.SlotType.OUTSIDE)) { - if (!event.getSlotType().equals(InventoryType.SlotType.OUTSIDE)) - { - event.getWhoClicked().getInventory().getItem(event.getSlot()).setItemMeta(null); - } + event.getWhoClicked().getInventory().getItem(event.getSlot()).setItemMeta(null); } }, 0L); } diff --git a/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Handswitch.java b/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Handswitch.java index 03f7e93..3a77f63 100644 --- a/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Handswitch.java +++ b/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Handswitch.java @@ -44,23 +44,19 @@ public class Handswitch extends Patches implements Listener public void runnable() { BukkitScheduler scheduler = Bukkit.getServer().getScheduler(); - scheduler.scheduleSyncRepeatingTask(main, new Runnable() + scheduler.scheduleSyncRepeatingTask(main, () -> { - @Override - public void run() + switches.clear(); + its++; + if (its >= 30) { - switches.clear(); - its++; - if (its >= 30) + for (Player player : cooldown) { - for (Player player : cooldown) - { - msg(player, SMG.SWITCH.msg); - } - - cooldown = new ArrayList<>(); - its = 0; + msg(player, SMG.SWITCH.msg); } + + cooldown = new ArrayList<>(); + its = 0; } }, 20L, 0); } // Cooldown notification. diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 65ea629..5441c15 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: VulnerabilityPatcher -version: "1.9.3" +version: "1.9.3.1" api-version: 1.13 main: me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher authors: [CoolJWB]