mirror of
https://github.com/TotalFreedomMC/VulnerabilityPatcher.git
synced 2025-02-05 14:22:52 +00:00
Commit v1.9
Added a fix to a serious vulnerability in an NBT tag (thanks to Discord user 4785#8781). Also made sure to only clear specificly large items instead of entire containers directly.
This commit is contained in:
parent
cb079cf483
commit
560dc36667
14 changed files with 101 additions and 48 deletions
|
@ -2,6 +2,7 @@
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="CompilerConfiguration">
|
<component name="CompilerConfiguration">
|
||||||
<bytecodeTargetLevel>
|
<bytecodeTargetLevel>
|
||||||
|
<module name="me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher" target="1.8" />
|
||||||
<module name="me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher.main" target="1.8" />
|
<module name="me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher.main" target="1.8" />
|
||||||
<module name="me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher.test" target="1.8" />
|
<module name="me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher.test" target="1.8" />
|
||||||
<module name="VulnerabilityPatcher.main" target="1.8" />
|
<module name="VulnerabilityPatcher.main" target="1.8" />
|
||||||
|
|
30
.idea/jarRepositories.xml
Normal file
30
.idea/jarRepositories.xml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RemoteRepositoriesConfiguration">
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="central" />
|
||||||
|
<option name="name" value="Maven Central repository" />
|
||||||
|
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="jboss.community" />
|
||||||
|
<option name="name" value="JBoss Community repository" />
|
||||||
|
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="MavenRepo" />
|
||||||
|
<option name="name" value="MavenRepo" />
|
||||||
|
<option name="url" value="https://repo.maven.apache.org/maven2/" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="destroystokyo-repo" />
|
||||||
|
<option name="name" value="destroystokyo-repo" />
|
||||||
|
<option name="url" value="https://repo.destroystokyo.com/repository/maven-public/" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="sonatype" />
|
||||||
|
<option name="name" value="sonatype" />
|
||||||
|
<option name="url" value="https://oss.sonatype.org/content/groups/public/" />
|
||||||
|
</remote-repository>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -1,5 +1,8 @@
|
||||||
<component name="libraryTable">
|
<component name="libraryTable">
|
||||||
<library name="Gradle: junit:junit:4.10">
|
<library name="Gradle: junit:junit:4.10">
|
||||||
|
<ANNOTATIONS>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/externalAnnotations/junit/junit/4.12-an1/junit-4.12-an1-annotations.zip!/" />
|
||||||
|
</ANNOTATIONS>
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.10/e4f1766ce7404a08f45d859fb9c226fc9e41a861/junit-4.10.jar!/" />
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.10/e4f1766ce7404a08f45d859fb9c226fc9e41a861/junit-4.10.jar!/" />
|
||||||
</CLASSES>
|
</CLASSES>
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
<component name="libraryTable">
|
<component name="libraryTable">
|
||||||
<library name="Gradle: junit:junit:4.12">
|
<library name="Gradle: junit:junit:4.12">
|
||||||
|
<ANNOTATIONS>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/externalAnnotations/junit/junit/4.12-an1/junit-4.12-an1-annotations.zip!/" />
|
||||||
|
</ANNOTATIONS>
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar!/" />
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar!/" />
|
||||||
</CLASSES>
|
</CLASSES>
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
<component name="libraryTable">
|
<component name="libraryTable">
|
||||||
<library name="Gradle: org.hamcrest:hamcrest-core:1.1">
|
<library name="Gradle: org.hamcrest:hamcrest-core:1.1">
|
||||||
|
<ANNOTATIONS>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/externalAnnotations/org/hamcrest/hamcrest-core/1.3-an1/hamcrest-core-1.3-an1-annotations.zip!/" />
|
||||||
|
</ANNOTATIONS>
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.1/860340562250678d1a344907ac75754e259cdb14/hamcrest-core-1.1.jar!/" />
|
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.1/860340562250678d1a344907ac75754e259cdb14/hamcrest-core-1.1.jar!/" />
|
||||||
</CLASSES>
|
</CLASSES>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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.8" 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" type="JAVA_MODULE" version="4">
|
||||||
<component name="CheckStyle-IDEA-Module">
|
<component name="CheckStyle-IDEA-Module">
|
||||||
<option name="configuration">
|
<option name="configuration">
|
||||||
<map />
|
<map />
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
</configuration>
|
</configuration>
|
||||||
</facet>
|
</facet>
|
||||||
</component>
|
</component>
|
||||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
<component name="NewModuleRootManager">
|
||||||
<output url="file://$MODULE_DIR$/../../build/classes/java/main" />
|
<output url="file://$MODULE_DIR$/../../build/classes/java/main" />
|
||||||
<exclude-output />
|
<exclude-output />
|
||||||
<content url="file://$MODULE_DIR$/../../src/main">
|
<content url="file://$MODULE_DIR$/../../src/main">
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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.8" 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" type="JAVA_MODULE" version="4">
|
||||||
<component name="FacetManager">
|
<component name="FacetManager">
|
||||||
<facet type="minecraft" name="Minecraft">
|
<facet type="minecraft" name="Minecraft">
|
||||||
<configuration>
|
<configuration>
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
</configuration>
|
</configuration>
|
||||||
</facet>
|
</facet>
|
||||||
</component>
|
</component>
|
||||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
<component name="NewModuleRootManager">
|
||||||
<output-test url="file://$MODULE_DIR$/../../build/classes/java/test" />
|
<output-test url="file://$MODULE_DIR$/../../build/classes/java/test" />
|
||||||
<exclude-output />
|
<exclude-output />
|
||||||
<content url="file://$MODULE_DIR$/../../src/test">
|
<content url="file://$MODULE_DIR$/../../src/test">
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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.8" 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" type="JAVA_MODULE" version="4">
|
||||||
<component name="CheckStyle-IDEA-Module">
|
<component name="CheckStyle-IDEA-Module">
|
||||||
<option name="configuration">
|
<option name="configuration">
|
||||||
<map />
|
<map />
|
||||||
|
|
|
@ -2,24 +2,21 @@
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ChangeListManager">
|
<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...">
|
<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$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Item_Names.java" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/.idea/jarRepositories.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__junit_junit_4_10.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__junit_junit_4_10.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__junit_junit_4_12.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__junit_junit_4_12.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_1.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_1.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.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/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/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$/.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$/gradle.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gradle.properties" 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/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.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/patches/Books.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Books.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Crash_Items.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Crash_Items.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Chests.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Containers.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/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/resources/plugin.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/plugin.yml" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
@ -43,11 +40,6 @@
|
||||||
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
|
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
|
||||||
<item name="VulnerabilityPatcher" type="f1a62948:ProjectNode" />
|
<item name="VulnerabilityPatcher" type="f1a62948:ProjectNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
|
||||||
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
|
|
||||||
<item name="VulnerabilityPatcher" type="f1a62948:ProjectNode" />
|
|
||||||
<item name="Source Sets" type="e897c970:GradleViewContributor$SourceSetsNode" />
|
|
||||||
</path>
|
|
||||||
<path>
|
<path>
|
||||||
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
|
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
|
||||||
<item name="VulnerabilityPatcher" type="f1a62948:ProjectNode" />
|
<item name="VulnerabilityPatcher" type="f1a62948:ProjectNode" />
|
||||||
|
@ -66,9 +58,6 @@
|
||||||
</state>
|
</state>
|
||||||
</system>
|
</system>
|
||||||
</component>
|
</component>
|
||||||
<component name="FavoritesManager">
|
|
||||||
<favorites_list name="VulnerabilityPatcher" />
|
|
||||||
</component>
|
|
||||||
<component name="FileTemplateManagerImpl">
|
<component name="FileTemplateManagerImpl">
|
||||||
<option name="RECENT_TEMPLATES">
|
<option name="RECENT_TEMPLATES">
|
||||||
<list>
|
<list>
|
||||||
|
@ -87,6 +76,10 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectId" id="1P6hFDIIQNwz5laK1QMMQH1wCha" />
|
<component name="ProjectId" id="1P6hFDIIQNwz5laK1QMMQH1wCha" />
|
||||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||||
|
<component name="ProjectViewState">
|
||||||
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
|
<option name="showLibraryContents" value="true" />
|
||||||
|
</component>
|
||||||
<component name="PropertiesComponent">
|
<component name="PropertiesComponent">
|
||||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||||
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1565016144369" />
|
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1565016144369" />
|
||||||
|
@ -101,18 +94,6 @@
|
||||||
<recent name="D:\DATA\Användare\Skrivbord\Programering\VulnerabilityPatcher\libs" />
|
<recent name="D:\DATA\Användare\Skrivbord\Programering\VulnerabilityPatcher\libs" />
|
||||||
</key>
|
</key>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunDashboard">
|
|
||||||
<option name="ruleStates">
|
|
||||||
<list>
|
|
||||||
<RuleState>
|
|
||||||
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
|
||||||
</RuleState>
|
|
||||||
<RuleState>
|
|
||||||
<option name="name" value="StatusDashboardGroupingRule" />
|
|
||||||
</RuleState>
|
|
||||||
</list>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
<component name="RunManager">
|
<component name="RunManager">
|
||||||
<configuration name="VulnerabilityPatcher build" type="GradleRunConfiguration" factoryName="Gradle">
|
<configuration name="VulnerabilityPatcher build" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
<ExternalSystemSettings>
|
<ExternalSystemSettings>
|
||||||
|
@ -145,6 +126,13 @@
|
||||||
<option name="presentableId" value="Default" />
|
<option name="presentableId" value="Default" />
|
||||||
<updated>1557533923338</updated>
|
<updated>1557533923338</updated>
|
||||||
</task>
|
</task>
|
||||||
|
<task id="LOCAL−00001" summary="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...">
|
||||||
|
<created>1595202547911</created>
|
||||||
|
<option name="number" value="LOCAL−00001" />
|
||||||
|
<option name="presentableId" value="LOCAL−00001" />
|
||||||
|
<updated>1595202547911</updated>
|
||||||
|
</task>
|
||||||
|
<option name="localTasksCounter" value="2" />
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="Vcs.Log.Tabs.Properties">
|
<component name="Vcs.Log.Tabs.Properties">
|
||||||
|
@ -152,16 +140,33 @@
|
||||||
<map>
|
<map>
|
||||||
<entry key="MAIN">
|
<entry key="MAIN">
|
||||||
<value>
|
<value>
|
||||||
<State>
|
<State />
|
||||||
<option name="COLUMN_ORDER" />
|
|
||||||
</State>
|
|
||||||
</value>
|
</value>
|
||||||
</entry>
|
</entry>
|
||||||
</map>
|
</map>
|
||||||
</option>
|
</option>
|
||||||
|
<option name="oldMeFiltersMigrated" value="true" />
|
||||||
</component>
|
</component>
|
||||||
<component name="VcsManagerConfiguration">
|
<component name="VcsManagerConfiguration">
|
||||||
<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..." />
|
<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..." />
|
||||||
<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..." />
|
<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>
|
||||||
|
<component name="WindowStateProjectService">
|
||||||
|
<state width="1877" height="234" key="GridCell.Tab.0.bottom" timestamp="1597494377255">
|
||||||
|
<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="1597494377255" />
|
||||||
|
<state width="1877" height="234" key="GridCell.Tab.0.center" timestamp="1597494377254">
|
||||||
|
<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="1597494377254" />
|
||||||
|
<state width="1877" height="234" key="GridCell.Tab.0.left" timestamp="1597494377254">
|
||||||
|
<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="1597494377254" />
|
||||||
|
<state width="1877" height="234" key="GridCell.Tab.0.right" timestamp="1597494377255">
|
||||||
|
<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="1597494377255" />
|
||||||
|
</component>
|
||||||
</project>
|
</project>
|
|
@ -1,2 +1,2 @@
|
||||||
pluginGroup=me.cooljwb.vulnerabilitypatcher
|
pluginGroup=me.cooljwb.vulnerabilitypatcher
|
||||||
pluginVersion=v1.8
|
pluginVersion=v1.9
|
|
@ -26,6 +26,7 @@ import org.bukkit.projectiles.ProjectileSource;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.logging.*;
|
import java.util.logging.*;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright 2019 CoolJWB
|
* Copyright 2019 CoolJWB
|
||||||
|
@ -187,13 +188,14 @@ public class NBTModifier_1_16 {
|
||||||
net.minecraft.server.v1_16_R1.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(item);
|
net.minecraft.server.v1_16_R1.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(item);
|
||||||
|
|
||||||
if(nmsItemStack.getTag() != null) {
|
if(nmsItemStack.getTag() != null) {
|
||||||
|
Pattern pattern = Pattern.compile("([^a-z0-9/._-])");
|
||||||
NBTTagCompound blockentitytag = nmsItemStack.getTag().getCompound("BlockEntityTag");
|
NBTTagCompound blockentitytag = nmsItemStack.getTag().getCompound("BlockEntityTag");
|
||||||
NBTTagList itemlist = blockentitytag.getList("Items", 10);
|
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")) {
|
if(itemtag.toString().contains("translation.test.invalid") || pattern.matcher(blockentitytag.getString("LootTable")).find()) {
|
||||||
fired_countermeasure("containsCrashItem");
|
fired_countermeasure("containsCrashItem");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,8 +50,9 @@ public class Crash_Items extends Patches implements Listener {
|
||||||
|
|
||||||
for(int c = 0; c < container.getInventory().getSize(); c++) {
|
for(int c = 0; c < container.getInventory().getSize(); c++) {
|
||||||
if(container.getInventory().getItem(c) != null) {
|
if(container.getInventory().getItem(c) != null) {
|
||||||
if (container.getInventory().getItem(c).isSimilar(event.getItem()))
|
if (container.getInventory().getItem(c).isSimilar(event.getItem())) {
|
||||||
container.getInventory().getItem(c).setItemMeta(null);
|
container.getInventory().getItem(c).setItemMeta(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,8 +65,9 @@ public class Crash_Items extends Patches implements Listener {
|
||||||
|
|
||||||
for(int c = 0; c < container.getInventory().getSize(); c++) {
|
for(int c = 0; c < container.getInventory().getSize(); c++) {
|
||||||
if(container.getInventory().getItem(c) != null) {
|
if(container.getInventory().getItem(c) != null) {
|
||||||
if (container.getInventory().getItem(c).isSimilar(event.getItem()))
|
if (container.getInventory().getItem(c).isSimilar(event.getItem())) {
|
||||||
container.getInventory().getItem(c).setItemMeta(null);
|
container.getInventory().getItem(c).setItemMeta(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +81,7 @@ public class Crash_Items extends Patches implements Listener {
|
||||||
public void onPlayerInteractEvent(PlayerInteractEvent event) {
|
public void onPlayerInteractEvent(PlayerInteractEvent event) {
|
||||||
ItemStack item = event.getItem();
|
ItemStack item = event.getItem();
|
||||||
|
|
||||||
if(isCrashItem(item)) {
|
if(isCrashItem(item) || containsCrashItem(item)) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
clearItemMeta(event.getItem());
|
clearItemMeta(event.getItem());
|
||||||
|
|
||||||
|
@ -116,19 +118,23 @@ public class Crash_Items extends Patches implements Listener {
|
||||||
Player player = null;
|
Player player = null;
|
||||||
if(event.getWhoClicked() instanceof Player) {
|
if(event.getWhoClicked() instanceof Player) {
|
||||||
player = Bukkit.getPlayer(event.getWhoClicked().getUniqueId());
|
player = Bukkit.getPlayer(event.getWhoClicked().getUniqueId());
|
||||||
if(!event.getEventName().equals("InventoryCreativeEvent"))
|
|
||||||
|
if(!event.getEventName().equals("InventoryCreativeEvent")) {
|
||||||
msg(player, SMG.ITEM.msg);
|
msg(player, SMG.ITEM.msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!event.getEventName().equals("InventoryCreativeEvent"))
|
if(!event.getEventName().equals("InventoryCreativeEvent")) {
|
||||||
notifyViolation(player, "acquire", "crash item", player.getLocation());
|
notifyViolation(player, "acquire", "crash item", player.getLocation());
|
||||||
|
}
|
||||||
|
|
||||||
BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
|
BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
|
||||||
scheduler.scheduleSyncDelayedTask(main, new Runnable() {
|
scheduler.scheduleSyncDelayedTask(main, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
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);
|
}, 0L);
|
||||||
}
|
}
|
||||||
|
|
|
@ -223,7 +223,7 @@ public class Disconnect_Items extends Patches implements Listener {
|
||||||
|
|
||||||
StringBuilder inventoryString = new StringBuilder();
|
StringBuilder inventoryString = new StringBuilder();
|
||||||
for (ItemStack item : container.getInventory().getContents()) {
|
for (ItemStack item : container.getInventory().getContents()) {
|
||||||
if(isDisconnectItem(item)) {
|
if(isDisconnectItem(item) || itemToString(item).length() >= 65535) {
|
||||||
clearItemMeta(item);
|
clearItemMeta(item);
|
||||||
}
|
}
|
||||||
inventoryString.append(itemToString(item));
|
inventoryString.append(itemToString(item));
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
name: VulnerabilityPatcher
|
name: VulnerabilityPatcher
|
||||||
version: "1.8"
|
version: "1.9"
|
||||||
api-version: 1.13
|
api-version: 1.13
|
||||||
main: me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher
|
main: me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher
|
||||||
authors: [CoolJWB]
|
authors: [CoolJWB]
|
||||||
|
|
Loading…
Reference in a new issue