mirror of
https://github.com/TotalFreedomMC/VulnerabilityPatcher.git
synced 2025-02-05 06:12:46 +00:00
Commit v1.9.2
Added some small fixes that makes old commands work again and a request to increase safety on shulkers.
This commit is contained in:
parent
c59cf5d3cb
commit
2beb32037b
14 changed files with 52 additions and 36 deletions
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module external.linked.project.id="VulnerabilityPatcher:main" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="me.cooljwb.vulnerabilitypatcher" external.system.module.type="sourceSet" external.system.module.version="v1.9" type="JAVA_MODULE" version="4">
|
||||
<module external.linked.project.id="VulnerabilityPatcher:main" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="me.cooljwb.vulnerabilitypatcher" external.system.module.type="sourceSet" external.system.module.version="v1.9.1" type="JAVA_MODULE" version="4">
|
||||
<component name="CheckStyle-IDEA-Module">
|
||||
<option name="configuration">
|
||||
<map />
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module external.linked.project.id="VulnerabilityPatcher:test" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="me.cooljwb.vulnerabilitypatcher" external.system.module.type="sourceSet" external.system.module.version="v1.9" type="JAVA_MODULE" version="4">
|
||||
<module external.linked.project.id="VulnerabilityPatcher:test" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="me.cooljwb.vulnerabilitypatcher" external.system.module.type="sourceSet" external.system.module.version="v1.9.1" type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="minecraft" name="Minecraft">
|
||||
<configuration>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module external.linked.project.id="VulnerabilityPatcher" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="me.cooljwb.vulnerabilitypatcher" external.system.module.version="v1.9" type="JAVA_MODULE" version="4">
|
||||
<module external.linked.project.id="VulnerabilityPatcher" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="me.cooljwb.vulnerabilitypatcher" external.system.module.version="v1.9.1" type="JAVA_MODULE" version="4">
|
||||
<component name="CheckStyle-IDEA-Module">
|
||||
<option name="configuration">
|
||||
<map />
|
||||
|
|
|
@ -2,13 +2,20 @@
|
|||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="4038a6e9-7d52-4dd0-91ef-d9a12aa1c1b2" name="Default Changelist" comment="Added a fix to the new item name exploit that makes it possible to make clickable text and, made the chest patch work for all containers and so that books are cleared properly...">
|
||||
<change afterPath="$PROJECT_DIR$/.idea/discord.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/modules/VulnerabilityPatcher.main.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules/VulnerabilityPatcher.main.iml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/modules/VulnerabilityPatcher.test.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules/VulnerabilityPatcher.test.iml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/modules/me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules/me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher.iml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/build.gradle" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/gradle.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gradle.properties" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/VulnerabilityPatcher.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/VulnerabilityPatcher.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/commands/CommandVulnerabilityPatcher.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/commands/CommandVulnerabilityPatcher.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_13_2.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_13_2.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_14.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_14.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_15.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_15.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_2.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/modifiers/NBTModifier_1_16_2.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Disconnect_Items.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Disconnect_Items.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/plugin.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/plugin.yml" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
@ -146,25 +153,29 @@
|
|||
<option name="LAST_COMMIT_MESSAGE" value="Added a fix to the new item name exploit that makes it possible to make clickable text and, made the chest patch work for all containers and so that books are cleared properly..." />
|
||||
</component>
|
||||
<component name="WindowStateProjectService">
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.bottom" timestamp="1598297961156">
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.bottom" timestamp="1601727826130">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.bottom/0.0.1920.1040/1920.0.1920.1040@0.0.1920.1040" timestamp="1598297961156" />
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.bottom/0.0.1920.1040/1920.0.1920.1040@0.0.1920.1040" timestamp="1601727826130" />
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.bottom/0.0.1920.1040/1920.0.1920.1040@1920.0.1920.1040" timestamp="1597498022867" />
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.center" timestamp="1598297961156">
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.center" timestamp="1601727826130">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.center/0.0.1920.1040/1920.0.1920.1040@0.0.1920.1040" timestamp="1598297961156" />
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.center/0.0.1920.1040/1920.0.1920.1040@0.0.1920.1040" timestamp="1601727826130" />
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.center/0.0.1920.1040/1920.0.1920.1040@1920.0.1920.1040" timestamp="1597498022867" />
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.left" timestamp="1598297961156">
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.left" timestamp="1601727826130">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.left/0.0.1920.1040/1920.0.1920.1040@0.0.1920.1040" timestamp="1598297961156" />
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.left/0.0.1920.1040/1920.0.1920.1040@0.0.1920.1040" timestamp="1601727826130" />
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.left/0.0.1920.1040/1920.0.1920.1040@1920.0.1920.1040" timestamp="1597498022867" />
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.right" timestamp="1598297961156">
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.right" timestamp="1601727826130">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.right/0.0.1920.1040/1920.0.1920.1040@0.0.1920.1040" timestamp="1598297961156" />
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.right/0.0.1920.1040/1920.0.1920.1040@0.0.1920.1040" timestamp="1601727826130" />
|
||||
<state width="1877" height="234" key="GridCell.Tab.0.right/0.0.1920.1040/1920.0.1920.1040@1920.0.1920.1040" timestamp="1597498022867" />
|
||||
<state x="92" y="92" width="1736" height="856" key="com.intellij.history.integration.ui.views.FileHistoryDialog" timestamp="1601724203001">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state x="92" y="92" width="1736" height="856" key="com.intellij.history.integration.ui.views.FileHistoryDialog/0.0.1920.1040/1920.0.1920.1040@0.0.1920.1040" timestamp="1601724203001" />
|
||||
</component>
|
||||
</project>
|
|
@ -1,2 +1,2 @@
|
|||
pluginGroup=me.cooljwb.vulnerabilitypatcher
|
||||
pluginVersion=v1.9.1
|
||||
pluginVersion=v1.9.2
|
|
@ -92,6 +92,7 @@ public final class VulnerabilityPatcher extends JavaPlugin {
|
|||
case "1.16":
|
||||
case "1.16.1":
|
||||
case "1.16.2":
|
||||
case "1.16.3":
|
||||
return true;
|
||||
default:
|
||||
log.log(Level.WARNING, String.format("[%s] Server version %s may not work fully or at all with %s-%s, try an earlier plugin version or a newer server version.", pluginName, version, pluginName, pluginVersion));
|
||||
|
@ -103,9 +104,7 @@ public final class VulnerabilityPatcher extends JavaPlugin {
|
|||
pluginVersion = this.getDescription().getVersion();
|
||||
pluginAuthors = this.getDescription().getAuthors();
|
||||
|
||||
if(!version()) {
|
||||
return false;
|
||||
}
|
||||
version();
|
||||
|
||||
this.patches = new Patches(this);
|
||||
main = this;
|
||||
|
|
|
@ -70,7 +70,7 @@ public class CommandVulnerabilityPatcher extends Patches implements CommandExecu
|
|||
|
||||
else if(args[0].equalsIgnoreCase("delete") && args.length == 2) {
|
||||
if(sender.hasPermission(main.getConfig().getString("Commands.Delete.Permission"))) {
|
||||
if(removePlayerdata(sender.getName()))
|
||||
if(removePlayerdata(args[1]))
|
||||
msg(sender, String.format(SMG.REMOVED_DATA.msg, args[1]));
|
||||
else
|
||||
msg(sender, String.format(SMG.PLAYER_NOT_FOUND.msg, args[1]));
|
||||
|
|
|
@ -263,8 +263,9 @@ public class NBTModifier_1_13_2 {
|
|||
NBTTagList patterns = item.getCompound("BlockEntityTag").getList("Patterns", 10);
|
||||
for(int x = 0; x <= (patterns.size() - 1); x++) {
|
||||
if(patterns.get(x).getTypeId() == 10) {
|
||||
if(patterns.getCompound(x).hasKey("Color") && patterns.getCompound(x).getInt("Color") < 0)
|
||||
if(patterns.getCompound(x).hasKey("Color") && patterns.getCompound(x).getInt("Color") < 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -282,8 +282,9 @@ public class NBTModifier_1_14 {
|
|||
NBTTagList patterns = item.getCompound("BlockEntityTag").getList("Patterns", 10);
|
||||
for(int x = 0; x <= (patterns.size() - 1); x++) {
|
||||
if(patterns.get(x).getTypeId() == 10) {
|
||||
if(patterns.getCompound(x).hasKey("Color") && patterns.getCompound(x).getInt("Color") < 0)
|
||||
if(patterns.getCompound(x).hasKey("Color") && patterns.getCompound(x).getInt("Color") < 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -284,8 +284,9 @@ public class NBTModifier_1_15 {
|
|||
NBTTagList patterns = item.getCompound("BlockEntityTag").getList("Patterns", 10);
|
||||
for(int x = 0; x <= (patterns.size() - 1); x++) {
|
||||
if(patterns.get(x).getTypeId() == 10) {
|
||||
if(patterns.getCompound(x).hasKey("Color") && patterns.getCompound(x).getInt("Color") < 0)
|
||||
if(patterns.getCompound(x).hasKey("Color") && patterns.getCompound(x).getInt("Color") < 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -287,8 +287,9 @@ public class NBTModifier_1_16 {
|
|||
NBTTagList patterns = item.getCompound("BlockEntityTag").getList("Patterns", 10);
|
||||
for(int x = 0; x <= (patterns.size() - 1); x++) {
|
||||
if(patterns.get(x).getTypeId() == 10) {
|
||||
if(patterns.getCompound(x).hasKey("Color") && patterns.getCompound(x).getInt("Color") < 0)
|
||||
if(patterns.getCompound(x).hasKey("Color") && patterns.getCompound(x).getInt("Color") < 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ import net.minecraft.server.v1_16_R2.NBTTagCompound;
|
|||
import net.minecraft.server.v1_16_R2.NBTTagList;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.craftbukkit.v1_16_R2.entity.CraftEntity;
|
||||
import org.bukkit.craftbukkit.v1_16_R2.entity.CraftItem;
|
||||
import org.bukkit.craftbukkit.v1_16_R2.entity.CraftPlayer;
|
||||
|
@ -44,8 +45,6 @@ import java.util.regex.Pattern;
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import org.bukkit.craftbukkit.v1_16_R2.inventory.CraftItemStack;
|
||||
|
||||
/**
|
||||
* This class is a function port to 1.15
|
||||
* Date: 2020-06-13
|
||||
|
@ -104,15 +103,17 @@ public class NBTModifier_1_16_2 {
|
|||
}
|
||||
|
||||
boolean removePlayerdata(String player) {
|
||||
if(Bukkit.getPlayer(player) != null) {
|
||||
((CraftEntity) Bukkit.getPlayer(player)).getHandle().save(new NBTTagCompound());
|
||||
return true;
|
||||
boolean success = false;
|
||||
for(World world : Bukkit.getWorlds()) {
|
||||
File localUUIDfile = new File(Bukkit.getServer().getWorldContainer() + "/" + world.getName() + "/playerdata/" + Bukkit.getOfflinePlayer(player).getUniqueId().toString() + ".dat");
|
||||
|
||||
if(localUUIDfile.exists()) {
|
||||
if(localUUIDfile.delete()) {
|
||||
success = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(Bukkit.getOfflinePlayer(player) != null) {
|
||||
File file = new File(Bukkit.getServer().getWorldContainer() + "/world/playerdata/" + Bukkit.getOfflinePlayer(player).getUniqueId().toString() + ".dat");
|
||||
return file.delete();
|
||||
}
|
||||
return false;
|
||||
return success;
|
||||
}
|
||||
void resetMeta(Player player, ItemStack item, boolean mainhand) {
|
||||
net.minecraft.server.v1_16_R2.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(item);
|
||||
|
@ -287,8 +288,9 @@ public class NBTModifier_1_16_2 {
|
|||
NBTTagList patterns = item.getCompound("BlockEntityTag").getList("Patterns", 10);
|
||||
for(int x = 0; x <= (patterns.size() - 1); x++) {
|
||||
if(patterns.get(x).getTypeId() == 10) {
|
||||
if(patterns.getCompound(x).hasKey("Color") && patterns.getCompound(x).getInt("Color") < 0)
|
||||
if(patterns.getCompound(x).hasKey("Color") && patterns.getCompound(x).getInt("Color") < 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -223,7 +223,7 @@ public class Disconnect_Items extends Patches implements Listener {
|
|||
|
||||
StringBuilder inventoryString = new StringBuilder();
|
||||
for (ItemStack item : container.getInventory().getContents()) {
|
||||
if(isDisconnectItem(item) || itemToString(item).length() >= 65535) {
|
||||
if(isDisconnectItem(item) || containsDisconnectItem(item) || itemToString(item).length() >= 65535) {
|
||||
clearItemMeta(item);
|
||||
}
|
||||
inventoryString.append(itemToString(item));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name: VulnerabilityPatcher
|
||||
version: "1.9"
|
||||
version: "1.9.2"
|
||||
api-version: 1.13
|
||||
main: me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher
|
||||
authors: [CoolJWB]
|
||||
|
|
Loading…
Reference in a new issue