mirror of
https://github.com/TotalFreedomMC/VulnerabilityPatcher.git
synced 2025-02-05 06:12:46 +00:00
Commit v0.2.1
Fixed issues with disconnect items.
This commit is contained in:
parent
755c1b8240
commit
9ab7948625
21 changed files with 396 additions and 319 deletions
9
.idea/VulnerabilityPatcher.iml
Normal file
9
.idea/VulnerabilityPatcher.iml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/VulnerabilityPatcher.iml" filepath="$PROJECT_DIR$/.idea/VulnerabilityPatcher.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
75
.idea/workspace-SK54BF641F610A.xml
Normal file
75
.idea/workspace-SK54BF641F610A.xml
Normal file
|
@ -0,0 +1,75 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="4936b74f-7f02-49b6-ab4a-bce2a5ed4ff7" name="Default Changelist" comment="" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="ProjectFrameBounds" extendedState="6">
|
||||
<option name="x" value="-10" />
|
||||
<option name="y" value="-10" />
|
||||
<option name="width" value="1750" />
|
||||
<option name="height" value="980" />
|
||||
</component>
|
||||
<component name="ProjectView">
|
||||
<navigator proportions="" version="1">
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="Scope" />
|
||||
<pane id="ProjectPane" />
|
||||
</panes>
|
||||
</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="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="4936b74f-7f02-49b6-ab4a-bce2a5ed4ff7" name="Default Changelist" comment="" />
|
||||
<created>1548667472501</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1548667472501</updated>
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
|
||||
<layout>
|
||||
<window_info id="Designer" />
|
||||
<window_info id="UI Designer" />
|
||||
<window_info id="Favorites" side_tool="true" />
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.24966443" />
|
||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Version Control" />
|
||||
<window_info anchor="bottom" id="Terminal" />
|
||||
<window_info anchor="bottom" id="Event Log" side_tool="true" />
|
||||
<window_info anchor="bottom" id="Message" order="0" />
|
||||
<window_info anchor="bottom" id="Find" order="1" />
|
||||
<window_info anchor="bottom" id="Run" order="2" />
|
||||
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
|
||||
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
||||
<window_info anchor="bottom" id="TODO" order="6" />
|
||||
<window_info anchor="right" id="Palette" />
|
||||
<window_info anchor="right" id="Maven" />
|
||||
<window_info anchor="right" id="Palette	" />
|
||||
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
||||
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
||||
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
||||
</layout>
|
||||
</component>
|
||||
</project>
|
|
@ -1,31 +1,26 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="1f395f0b-1a62-4de7-8311-18be358f8f46" name="Default Changelist" comment="">
|
||||
<list default="true" id="3d5d2873-4535-445c-81cf-26429875d278" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/bin/main/config.yml" beforeDir="false" afterPath="$PROJECT_DIR$/bin/main/config.yml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/bin/main/plugin.yml" beforeDir="false" afterPath="$PROJECT_DIR$/bin/main/plugin.yml" 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/SMG.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/SMG.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/CommandGetNBT.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/commands/CommandGetNBT.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/patches/Arrows.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Arrows.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_Egg.java" beforeDir="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/Death_Items.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Death_Items.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Death_Potions.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Death_Potions.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/Entity_Tag.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Entity_Tag.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Follow_Range.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Follow_Range.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/java/me/cooljwb/vulnerabilitypatcher/patches/Player_Knockback.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Arrows.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Rouge_Entity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Rouge_Entity.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Trident_Riptide.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Trident_Riptide.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" />
|
||||
</list>
|
||||
<ignored path="$PROJECT_DIR$/out/" />
|
||||
<ignored path="$PROJECT_DIR$/.gradle/" />
|
||||
<ignored path="$PROJECT_DIR$/build/" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
@ -40,52 +35,34 @@
|
|||
<component name="FileEditorManager">
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300" />
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Enum" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/README.md" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/SMG.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Entity_IDs.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/commands/CommandGetNBT.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/ConfigManager.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/Items.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Crash_Egg.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Entity_Tag.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Death_Potions.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Arrows.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Books.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Crash_Items.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Death_Items.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Entity_Tag.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Player_Knockback.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Follow_Range.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Trident_Riptide.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Patches.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Disconnect_Items.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Follow_Range.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Arrows.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/resources/config.yml" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Rouge_Entity.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/VulnerabilityPatcher.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/resources/plugin.yml" />
|
||||
<option value="$PROJECT_DIR$/gradle.properties" />
|
||||
<option value="$PROJECT_DIR$/src/main/resources/plugin.yml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectFrameBounds" extendedState="6">
|
||||
<option name="x" value="324" />
|
||||
<option name="y" value="100" />
|
||||
<option name="width" value="1440" />
|
||||
<option name="height" value="780" />
|
||||
<option name="x" value="62" />
|
||||
<option name="y" value="46" />
|
||||
<option name="width" value="1750" />
|
||||
<option name="height" value="980" />
|
||||
</component>
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||
<component name="ProjectView">
|
||||
<navigator proportions="" version="1">
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
|
@ -99,48 +76,6 @@
|
|||
<item name="VulnerabilityPatcher" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="VulnerabilityPatcher" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="VulnerabilityPatcher" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="VulnerabilityPatcher" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="VulnerabilityPatcher" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="VulnerabilityPatcher" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="VulnerabilityPatcher" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="VulnerabilityPatcher" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="java" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="VulnerabilityPatcher" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="VulnerabilityPatcher" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="java" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="vulnerabilitypatcher" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="VulnerabilityPatcher" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="VulnerabilityPatcher" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="java" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="vulnerabilitypatcher" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="patches" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="VulnerabilityPatcher" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="VulnerabilityPatcher" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="resources" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
|
@ -148,9 +83,6 @@
|
|||
<pane id="Scope" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1548451724817" />
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
<list>
|
||||
|
@ -168,241 +100,174 @@
|
|||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="1f395f0b-1a62-4de7-8311-18be358f8f46" name="Default Changelist" comment="" />
|
||||
<created>1547829118400</created>
|
||||
<changelist id="3d5d2873-4535-445c-81cf-26429875d278" name="Default Changelist" comment="" />
|
||||
<created>1549009858370</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1547829118400</updated>
|
||||
<updated>1549009858370</updated>
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TodoView">
|
||||
<todo-panel id="selected-file">
|
||||
<is-autoscroll-to-source value="true" />
|
||||
</todo-panel>
|
||||
<todo-panel id="all">
|
||||
<are-packages-shown value="true" />
|
||||
<is-autoscroll-to-source value="true" />
|
||||
</todo-panel>
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
|
||||
<layout>
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.15724947" />
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.25746268" />
|
||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||
<window_info id="Image Layers" order="2" />
|
||||
<window_info id="Designer" order="3" />
|
||||
<window_info id="Capture Tool" order="4" />
|
||||
<window_info id="UI Designer" order="5" />
|
||||
<window_info id="Favorites" order="6" side_tool="true" />
|
||||
<window_info id="Designer" order="2" />
|
||||
<window_info id="UI Designer" order="3" />
|
||||
<window_info id="Favorites" order="4" side_tool="true" />
|
||||
<window_info id="Image Layers" order="5" />
|
||||
<window_info id="Capture Tool" order="6" />
|
||||
<window_info anchor="bottom" id="Build" />
|
||||
<window_info anchor="bottom" id="Message" order="0" />
|
||||
<window_info anchor="bottom" id="Find" order="1" weight="0.32936078" />
|
||||
<window_info anchor="bottom" id="Find" order="1" />
|
||||
<window_info anchor="bottom" id="Run" order="2" />
|
||||
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
|
||||
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
||||
<window_info anchor="bottom" id="TODO" order="6" />
|
||||
<window_info anchor="bottom" id="Terminal" order="7" />
|
||||
<window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
|
||||
<window_info anchor="bottom" id="Version Control" order="9" />
|
||||
<window_info anchor="bottom" id="Build" order="10" weight="0.32936078" />
|
||||
<window_info anchor="bottom" id="TODO" order="6" weight="0.32936078" />
|
||||
<window_info anchor="bottom" id="Version Control" order="7" />
|
||||
<window_info anchor="bottom" id="Terminal" order="8" />
|
||||
<window_info anchor="bottom" id="Event Log" order="9" side_tool="true" />
|
||||
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
||||
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
||||
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
||||
<window_info anchor="right" id="Palette" order="3" />
|
||||
<window_info anchor="right" id="Maven" order="4" />
|
||||
<window_info anchor="right" id="Gradle" order="5" />
|
||||
<window_info anchor="right" id="Theme Preview" order="6" />
|
||||
<window_info anchor="right" id="Capture Analysis" order="7" />
|
||||
<window_info anchor="right" id="Palette	" order="8" />
|
||||
<window_info anchor="right" id="Palette	" order="5" />
|
||||
<window_info anchor="right" id="Capture Analysis" order="6" />
|
||||
<window_info anchor="right" id="Gradle" order="7" />
|
||||
<window_info anchor="right" id="Theme Preview" order="8" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/LICENSE.md">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-663" />
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/gradlew">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-2397" />
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/README.md">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="187">
|
||||
<caret line="11" column="76" lean-forward="true" selection-start-line="11" selection-start-column="76" selection-end-line="11" selection-end-column="76" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/SMG.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="561">
|
||||
<caret line="33" column="71" lean-forward="true" selection-start-line="33" selection-start-column="71" selection-end-line="33" selection-end-column="71" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/commands/CommandGetNBT.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="493">
|
||||
<caret line="43" column="105" lean-forward="true" selection-start-line="43" selection-start-column="105" selection-end-line="43" selection-end-column="105" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/ConfigManager.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/Items.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/commands/CommandVulnerabilityPatcher.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="130">
|
||||
<caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="13" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="jar://$PROJECT_DIR$/libs/spigot-1.13.2.jar!/net/minecraft/server/v1_13_R2/EntityArrow.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="306">
|
||||
<caret line="307" column="10" lean-forward="true" selection-start-line="307" selection-start-column="10" selection-end-line="307" selection-end-column="10" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="jar://$PROJECT_DIR$/libs/spigot-1.13.2.jar!/net/minecraft/server/v1_13_R2/GeneratorAccess.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="102">
|
||||
<caret line="10" column="17" selection-start-line="10" selection-start-column="17" selection-end-line="10" selection-end-column="17" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="jar://$PROJECT_DIR$/libs/spigot-1.13.2.jar!/net/minecraft/server/v1_13_R2/Block.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-187">
|
||||
<caret line="25" column="13" selection-start-line="25" selection-start-column="13" selection-end-line="25" selection-end-column="13" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Books.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="476">
|
||||
<caret line="62" column="57" selection-start-line="62" selection-start-column="57" selection-end-line="62" selection-end-column="57" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Crash_Egg.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="286">
|
||||
<caret line="47" column="41" lean-forward="true" selection-start-line="47" selection-start-column="41" selection-end-line="47" selection-end-column="41" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Crash_Items.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2329">
|
||||
<caret line="159" column="57" selection-start-line="159" selection-start-column="57" selection-end-line="159" selection-end-column="57" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Death_Items.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-357">
|
||||
<caret line="107" column="19" lean-forward="true" selection-start-line="107" selection-start-column="19" selection-end-line="107" selection-end-column="19" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Death_Potions.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="17">
|
||||
<caret line="59" column="57" selection-start-line="59" selection-start-column="57" selection-end-line="59" selection-end-column="57" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Follow_Range.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="34">
|
||||
<caret line="2" column="7" selection-start-line="2" selection-start-column="7" selection-end-line="2" selection-end-column="7" />
|
||||
<state relative-caret-position="408">
|
||||
<caret line="24" column="12" selection-start-line="24" selection-start-column="12" selection-end-line="24" selection-end-column="12" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Arrows.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="116">
|
||||
<caret line="35" selection-start-line="35" selection-end-line="35" />
|
||||
<state relative-caret-position="722">
|
||||
<caret line="73" column="21" selection-start-line="73" selection-start-column="21" selection-end-line="73" selection-end-column="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/config.yml">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Books.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="170">
|
||||
<caret line="10" column="10" selection-start-line="10" selection-start-column="10" selection-end-line="10" selection-end-column="10" />
|
||||
<state relative-caret-position="-43">
|
||||
<caret line="62" column="21" selection-start-line="62" selection-start-column="21" selection-end-line="62" selection-end-column="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Patches.java">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Crash_Items.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="147">
|
||||
<caret line="159" column="21" selection-start-line="159" selection-start-column="21" selection-end-line="159" selection-end-column="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Death_Potions.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="537">
|
||||
<caret line="93" column="21" selection-start-line="93" selection-start-column="21" selection-end-line="93" selection-end-column="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Follow_Range.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="680">
|
||||
<caret line="104" column="44" selection-start-line="104" selection-start-column="44" selection-end-line="104" selection-end-column="44" />
|
||||
<caret line="48" column="21" selection-start-line="48" selection-start-column="8" selection-end-line="48" selection-end-column="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Rouge_Entity.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="368">
|
||||
<caret line="40" lean-forward="true" selection-start-line="40" selection-end-line="40" />
|
||||
<state relative-caret-position="283">
|
||||
<caret line="35" column="13" selection-start-line="35" selection-start-column="13" selection-end-line="35" selection-end-column="13" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Trident_Riptide.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="195">
|
||||
<caret line="39" column="66" selection-start-line="39" selection-start-column="66" selection-end-line="39" selection-end-column="66" />
|
||||
<state relative-caret-position="722">
|
||||
<caret line="72" column="21" selection-start-line="72" selection-start-column="21" selection-end-line="72" selection-end-column="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Entity_Tag.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="640">
|
||||
<caret line="51" column="21" selection-start-line="51" selection-start-column="21" selection-end-line="51" selection-end-column="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Death_Items.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1357">
|
||||
<caret line="126" column="21" selection-start-line="126" selection-start-column="21" selection-end-line="126" selection-end-column="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Patches.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="782">
|
||||
<caret line="110" column="64" selection-start-line="110" selection-start-column="64" selection-end-line="110" selection-end-column="64" />
|
||||
<folding>
|
||||
<element signature="e#6590#6591#0" expanded="true" />
|
||||
<element signature="e#6686#6687#0" expanded="true" />
|
||||
<element signature="e#9970#9971#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/VulnerabilityPatcher.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="78">
|
||||
<caret line="24" column="45" lean-forward="true" selection-start-line="24" selection-start-column="45" selection-end-line="24" selection-end-column="45" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Disconnect_Items.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2170">
|
||||
<caret line="164" column="32" selection-start-line="164" selection-start-column="32" selection-end-line="164" selection-end-column="32" />
|
||||
<state relative-caret-position="-1502">
|
||||
<caret line="73" column="13" lean-forward="true" selection-start-line="73" selection-start-column="13" selection-end-line="73" selection-end-column="13" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/build.gradle">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/gradlew">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/gradle.properties">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="17">
|
||||
<caret line="1" column="18" selection-start-line="1" selection-start-column="18" selection-end-line="1" selection-end-column="18" />
|
||||
<caret line="1" column="20" selection-start-line="1" selection-start-column="20" selection-end-line="1" selection-end-column="20" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/README.md">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/plugin.yml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="17">
|
||||
<caret line="1" column="12" selection-start-line="1" selection-start-column="12" selection-end-line="1" selection-end-column="12" />
|
||||
<caret line="1" column="14" selection-start-line="1" selection-start-column="14" selection-end-line="1" selection-end-column="14" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/patches/Entity_Tag.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="272">
|
||||
<caret line="29" column="5" lean-forward="true" selection-start-line="29" selection-start-column="5" selection-end-line="29" selection-end-column="5" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/me/cooljwb/vulnerabilitypatcher/VulnerabilityPatcher.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="586">
|
||||
<caret line="125" selection-start-line="125" selection-end-line="125" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
<state key="ProjectJDKs.UI">
|
||||
<settings>
|
||||
<last-edited>1.8</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
</states>
|
||||
</component>
|
||||
</project>
|
|
@ -4,8 +4,7 @@ VulnerabilityPatcher is a light weight Spigot plugin that runs on 1.13.2 servers
|
|||
Its task is to prevent bugs in Spigot to cause issues for both the server and the players.
|
||||
|
||||
**Patches:**
|
||||
It currently prevents 4 server crash bugs, 2 client crash bugs, 2 disconnect bugs,
|
||||
2 bugs that kills creative users and 1 that causes commands to run when clicking in books.
|
||||
It currently prevents 15+ vulnerabilities from being executed.
|
||||
|
||||
**Planned:**
|
||||
- More security patches.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# VulnerabilityPatcher by CoolJWB.
|
||||
|
||||
# Patches: DeathPotions, DeathItems, CrashItems, Books, RougeEntity, Knockback, Riptide, FollowRange, DisconnectItems, CrashEgg, EntityTag.
|
||||
# Patches: DeathPotions, DeathItems, CrashItems, Books, RougeEntity, Arrows, Riptide, FollowRange, DisconnectItems, EntityTag.
|
||||
# All patches added in the list below will be activated on server startup.
|
||||
Patches:
|
||||
- DeathPotions
|
||||
|
@ -8,11 +8,10 @@ Patches:
|
|||
- CrashItems
|
||||
- Books
|
||||
- RougeEntity
|
||||
- Knockback
|
||||
- Arrows
|
||||
- Riptide
|
||||
- FollowRange
|
||||
- DisconnectItems
|
||||
- CrashEgg
|
||||
- EntityTag
|
||||
|
||||
# All entities added below will be blocked to use in a spawn egg.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name: VulnerabilityPatcher
|
||||
version: 0.1.2
|
||||
version: 0.2
|
||||
main: me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher
|
||||
api-version: 1.13
|
||||
authors: [CoolJWB]
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
pluginGroup=me.CoolJWB.VulnerabilityPatcher
|
||||
pluginVersion=v0.2
|
||||
pluginVersion=v0.2.1
|
||||
|
|
|
@ -32,6 +32,7 @@ public enum SMG {
|
|||
"&8 - &7/getnbt &aPrint the item in hands NBT."),
|
||||
|
||||
ITEM(SMG.VULNERABILITYPATCHER.msg + "&cThis item is not allowed."),
|
||||
ITEMS(SMG.VULNERABILITYPATCHER.msg + "&cAn item in your inventory has been cleared for being potentially dangerous."),
|
||||
ITEM_IN_CONTAINER(SMG.VULNERABILITYPATCHER.msg + "&cAn item in this container is not allowed."),
|
||||
ITEM_NOTIFY(SMG.VULNERABILITYPATCHER.msg + "&c%s tried to %s a %s at x:%s y:%s z:%s"),
|
||||
|
||||
|
|
|
@ -38,6 +38,10 @@ import java.util.logging.Logger;
|
|||
public final class VulnerabilityPatcher extends JavaPlugin {
|
||||
|
||||
/*
|
||||
* TODO: Fix that disconnect item shulkers return null in dispensers.
|
||||
* TODO: Issues with potions?
|
||||
* TODO: Fix command signs.
|
||||
* TODO: Fix ReflectionToStringBuilder parse error in shulker.
|
||||
* Patches: Books with commands, Invalid translations (crashes both client and server), Death Items, Death Potions, Rouge Entities, Arrow knockback, Trident speed,
|
||||
* Large follow range, Disconnect Items, Crash Eggs, Knowledge Books, Negative Damage Arrows, much more.
|
||||
*/
|
||||
|
@ -121,7 +125,28 @@ public final class VulnerabilityPatcher extends JavaPlugin {
|
|||
String confstr = FileUtils.readFileToString(conf);
|
||||
|
||||
if(confstr.contains("ConfVersion")) {
|
||||
// Foundation of automatic update system.
|
||||
// Check if this prints the real config version.
|
||||
//switch(main.getConfig().getInt("ConfVersion")) { // Switch the versions, and try to update all versions forward.
|
||||
// This won't be needed yet, since all versions before this will trigger the config.yml reset.
|
||||
// This is now generating ConfVersion 0. Next version will need to update from ConfVersion 0 to 1.
|
||||
|
||||
/*
|
||||
case 0:
|
||||
if(confstr.contains("CrashSigns"))
|
||||
confstr = confstr.replaceAll("CrashSigns", "CrashItems");
|
||||
|
||||
if(!confstr.contains("EntityTag"))
|
||||
|
||||
// Does this really work if you have changed the config.yml so it has no spacing/new lines or?
|
||||
if(!confstr.contains("BlockedEntityTags")) {
|
||||
confstr = new StringBuilder(confstr).insert((confstr.indexOf("Commands") - 2), "\n# All entity tags that are added here are blocked to use in a monster spawn egg.\n" +
|
||||
"BlockedEntityTags:\n" +
|
||||
" - lightning_bolt\n" +
|
||||
" - falling_block\n").toString();
|
||||
}
|
||||
*/
|
||||
//}
|
||||
//FileUtils.write(conf, confstr);
|
||||
}
|
||||
|
||||
else {
|
||||
|
|
|
@ -41,7 +41,7 @@ public class Arrows extends Patches implements Listener {
|
|||
if(event.getVelocity().getX() > 10 || event.getVelocity().getY() > 10 || event.getVelocity().getZ() > 10)
|
||||
event.setCancelled(true);
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
@ -56,7 +56,7 @@ public class Arrows extends Patches implements Listener {
|
|||
arrow.setDamage(0);
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -71,6 +71,6 @@ public class Arrows extends Patches implements Listener {
|
|||
arrow.setDamage(0);
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ public class Books extends Patches implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
public void writtenBook(Player player, EquipmentSlot hand) {
|
||||
|
|
|
@ -80,7 +80,7 @@ public class Crash_Items extends Patches implements Listener {
|
|||
notifyViolation(event.getBlock().getType().toString(), "drop", event.getItem().getType() + " with crash item in it", event.getBlock().getLocation());
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -96,7 +96,7 @@ public class Crash_Items extends Patches implements Listener {
|
|||
notifyViolation(player, "interact with", "crash item", player.getLocation());
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -115,7 +115,7 @@ public class Crash_Items extends Patches implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -141,7 +141,7 @@ public class Crash_Items extends Patches implements Listener {
|
|||
}, 0L);
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -157,7 +157,7 @@ public class Crash_Items extends Patches implements Listener {
|
|||
notifyViolation(player, "drop", "crash item", player.getLocation());
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
public static boolean isCrashItem(ItemStack item) {
|
||||
|
|
|
@ -62,7 +62,7 @@ public class Death_Items extends Patches implements Listener {
|
|||
notifyViolation("Dispenser", "place", event.getItem().getType() + " with death item in it", event.getBlock().getLocation());
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -82,7 +82,7 @@ public class Death_Items extends Patches implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -108,7 +108,7 @@ public class Death_Items extends Patches implements Listener {
|
|||
}, 0L);
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -124,22 +124,26 @@ public class Death_Items extends Patches implements Listener {
|
|||
notifyViolation(player, "drop", "death item", player.getLocation());
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
public static boolean isDeathItem(ItemStack item) {
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(item);
|
||||
|
||||
if(nmsItemStack != null && nmsItemStack.hasTag())
|
||||
return isDeathItem(nmsItemStack.getTag());
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean isDeathItem(NBTTagCompound item) {
|
||||
if(item != null) {
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(item);
|
||||
NBTTagList attrlist = item.getList("AttributeModifiers", 10);
|
||||
|
||||
if(nmsItemStack.getTag() != null) {
|
||||
NBTTagList attrlist = nmsItemStack.getTag().getList("AttributeModifiers", 10);
|
||||
|
||||
if(attrlist != null) {
|
||||
for(int i = 0; i < attrlist.size(); i++) {
|
||||
NBTTagCompound compound = (NBTTagCompound)attrlist.get(i);
|
||||
if((compound.getString("Name").equalsIgnoreCase("MAX_HEALTH") || compound.getString("AttributeName").equalsIgnoreCase("generic.maxHealth")) && compound.getDouble("Amount") <= 0)
|
||||
return true;
|
||||
}
|
||||
if(attrlist != null) {
|
||||
for(int i = 0; i < attrlist.size(); i++) {
|
||||
NBTTagCompound compound = (NBTTagCompound)attrlist.get(i);
|
||||
if((compound.getString("Name").equalsIgnoreCase("MAX_HEALTH") || compound.getString("AttributeName").equalsIgnoreCase("generic.maxHealth")) && compound.getDouble("Amount") <= 0)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ public class Death_Potions extends Patches implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -74,7 +74,7 @@ public class Death_Potions extends Patches implements Listener {
|
|||
notifyViolation(player, "splash", "death potion", player.getLocation());
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -91,7 +91,7 @@ public class Death_Potions extends Patches implements Listener {
|
|||
notifyViolation(player, "splash", "death potion", player.getLocation());
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
public static boolean isDeathPotion(List<PotionEffect> effects) {
|
||||
|
|
|
@ -62,6 +62,8 @@ public class Disconnect_Items extends Patches implements Listener {
|
|||
|
||||
String invstr = "";
|
||||
for (ItemStack item : container.getInventory().getContents()) {
|
||||
if(isDisconnectItem(item))
|
||||
clearItemMeta(item);
|
||||
invstr = invstr + itemToString(item);
|
||||
}
|
||||
|
||||
|
@ -72,26 +74,33 @@ public class Disconnect_Items extends Patches implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onBlockDispenseEvent(BlockDispenseEvent event) {
|
||||
if(containsDisconnectItem(event.getItem())) {
|
||||
ItemStack item = event.getItem();
|
||||
|
||||
if(isDisconnectItem(item)) {
|
||||
event.setCancelled(true);
|
||||
clearItemMeta(item);
|
||||
}
|
||||
|
||||
if(containsDisconnectItem(item)) {
|
||||
event.setCancelled(true);
|
||||
Container container = (Container) event.getBlock().getState();
|
||||
|
||||
for(int c = 0; c < container.getInventory().getSize(); c++) {
|
||||
if(container.getInventory().getItem(c) != null) {
|
||||
if (container.getInventory().getItem(c).isSimilar(event.getItem()))
|
||||
container.getInventory().getItem(c).setItemMeta(null);
|
||||
clearItemMeta(container.getInventory().getItem(c));
|
||||
}
|
||||
}
|
||||
|
||||
notifyViolation("Dispenser", "place", event.getItem().getType() + " with disconnect item in it", event.getBlock().getLocation());
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -111,7 +120,7 @@ public class Disconnect_Items extends Patches implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -137,7 +146,7 @@ public class Disconnect_Items extends Patches implements Listener {
|
|||
}, 0L);
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -153,17 +162,25 @@ public class Disconnect_Items extends Patches implements Listener {
|
|||
notifyViolation(player, "drop", "disconnect item", player.getLocation());
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
public boolean isDisconnectItem(ItemStack item) {
|
||||
if(item != null) {
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(item);
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(item);
|
||||
|
||||
if(nmsItemStack != null && nmsItemStack.getTag() != null) {
|
||||
if((nmsItemStack.getTag().getInt("CustomPotionColor") < 0) || (nmsItemStack.getTag().getCompound("display").getInt("color") < 0) || (nmsItemStack.getTag().toString().length() > 50000) || isMovementDisconnectItem(nmsItemStack) || isInvalidAttributeName(nmsItemStack))
|
||||
return true;
|
||||
}
|
||||
if(nmsItemStack != null && nmsItemStack.hasTag())
|
||||
return isDisconnectItem(nmsItemStack.getTag());
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isDisconnectItem(NBTTagCompound item) {
|
||||
if(item != null) {
|
||||
if(item.hasKey("CustomPotionColor") && item.getInt("CustomPotionColor") <= 0)
|
||||
return true;
|
||||
else if(item.getCompound("display").hasKey("color") && item.getCompound("display").getInt("color") <= 0)
|
||||
return true;
|
||||
else if(item.toString().length() > 50000 || isMovementDisconnectItem(item) || isInvalidAttributeName(item))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -177,8 +194,8 @@ public class Disconnect_Items extends Patches implements Listener {
|
|||
|
||||
if(items != null) {
|
||||
for (int a = 0; a <= items.size(); a++) {
|
||||
if((nmsItemStack.getTag().getInt("CustomPotionColor") < 0) || (nmsItemStack.getTag().getCompound("display").getInt("color") < 0) || (nmsItemStack.getTag().toString().length() > 50000) || isMovementDisconnectItem(nmsItemStack) || isInvalidAttributeName(nmsItemStack))
|
||||
return true;
|
||||
NBTTagCompound nmsitem = items.getCompound(a);
|
||||
return isDisconnectItem(nmsitem.getCompound("tag"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -186,9 +203,9 @@ public class Disconnect_Items extends Patches implements Listener {
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean isMovementDisconnectItem(net.minecraft.server.v1_13_R2.ItemStack nmsItemStack) {
|
||||
if(nmsItemStack != null) {
|
||||
NBTTagList attrlist = nmsItemStack.getTag().getList("AttributeModifiers", 10);
|
||||
public boolean isMovementDisconnectItem(NBTTagCompound tag) {
|
||||
if(tag != null) {
|
||||
NBTTagList attrlist = tag.getList("AttributeModifiers", 10);
|
||||
if(attrlist != null) {
|
||||
HashMap<String, Float> attributes = new HashMap<>();
|
||||
|
||||
|
@ -204,13 +221,15 @@ public class Disconnect_Items extends Patches implements Listener {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isInvalidAttributeName(NBTTagCompound tag) {
|
||||
if(tag != null) {
|
||||
NBTTagList attrlist = tag.getList("AttributeModifiers", 10);
|
||||
|
||||
public boolean isInvalidAttributeName(net.minecraft.server.v1_13_R2.ItemStack nmsItemStack) {
|
||||
if(nmsItemStack != null) {
|
||||
NBTTagList attrlist = nmsItemStack.getTag().getList("AttributeModifiers", 10);
|
||||
if(attrlist != null) {
|
||||
for(int a = 0; a <= attrlist.size(); a++) {
|
||||
NBTTagCompound attribute = attrlist.getCompound(a);
|
||||
|
||||
if(attribute != null && attribute.getString("AttributeName").toLowerCase() != "") {
|
||||
if(!Variables.Attributes.liststr.contains(attribute.getString("AttributeName").toLowerCase()))
|
||||
return true;
|
||||
|
|
|
@ -26,7 +26,7 @@ public class Entity_Tag extends Patches implements Listener {
|
|||
if(isDangerousEgg(item))
|
||||
clearItemMeta(event.getItem());
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
|
@ -49,7 +49,7 @@ public class Entity_Tag extends Patches implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
public boolean isDangerousEgg(ItemStack item) {
|
||||
|
|
|
@ -46,6 +46,6 @@ public class Follow_Range extends Patches implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,20 +4,29 @@ import me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher;
|
|||
import me.cooljwb.vulnerabilitypatcher.SMG;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import net.md_5.bungee.api.chat.*;
|
||||
import net.minecraft.server.v1_13_R2.AttributeModifier;
|
||||
import net.minecraft.server.v1_13_R2.ChatMessageException;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagCompound;
|
||||
import net.minecraft.server.v1_13_R2.NBTTagList;
|
||||
|
||||
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.attribute.Attribute;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.entity.CraftEntity;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.inventory.CraftItemStack;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.PlayerInventory;
|
||||
import org.bukkit.scheduler.BukkitScheduler;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
@ -55,6 +64,7 @@ public class Patches implements Listener {
|
|||
private Rouge_Entity rouge_entity;
|
||||
|
||||
private Logger log = Logger.getLogger("Minecraft");
|
||||
private HashMap<String, Float> active_attributes = new HashMap<>();
|
||||
|
||||
public Patches() {}
|
||||
public Patches(VulnerabilityPatcher main) {
|
||||
|
@ -81,31 +91,55 @@ public class Patches implements Listener {
|
|||
public void run() {
|
||||
for(Player player : Bukkit.getOnlinePlayers()) {
|
||||
for(ItemStack item : player.getInventory()) {
|
||||
|
||||
if(listeners.contains("DisconnectItems") && itemInVisibleSlot(player.getInventory(), item)) {
|
||||
NBTTagList item_attributes = getNBTAttributeList(item);
|
||||
|
||||
if(item_attributes != null) {
|
||||
for(int a = 0; a <= item_attributes.size(); a++) {
|
||||
NBTTagCompound attribute = item_attributes.getCompound(a);
|
||||
|
||||
if(attribute != null && !attribute.isEmpty()) {
|
||||
String attr_name = attribute.getString("AttributeName").toLowerCase();
|
||||
float attr_amount = attribute.getFloat("Amount");
|
||||
|
||||
if((active_attributes.containsKey("generic.movementspeed") && attr_name.equalsIgnoreCase("generic.movementspeed")) && (Float.isFinite(active_attributes.get("generic.movementspeed")) || Float.isInfinite(active_attributes.get("generic.movementspeed")) || active_attributes.get("generic.movementspeed") == Float.NEGATIVE_INFINITY) && (Float.isFinite(attr_amount) || Float.isInfinite(attr_amount) || attr_amount == Float.NEGATIVE_INFINITY)) {
|
||||
msg(player, SMG.ITEMS.msg);
|
||||
clearItemMeta(item);
|
||||
}
|
||||
|
||||
active_attributes.put(attr_name, attr_amount);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(String listener : listeners) {
|
||||
switch(listener) {
|
||||
case "DeathItems":
|
||||
if(death_items.isDeathItem(item) || death_items.containsDeathItem(item)) {
|
||||
clearItemMeta(item);
|
||||
notifyViolation(player, "acquire", "death item", player.getLocation());
|
||||
msg(player, SMG.ITEM.msg);
|
||||
}
|
||||
msg(player, SMG.ITEMS.msg);
|
||||
} break;
|
||||
|
||||
case "DisconnectItems":
|
||||
if(disconnect_items.isDisconnectItem(item) || disconnect_items.containsDisconnectItem(item)) {
|
||||
clearItemMeta(item);
|
||||
notifyViolation(player, "acquire", "disconnect item", player.getLocation());
|
||||
msg(player, SMG.ITEM.msg);
|
||||
msg(player, SMG.ITEMS.msg);
|
||||
} break;
|
||||
|
||||
case "CrashItems":
|
||||
if(crash_items.isCrashItem(item) || crash_items.containsCrashItem(item)) {
|
||||
clearItemMeta(item);
|
||||
notifyViolation(player.getName(), "acquire", "crash item", player.getLocation());
|
||||
msg(player, SMG.ITEM.msg);
|
||||
msg(player, SMG.ITEMS.msg);
|
||||
} break;
|
||||
}
|
||||
}
|
||||
}
|
||||
active_attributes.clear();
|
||||
}
|
||||
}
|
||||
}, 0L, 0);
|
||||
|
@ -170,9 +204,13 @@ public class Patches implements Listener {
|
|||
notify(notification);
|
||||
}
|
||||
|
||||
public void debug(String event) {
|
||||
if(devmode)
|
||||
log.log(Level.INFO, String.format("[%s] Event in %s: %s", pluginName, getClass().getName(), event));
|
||||
public void debug(Event event) {
|
||||
try {
|
||||
if (devmode)
|
||||
log.log(Level.INFO, String.format("[%s] Event in %s: %s", pluginName, getClass().getName(), ReflectionToStringBuilder.toString(event)));
|
||||
} catch(ChatMessageException e) {
|
||||
log.log(Level.INFO, String.format("[%s] Could not debug event in %s.", pluginName, getClass().getName()));
|
||||
}
|
||||
}
|
||||
|
||||
public void clearItemMeta(ItemStack item) {
|
||||
|
@ -186,6 +224,30 @@ public class Patches implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
public NBTTagCompound getNBTItemTag(ItemStack item) {
|
||||
if(item != null) {
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(item);
|
||||
if(nmsItemStack != null)
|
||||
return nmsItemStack.getTag();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public NBTTagCompound getEntityNMS(Entity entity) {
|
||||
net.minecraft.server.v1_13_R2.Entity nmsEntity = ((CraftEntity)entity).getHandle();
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
nmsEntity.save(tag);
|
||||
return tag;
|
||||
}
|
||||
|
||||
public NBTTagList getNBTAttributeList(ItemStack item) {
|
||||
NBTTagCompound itemtag = getNBTItemTag(item);
|
||||
|
||||
if(item != null && itemtag != null && itemtag.hasKey("AttributeModifiers"))
|
||||
return getNBTItemTag(item).getList("AttributeModifiers", 10);
|
||||
return null;
|
||||
}
|
||||
|
||||
public String itemToString(ItemStack item) {
|
||||
if(item != null) {
|
||||
net.minecraft.server.v1_13_R2.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(item);
|
||||
|
@ -195,11 +257,22 @@ public class Patches implements Listener {
|
|||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public boolean itemInVisibleSlot(PlayerInventory inv, ItemStack item) {
|
||||
ItemStack mainhand = inv.getItemInMainHand();
|
||||
ItemStack offhand = inv.getItemInOffHand();
|
||||
|
||||
public NBTTagCompound getEntityNMS(Entity entity) {
|
||||
net.minecraft.server.v1_13_R2.Entity nmsEntity = ((CraftEntity)entity).getHandle();
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
nmsEntity.save(tag);
|
||||
return tag;
|
||||
if(item != null && inv != null && mainhand != null && offhand != null) {
|
||||
if(inv.getItemInMainHand().isSimilar(item) || inv.getItemInOffHand().isSimilar(item))
|
||||
return true;
|
||||
|
||||
else {
|
||||
for(ItemStack items : inv.getArmorContents()) {
|
||||
if(items != null && items.isSimilar(item))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ public class Trident_Riptide extends Patches implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
@ -70,6 +70,6 @@ public class Trident_Riptide extends Patches implements Listener {
|
|||
item.addUnsafeEnchantment(Enchantment.RIPTIDE, enchantlevel.get(player));
|
||||
}
|
||||
|
||||
debug(ReflectionToStringBuilder.toString(event));
|
||||
debug(event);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name: VulnerabilityPatcher
|
||||
version: 0.2
|
||||
version: 0.2.1
|
||||
main: me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher
|
||||
api-version: 1.13
|
||||
authors: [CoolJWB]
|
||||
|
|
Loading…
Reference in a new issue