mirror of
https://github.com/TotalFreedomMC/VulnerabilityPatcher.git
synced 2025-02-05 14:22:52 +00:00
Commit v1.3
Fixed patch to Jukeboxes.
This commit is contained in:
parent
4ba8950052
commit
5cf1ecb09c
9 changed files with 55 additions and 11 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.2.1" 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.3" 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: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.2.1" 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.3" 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.2.1" 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.3" type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$/../..">
|
||||
|
|
|
@ -2,16 +2,12 @@
|
|||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="4038a6e9-7d52-4dd0-91ef-d9a12aa1c1b2" name="Default Changelist" comment="">
|
||||
<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$/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/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/patches/Patches.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Patches.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/config.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/config.yml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/plugin.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/plugin.yml" 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/patches/Disconnect_Items.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Disconnect_Items.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
|
@ -53,9 +49,10 @@
|
|||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1565016144369" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
<property name="project.structure.last.edited" value="Project" />
|
||||
<property name="project.structure.last.edited" value="Artifacts" />
|
||||
<property name="project.structure.proportion" value="0.15" />
|
||||
<property name="project.structure.side.proportion" value="0.2" />
|
||||
<property name="settings.editor.selected.configurable" value="editor.preferences.completion" />
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
pluginGroup=me.cooljwb.vulnerabilitypatcher
|
||||
pluginVersion=v1.2.1
|
||||
pluginVersion=v1.3
|
|
@ -175,6 +175,16 @@ public class NBTModifier {
|
|||
}
|
||||
}
|
||||
|
||||
public boolean isDisconnectItem(Entity entity) {
|
||||
switch(getVersion()) {
|
||||
case "1.13.2":
|
||||
return nbt_1_13_2.isDisconnectItem(entity);
|
||||
case "1.14":
|
||||
return nbt_1_14.isDisconnectItem(entity);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public boolean isDisconnectItem(ItemStack item) {
|
||||
switch(getVersion()) {
|
||||
case "1.13.2":
|
||||
|
|
|
@ -11,6 +11,7 @@ import net.minecraft.server.v1_13_R2.NBTTagList;
|
|||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.entity.CraftEntity;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.entity.CraftItem;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.entity.CraftPlayer;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.inventory.CraftItemStack;
|
||||
import org.bukkit.entity.Arrow;
|
||||
|
@ -228,6 +229,11 @@ public class NBTModifier_1_13_2 {
|
|||
return isDisconnectItem(nmsItemStack.getTag());
|
||||
return false;
|
||||
}
|
||||
boolean isDisconnectItem(Entity entity) {
|
||||
if(entity instanceof CraftItem)
|
||||
return isDisconnectItem(entity);
|
||||
return false;
|
||||
}
|
||||
private boolean isDisconnectItem(NBTTagCompound item) {
|
||||
if(item != null) {
|
||||
if(item.hasKey("CustomPotionColor") && item.getInt("CustomPotionColor") < 0) {
|
||||
|
|
|
@ -11,6 +11,7 @@ import net.minecraft.server.v1_14_R1.NBTTagList;
|
|||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.entity.CraftEntity;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.entity.CraftItem;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.entity.CraftPlayer;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.inventory.CraftItemStack;
|
||||
import org.bukkit.entity.Arrow;
|
||||
|
@ -43,6 +44,8 @@ import java.util.logging.*;
|
|||
*/
|
||||
|
||||
/**
|
||||
* This is a class that does this and that.
|
||||
* Date: 2019-11-29
|
||||
* @author CoolJWB
|
||||
*/
|
||||
|
||||
|
@ -247,6 +250,11 @@ public class NBTModifier_1_14 {
|
|||
return isDisconnectItem(nmsItemStack.getTag());
|
||||
return false;
|
||||
}
|
||||
boolean isDisconnectItem(Entity entity) {
|
||||
if(entity instanceof CraftItem)
|
||||
return isDisconnectItem((CraftItem)entity);
|
||||
return false;
|
||||
}
|
||||
private boolean isDisconnectItem(NBTTagCompound item) {
|
||||
if(item != null) {
|
||||
if(item.hasKey("CustomPotionColor") && item.getInt("CustomPotionColor") < 0) {
|
||||
|
|
|
@ -7,7 +7,11 @@ import org.bukkit.block.Block;
|
|||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.block.Container;
|
||||
import org.bukkit.block.Jukebox;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.block.CraftJukebox;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.block.data.CraftBlockData;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.entity.CraftItem;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Item;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
@ -17,6 +21,7 @@ import org.bukkit.event.block.BlockBreakEvent;
|
|||
import org.bukkit.event.block.BlockDispenseEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.bukkit.event.entity.EntitySpawnEvent;
|
||||
import org.bukkit.event.entity.ItemSpawnEvent;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||
|
@ -108,7 +113,15 @@ public class Disconnect_Items extends Patches implements Listener {
|
|||
Jukebox box = (Jukebox) event.getBlockPlaced().getState();
|
||||
|
||||
if (box.getPlaying() != Material.AIR && !box.getPlaying().isRecord()) {
|
||||
box.setPlaying(Material.AIR);
|
||||
box.setRecord(null);
|
||||
clearItemMeta(box.getRecord());
|
||||
box.setBlockData(null);
|
||||
event.setCancelled(true);
|
||||
System.out.println("CLEARED");
|
||||
System.out.println("CLEARED");
|
||||
System.out.println("CLEARED");
|
||||
System.out.println("CLEARED");
|
||||
violation = true;
|
||||
}
|
||||
} catch(IllegalArgumentException e) {
|
||||
|
@ -147,6 +160,16 @@ public class Disconnect_Items extends Patches implements Listener {
|
|||
if (violation)
|
||||
notifyViolation("Unknown", "summon", event.getEntity().getName() + " with a disconnect item", event.getEntity().getLocation());
|
||||
}
|
||||
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onItemSpawnEvent(ItemSpawnEvent event) {
|
||||
if(isDisconnectItem(event.getEntity().getItemStack()))
|
||||
event.setCancelled(true);
|
||||
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
|
Loading…
Reference in a new issue