mirror of
https://github.com/unmojang/OnlineModeFix.git
synced 2025-09-11 16:36:41 -04:00
Removed the proxy and added the MineOnline protocol.
This commit is contained in:
parent
7acc9c0171
commit
fa109c49e5
455
.idea/workspace.xml
generated
455
.idea/workspace.xml
generated
@ -7,34 +7,15 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="e42abf2d-5ce3-4d3a-b3e0-db470c42f0ce" name="Default Changelist" comment="Added bukkit chat bridge.">
|
<list default="true" id="e42abf2d-5ce3-4d3a-b3e0-db470c42f0ce" name="Default Changelist" comment="Added bukkit chat bridge.">
|
||||||
<change afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/CheckServerURLConnection.java" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandler.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcast.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandlerFactory.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/libraries/Minecraft_Mod.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Minecraft_Mod.xml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" 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$/MineOnlineBroadcast.iml" beforeDir="false" afterPath="$PROJECT_DIR$/OnlineModeFix.iml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/lib/JDA-4.2.0_168-withDependencies-min.jar" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/lib/discord-webhooks-0.5.0.jar" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/lib/json.jar" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/res/plugin.yml" beforeDir="false" afterPath="$PROJECT_DIR$/res/plugin.yml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/res/plugin.yml" beforeDir="false" afterPath="$PROJECT_DIR$/res/plugin.yml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/MineOnlineBroadcast.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/OnlineModeFix.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/OnlineModeFix.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/OnlineModeFix.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/MineOnlineBroadcastListener.java" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/ProxyThread.java" beforeDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/MineOnlineConfig.java" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/common/input/AbstractColorCodeProvider.java" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/gg/codie/utils/ArrayUtils.java" beforeDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/common/input/EColorCodeColor.java" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/common/input/IColorCodeProvider.java" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/minecraft/server/AbstractMinecraftColorCodeProvider.java" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/minecraft/server/MinecraftColorCodeProvider.java" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/api/MineOnlineAPI.java" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/DiscordChatBridge.java" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/IAvatarProvider.java" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/IMessageRecievedListener.java" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/IShutdownListener.java" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/MinotarAvatarProvider.java" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastListener.java" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastPlugin.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineConfig.java" beforeDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<ignored path="$PROJECT_DIR$/out/" />
|
<ignored path="$PROJECT_DIR$/out/" />
|
||||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||||
@ -46,8 +27,35 @@
|
|||||||
<component name="FileEditorManager">
|
<component name="FileEditorManager">
|
||||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/CheckServerURLConnection.java">
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="-85">
|
||||||
|
<caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
|
||||||
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
<element signature="e#1635#1636#0" expanded="true" />
|
||||||
|
<element signature="e#1729#1730#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandler.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="170">
|
||||||
|
<caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandlerFactory.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="238">
|
||||||
|
<caret line="15" selection-start-line="15" selection-end-line="15" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
@ -59,19 +67,20 @@
|
|||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/src/OnlineModeFix.java">
|
<entry file="file://$PROJECT_DIR$/src/OnlineModeFix.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="272">
|
<state relative-caret-position="204">
|
||||||
<caret line="16" column="52" selection-start-line="16" selection-start-column="52" selection-end-line="16" selection-end-column="52" />
|
<caret line="17" column="5" lean-forward="true" selection-start-line="17" selection-start-column="5" selection-end-line="17" selection-end-column="5" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="e#631#632#0" expanded="true" />
|
||||||
|
<element signature="e#665#666#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="true">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml">
|
<entry file="file://$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="119">
|
<state relative-caret-position="119">
|
||||||
@ -84,11 +93,10 @@
|
|||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="170">
|
<state relative-caret-position="170">
|
||||||
<caret line="10" column="32" selection-start-line="10" selection-start-column="32" selection-end-line="10" selection-end-column="32" />
|
<caret line="18" column="17" selection-start-line="18" selection-end-line="19" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="e#760#761#0" expanded="true" />
|
||||||
<element signature="e#2569#2570#0" expanded="true" />
|
<element signature="e#805#806#0" expanded="true" />
|
||||||
<element signature="e#2597#2598#0" expanded="true" />
|
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@ -97,20 +105,8 @@
|
|||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/res/plugin.yml">
|
<entry file="file://$PROJECT_DIR$/res/plugin.yml">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="153">
|
<state relative-caret-position="136">
|
||||||
<caret line="9" column="10" selection-start-line="9" selection-start-column="10" selection-end-line="9" selection-end-column="10" />
|
<caret line="8" column="15" lean-forward="true" selection-start-line="8" selection-start-column="15" selection-end-line="8" selection-end-column="15" />
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file pinned="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/ProxyThread.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="-2135">
|
|
||||||
<caret line="102" column="35" selection-start-line="102" selection-start-column="35" selection-end-line="102" selection-end-column="35" />
|
|
||||||
<folding>
|
|
||||||
<element signature="imports" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
@ -139,6 +135,7 @@
|
|||||||
<find>PLAYER_</find>
|
<find>PLAYER_</find>
|
||||||
<find>discord.</find>
|
<find>discord.</find>
|
||||||
<find>online-mo</find>
|
<find>online-mo</find>
|
||||||
|
<find>1.1.0</find>
|
||||||
</findStrings>
|
</findStrings>
|
||||||
</component>
|
</component>
|
||||||
<component name="Git.Settings">
|
<component name="Git.Settings">
|
||||||
@ -174,19 +171,23 @@
|
|||||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/RemoteStatusChallenge.java" />
|
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/RemoteStatusChallenge.java" />
|
||||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/StatusChallengeUtils.java" />
|
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/StatusChallengeUtils.java" />
|
||||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastPlugin.java" />
|
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastPlugin.java" />
|
||||||
|
<option value="$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcast.xml" />
|
||||||
|
<option value="$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml" />
|
||||||
|
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/SkinURLConnection.java" />
|
||||||
|
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/CheckServerURLConnection.java" />
|
||||||
|
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/OnlineModeURLStreamHandler.java" />
|
||||||
|
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandler.java" />
|
||||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java" />
|
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java" />
|
||||||
<option value="$PROJECT_DIR$/src/OnlineModeFix.java" />
|
<option value="$PROJECT_DIR$/src/OnlineModeFix.java" />
|
||||||
<option value="$PROJECT_DIR$/res/plugin.yml" />
|
<option value="$PROJECT_DIR$/res/plugin.yml" />
|
||||||
<option value="$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcast.xml" />
|
|
||||||
<option value="$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml" />
|
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectFrameBounds" extendedState="6">
|
<component name="ProjectFrameBounds">
|
||||||
<option name="x" value="-8" />
|
<option name="x" value="-11" />
|
||||||
<option name="y" value="-8" />
|
<option name="y" value="-11" />
|
||||||
<option name="width" value="1294" />
|
<option name="width" value="1943" />
|
||||||
<option name="height" value="1417" />
|
<option name="height" value="2136" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||||
<component name="ProjectView">
|
<component name="ProjectView">
|
||||||
@ -194,86 +195,54 @@
|
|||||||
<foldersAlwaysOnTop value="true" />
|
<foldersAlwaysOnTop value="true" />
|
||||||
</navigator>
|
</navigator>
|
||||||
<panes>
|
<panes>
|
||||||
|
<pane id="Scope" />
|
||||||
<pane id="ProjectPane">
|
<pane id="ProjectPane">
|
||||||
<subPane>
|
<subPane>
|
||||||
<expand>
|
<expand>
|
||||||
<path>
|
<path>
|
||||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name=".idea" type="462c0819:PsiDirectoryNode" />
|
|
||||||
</path>
|
|
||||||
<path>
|
|
||||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
|
||||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name=".idea" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="artifacts" type="462c0819:PsiDirectoryNode" />
|
|
||||||
</path>
|
|
||||||
<path>
|
|
||||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
|
||||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name=".idea" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="libraries" type="462c0819:PsiDirectoryNode" />
|
|
||||||
</path>
|
|
||||||
<path>
|
|
||||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
|
||||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="res" type="462c0819:PsiDirectoryNode" />
|
<item name="res" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="api" type="462c0819:PsiDirectoryNode" />
|
<item name="mineonline" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
|
||||||
<path>
|
|
||||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
|
||||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="plugin" type="462c0819:PsiDirectoryNode" />
|
|
||||||
</path>
|
|
||||||
<path>
|
|
||||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
|
||||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="plugin" type="462c0819:PsiDirectoryNode" />
|
|
||||||
<item name="bukkit" type="462c0819:PsiDirectoryNode" />
|
|
||||||
</path>
|
</path>
|
||||||
</expand>
|
</expand>
|
||||||
<select />
|
<select />
|
||||||
</subPane>
|
</subPane>
|
||||||
</pane>
|
</pane>
|
||||||
<pane id="PackagesPane" />
|
<pane id="PackagesPane" />
|
||||||
<pane id="Scope" />
|
|
||||||
</panes>
|
</panes>
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent">
|
<component name="PropertiesComponent">
|
||||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||||
<property name="aspect.path.notification.shown" value="true" />
|
<property name="aspect.path.notification.shown" value="true" />
|
||||||
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1621561939297" />
|
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1625789267014" />
|
||||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/../MineOnlineBroadcast-Bukkit/lib/Minecraft_Mod.jar!/" />
|
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||||
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
||||||
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
||||||
<property name="project.structure.last.edited" value="Libraries" />
|
<property name="project.structure.last.edited" value="Libraries" />
|
||||||
@ -282,24 +251,24 @@
|
|||||||
<property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
|
<property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
|
||||||
</component>
|
</component>
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
|
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\lib" />
|
||||||
|
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\res" />
|
||||||
|
</key>
|
||||||
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
|
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
|
||||||
<recent name="" />
|
<recent name="" />
|
||||||
<recent name="gg.codie.mineonline.plugin" />
|
<recent name="gg.codie.mineonline.plugin" />
|
||||||
</key>
|
</key>
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
|
||||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\minecraft" />
|
|
||||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\common" />
|
|
||||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\lib" />
|
|
||||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\utils" />
|
|
||||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit" />
|
|
||||||
</key>
|
|
||||||
<key name="CopyClassDialog.RECENTS_KEY">
|
<key name="CopyClassDialog.RECENTS_KEY">
|
||||||
<recent name="gg.codie.mineonline.discord" />
|
<recent name="gg.codie.mineonline.discord" />
|
||||||
<recent name="gg.codie.minecraft" />
|
<recent name="gg.codie.minecraft" />
|
||||||
</key>
|
</key>
|
||||||
<key name="MoveFile.RECENT_KEYS">
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="D:\Projects\GitHub\onlinemodefix\src\gg\codie\mineonline\protocol" />
|
||||||
|
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\minecraft" />
|
||||||
|
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\common" />
|
||||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\lib" />
|
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\lib" />
|
||||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\res" />
|
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\utils" />
|
||||||
</key>
|
</key>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunDashboard">
|
<component name="RunDashboard">
|
||||||
@ -314,55 +283,6 @@
|
|||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager">
|
|
||||||
<configuration default="true" type="JetRunConfigurationType" factoryName="Kotlin">
|
|
||||||
<module name="OnlineModeFix" />
|
|
||||||
<option name="VM_PARAMETERS" />
|
|
||||||
<option name="PROGRAM_PARAMETERS" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH" />
|
|
||||||
<option name="PASS_PARENT_ENVS" value="true" />
|
|
||||||
<option name="MAIN_CLASS_NAME" />
|
|
||||||
<option name="WORKING_DIRECTORY" />
|
|
||||||
<method v="2">
|
|
||||||
<option name="Make" enabled="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
<configuration default="true" type="KotlinStandaloneScriptRunConfigurationType" factoryName="Kotlin script">
|
|
||||||
<module name="OnlineModeFix" />
|
|
||||||
<option name="filePath" />
|
|
||||||
<option name="vmParameters" />
|
|
||||||
<option name="alternativeJrePath" />
|
|
||||||
<option name="programParameters" />
|
|
||||||
<option name="passParentEnvs" value="true" />
|
|
||||||
<option name="workingDirectory" />
|
|
||||||
<option name="isAlternativeJrePathEnabled" value="false" />
|
|
||||||
<option name="VM_PARAMETERS" />
|
|
||||||
<option name="PROGRAM_PARAMETERS" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH" />
|
|
||||||
<option name="PASS_PARENT_ENVS" value="true" />
|
|
||||||
<option name="MAIN_CLASS_NAME" />
|
|
||||||
<option name="WORKING_DIRECTORY" />
|
|
||||||
<option name="filePath" />
|
|
||||||
<option name="vmParameters" />
|
|
||||||
<option name="alternativeJrePath" />
|
|
||||||
<option name="programParameters" />
|
|
||||||
<option name="passParentEnvs" value="true" />
|
|
||||||
<option name="workingDirectory" />
|
|
||||||
<option name="isAlternativeJrePathEnabled" value="false" />
|
|
||||||
<option name="VM_PARAMETERS" />
|
|
||||||
<option name="PROGRAM_PARAMETERS" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH" />
|
|
||||||
<option name="PASS_PARENT_ENVS" value="true" />
|
|
||||||
<option name="MAIN_CLASS_NAME" />
|
|
||||||
<option name="WORKING_DIRECTORY" />
|
|
||||||
<method v="2">
|
|
||||||
<option name="Make" enabled="true" />
|
|
||||||
</method>
|
|
||||||
</configuration>
|
|
||||||
</component>
|
|
||||||
<component name="SvnConfiguration">
|
<component name="SvnConfiguration">
|
||||||
<configuration />
|
<configuration />
|
||||||
</component>
|
</component>
|
||||||
@ -399,6 +319,7 @@
|
|||||||
<workItem from="1615055987620" duration="1626000" />
|
<workItem from="1615055987620" duration="1626000" />
|
||||||
<workItem from="1615072373374" duration="9000" />
|
<workItem from="1615072373374" duration="9000" />
|
||||||
<workItem from="1621561390267" duration="549000" />
|
<workItem from="1621561390267" duration="549000" />
|
||||||
|
<workItem from="1625787948441" duration="1305000" />
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00001" summary="Added missing plugin.yml resource.">
|
<task id="LOCAL-00001" summary="Added missing plugin.yml resource.">
|
||||||
<created>1601569681272</created>
|
<created>1601569681272</created>
|
||||||
@ -516,12 +437,13 @@
|
|||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TimeTrackingManager">
|
<component name="TimeTrackingManager">
|
||||||
<option name="totallyTimeSpent" value="34673000" />
|
<option name="totallyTimeSpent" value="35978000" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ToolWindowManager">
|
<component name="ToolWindowManager">
|
||||||
<frame x="-8" y="-8" width="2576" height="1426" extended-state="6" />
|
<frame x="-7" y="-7" width="1295" height="1424" extended-state="0" />
|
||||||
|
<editor active="true" />
|
||||||
<layout>
|
<layout>
|
||||||
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.14864865" />
|
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.30526316" />
|
||||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||||
<window_info id="Designer" order="2" />
|
<window_info id="Designer" order="2" />
|
||||||
<window_info id="Image Layers" order="3" />
|
<window_info id="Image Layers" order="3" />
|
||||||
@ -541,7 +463,7 @@
|
|||||||
<window_info anchor="bottom" id="Event Log" order="10" sideWeight="0.50161815" side_tool="true" weight="0.32791957" />
|
<window_info anchor="bottom" id="Event Log" order="10" sideWeight="0.50161815" side_tool="true" weight="0.32791957" />
|
||||||
<window_info anchor="bottom" id="Messages" order="11" weight="0.32943925" />
|
<window_info anchor="bottom" id="Messages" order="11" weight="0.32943925" />
|
||||||
<window_info anchor="bottom" id="Database Changes" order="12" />
|
<window_info anchor="bottom" id="Database Changes" order="12" />
|
||||||
<window_info active="true" anchor="bottom" id="Version Control" order="13" sideWeight="0.49920508" visible="true" weight="0.32637277" />
|
<window_info anchor="bottom" id="Version Control" order="13" sideWeight="0.49920508" visible="true" weight="0.32585138" />
|
||||||
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
<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" 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" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
||||||
@ -622,13 +544,6 @@
|
|||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/utils/JSONUtils.java" />
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/utils/JSONUtils.java" />
|
||||||
<entry file="jar://$PROJECT_DIR$/lib/craftbukkit-1.2_01_02.jar!/org/bukkit/event/Event.class" />
|
<entry file="jar://$PROJECT_DIR$/lib/craftbukkit-1.2_01_02.jar!/org/bukkit/event/Event.class" />
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/utils/ArrayUtils.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state>
|
|
||||||
<caret column="23" selection-start-column="23" selection-end-column="23" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="jar://$PROJECT_DIR$/lib/craftbukkit1-7-3(1060).jar!/org/bukkit/event/player/PlayerListener.class">
|
<entry file="jar://$PROJECT_DIR$/lib/craftbukkit1-7-3(1060).jar!/org/bukkit/event/player/PlayerListener.class">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="102">
|
<state relative-caret-position="102">
|
||||||
@ -650,42 +565,14 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IAvatarProvider.java">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IAvatarProvider.java" />
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/MinotarAvatarProvider.java" />
|
||||||
</entry>
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IMessageRecievedListener.java" />
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/MinotarAvatarProvider.java">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IShutdownListener.java" />
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/AbstractColorCodeProvider.java" />
|
||||||
</entry>
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/minecraft/server/AbstractMinecraftColorCodeProvider.java" />
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IMessageRecievedListener.java">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/DiscordChatBridge.java" />
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/EColorCodeColor.java" />
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IShutdownListener.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="119">
|
|
||||||
<caret line="7" lean-forward="true" selection-start-line="7" selection-end-line="7" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/AbstractColorCodeProvider.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/minecraft/server/AbstractMinecraftColorCodeProvider.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="68">
|
|
||||||
<caret line="5" column="22" selection-start-line="5" selection-start-column="22" selection-end-line="5" selection-end-column="22" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/DiscordChatBridge.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="1207">
|
|
||||||
<caret line="82" column="30" selection-start-line="82" selection-start-column="30" selection-end-line="82" selection-end-column="30" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/EColorCodeColor.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
|
||||||
</entry>
|
|
||||||
<entry file="jar://$PROJECT_DIR$/lib/craftbukkit1-7-3(1060).jar!/org/bukkit/event/Event.class">
|
<entry file="jar://$PROJECT_DIR$/lib/craftbukkit1-7-3(1060).jar!/org/bukkit/event/Event.class">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="765">
|
<state relative-caret-position="765">
|
||||||
@ -693,27 +580,9 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/IColorCodeProvider.java">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/IColorCodeProvider.java" />
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/minecraft/server/MinecraftColorCodeProvider.java" />
|
||||||
<state relative-caret-position="102">
|
<entry file="file://$PROJECT_DIR$/src/MineOnlineBroadcastListener.java" />
|
||||||
<caret line="6" selection-start-line="6" selection-end-line="6" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/minecraft/server/MinecraftColorCodeProvider.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="85">
|
|
||||||
<caret line="7" selection-start-line="7" selection-end-line="7" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/MineOnlineBroadcastListener.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="561">
|
|
||||||
<caret line="36" selection-start-line="36" selection-end-line="36" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/query/LegacyPingImplementation.java" />
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/query/LegacyPingImplementation.java" />
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/query/QueryServer.java" />
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/query/QueryServer.java" />
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/RemoteStatusChallenge.java" />
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/RemoteStatusChallenge.java" />
|
||||||
@ -721,48 +590,81 @@
|
|||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/RemoteStatusReply.java" />
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/RemoteStatusReply.java" />
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/query/Request.java" />
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/query/Request.java" />
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/StatusChallengeUtils.java" />
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/StatusChallengeUtils.java" />
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/api/MineOnlineAPI.java">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/api/MineOnlineAPI.java" />
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastListener.java" />
|
||||||
<state relative-caret-position="-758">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineConfig.java" />
|
||||||
<caret line="32" column="25" lean-forward="true" selection-start-line="32" selection-start-column="25" selection-end-line="32" selection-end-column="25" />
|
<entry file="file://$PROJECT_DIR$/src/MineOnlineConfig.java" />
|
||||||
</state>
|
<entry file="file://$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcast.xml" />
|
||||||
</provider>
|
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastListener.java">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/ProxyThread.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="595">
|
<state relative-caret-position="1462">
|
||||||
<caret line="37" selection-start-line="37" selection-end-line="37" />
|
<caret line="102" column="35" selection-start-line="102" selection-start-column="35" selection-end-line="102" selection-end-column="35" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="imports" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineConfig.java">
|
<entry file="file://$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="-391">
|
<state relative-caret-position="119">
|
||||||
<caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
|
<caret line="7" column="12" selection-start-line="7" selection-start-column="12" selection-end-line="7" selection-end-column="12" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/CapeURLConnection.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/SkinURLConnection.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="68">
|
||||||
|
<caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandler.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="170">
|
||||||
|
<caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandlerFactory.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="238">
|
||||||
|
<caret line="15" selection-start-line="15" selection-end-line="15" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/utils/ArrayUtils.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="34">
|
||||||
|
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/CheckServerURLConnection.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="-85">
|
||||||
|
<caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
|
||||||
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
<element signature="e#1635#1636#0" expanded="true" />
|
||||||
|
<element signature="e#1729#1730#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java">
|
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="170">
|
<state relative-caret-position="170">
|
||||||
<caret line="10" column="32" selection-start-line="10" selection-start-column="32" selection-end-line="10" selection-end-column="32" />
|
<caret line="18" column="17" selection-start-line="18" selection-end-line="19" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="e#760#761#0" expanded="true" />
|
||||||
<element signature="e#2569#2570#0" expanded="true" />
|
<element signature="e#805#806#0" expanded="true" />
|
||||||
<element signature="e#2597#2598#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/ProxyThread.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="-2135">
|
|
||||||
<caret line="102" column="35" selection-start-line="102" selection-start-column="35" selection-end-line="102" selection-end-column="35" />
|
|
||||||
<folding>
|
|
||||||
<element signature="imports" expanded="true" />
|
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@ -774,47 +676,24 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/MineOnlineConfig.java">
|
<entry file="file://$PROJECT_DIR$/res/plugin.yml">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="34">
|
<state relative-caret-position="136">
|
||||||
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
|
<caret line="8" column="15" lean-forward="true" selection-start-line="8" selection-start-column="15" selection-end-line="8" selection-end-column="15" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/OnlineModeFix.java">
|
<entry file="file://$PROJECT_DIR$/src/OnlineModeFix.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="272">
|
<state relative-caret-position="204">
|
||||||
<caret line="16" column="52" selection-start-line="16" selection-start-column="52" selection-end-line="16" selection-end-column="52" />
|
<caret line="17" column="5" lean-forward="true" selection-start-line="17" selection-start-column="5" selection-end-line="17" selection-end-column="5" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="e#631#632#0" expanded="true" />
|
||||||
|
<element signature="e#665#666#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/res/plugin.yml">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="153">
|
|
||||||
<caret line="9" column="10" selection-start-line="9" selection-start-column="10" selection-end-line="9" selection-end-column="10" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcast.xml">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="51">
|
|
||||||
<caret line="3" column="48" lean-forward="true" selection-start-line="3" selection-start-column="48" selection-end-line="3" selection-end-column="48" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="119">
|
|
||||||
<caret line="7" column="12" selection-start-line="7" selection-start-column="12" selection-end-line="7" selection-end-column="12" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</component>
|
</component>
|
||||||
<component name="masterDetails">
|
<component name="masterDetails">
|
||||||
<states>
|
<states>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
name: OnlineModeFix
|
name: OnlineModeFix
|
||||||
version: 1.0.0
|
version: 1.1.0
|
||||||
description: Fixes online-mode authentication
|
description: Fixes online-mode authentication.
|
||||||
author: craftycodie
|
author: craftycodie
|
||||||
authors: [Codie]
|
authors: [Codie]
|
||||||
website: https://twitter.com/craftycodie
|
website: https://twitter.com/craftycodie
|
||||||
|
@ -1,34 +1,20 @@
|
|||||||
|
import gg.codie.mineonline.protocol.MineOnlineURLStreamHandlerFactory;
|
||||||
import gg.codie.mineonline.plugin.ProxyThread;
|
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.ServerSocket;
|
import java.net.URL;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class OnlineModeFix extends Plugin {
|
public class OnlineModeFix extends Plugin {
|
||||||
private static String NAME = "OnlineModeFix";
|
private static String NAME = "OnlineModeFix";
|
||||||
Logger log;
|
Logger log;
|
||||||
ProxyThread proxyThread;
|
|
||||||
boolean initialized;
|
|
||||||
|
|
||||||
public void launchProxy() throws IOException {
|
public void enableOnlineMode() {
|
||||||
ServerSocket serverSocket = new ServerSocket(0);
|
this.log = Logger.getLogger("Minecraft");
|
||||||
proxyThread = new ProxyThread(serverSocket);
|
|
||||||
proxyThread.start();
|
|
||||||
|
|
||||||
System.out.println("Enabling online-mode fix.");
|
log.info("Enabling online-mode fix.");
|
||||||
|
|
||||||
System.setProperty("http.proxyHost", serverSocket.getInetAddress().getHostAddress());
|
URL.setURLStreamHandlerFactory(new MineOnlineURLStreamHandlerFactory());
|
||||||
System.setProperty("http.proxyPort", "" + serverSocket.getLocalPort());
|
|
||||||
System.setProperty("http.nonProxyHosts", "localhost|127.0.0.1");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void stopProxy() {
|
|
||||||
if (proxyThread != null) {
|
|
||||||
proxyThread.stop();
|
|
||||||
proxyThread = null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enable() {
|
public void enable() {
|
||||||
@ -38,23 +24,7 @@ public class OnlineModeFix extends Plugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
if (initialized)
|
enableOnlineMode();
|
||||||
return;
|
|
||||||
|
|
||||||
this.log = Logger.getLogger("Minecraft");
|
|
||||||
|
|
||||||
Properties propertiesFile = new Properties();
|
|
||||||
|
|
||||||
try {
|
|
||||||
propertiesFile.load(new FileInputStream(new File("server.properties")));
|
|
||||||
boolean onlineMode = propertiesFile.getProperty("online-mode", "true").equals("true");
|
|
||||||
|
|
||||||
if (onlineMode)
|
|
||||||
launchProxy();
|
|
||||||
} catch (Exception ex) {
|
|
||||||
log.warning("Failed to enable online-mode fix. Authentication may fail.");
|
|
||||||
}
|
|
||||||
initialized = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void register(PluginLoader.Hook hook, PluginListener.Priority priority) {
|
private void register(PluginLoader.Hook hook, PluginListener.Priority priority) {
|
||||||
@ -70,13 +40,6 @@ public class OnlineModeFix extends Plugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void disable() {
|
public void disable() {
|
||||||
if (!initialized)
|
|
||||||
return;
|
|
||||||
|
|
||||||
unregister();
|
|
||||||
|
|
||||||
stopProxy();
|
|
||||||
|
|
||||||
initialized = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,271 +0,0 @@
|
|||||||
package gg.codie.mineonline.plugin;
|
|
||||||
|
|
||||||
import gg.codie.minecraft.api.SessionServer;
|
|
||||||
import gg.codie.utils.ArrayUtils;
|
|
||||||
|
|
||||||
import java.io.*;
|
|
||||||
import java.net.*;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
public class ProxyThread implements Runnable {
|
|
||||||
private AtomicReference<ServerSocket> serverSocket = new AtomicReference<>();
|
|
||||||
private Thread worker;
|
|
||||||
private AtomicBoolean running = new AtomicBoolean(false);
|
|
||||||
|
|
||||||
public void start() {
|
|
||||||
worker = new Thread(this);
|
|
||||||
worker.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void stop() {
|
|
||||||
running.set(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean isRunning() {
|
|
||||||
return running.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
public ProxyThread(ServerSocket serverSocket) {
|
|
||||||
this.serverSocket.set(serverSocket);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
running.set(true);
|
|
||||||
System.setProperty("java.net.preferIPv4Stack", "true");
|
|
||||||
|
|
||||||
Socket clientSocket = null;
|
|
||||||
|
|
||||||
// DEBUG
|
|
||||||
// System.out.println(serverSocket.get().getInetAddress() + ":" + serverSocket.get().getLocalPort());
|
|
||||||
|
|
||||||
while (running.get()) {
|
|
||||||
//Stream to put data to the browser
|
|
||||||
PrintWriter outGoing = null;
|
|
||||||
try {
|
|
||||||
clientSocket = serverSocket.get().accept();
|
|
||||||
outGoing = new PrintWriter(clientSocket.getOutputStream(), true);
|
|
||||||
|
|
||||||
final int bufferSize = 8096;
|
|
||||||
|
|
||||||
byte[] buffer = new byte[bufferSize];
|
|
||||||
int bytes_read;
|
|
||||||
LinkedList<Byte> request = new LinkedList();
|
|
||||||
|
|
||||||
bytes_read = clientSocket.getInputStream().read(buffer, 0, bufferSize);
|
|
||||||
for(int i = 0; i < bytes_read; i++)
|
|
||||||
request.add(buffer[i]);
|
|
||||||
|
|
||||||
String requestHeaders = new String(buffer).split("\r\n\r\n")[0];
|
|
||||||
|
|
||||||
// keep reading.
|
|
||||||
String requestString = new String(buffer);
|
|
||||||
for (String header : requestHeaders.split("\r\n")) {
|
|
||||||
if(header.contains("Content-Length")) {
|
|
||||||
int contentLength = Integer.parseInt(header.split(": ")[1]);
|
|
||||||
int headerLength = requestString.substring(0, requestString.indexOf("\r\n\r\n") + 4).length();
|
|
||||||
|
|
||||||
while(request.size() < contentLength + headerLength) {
|
|
||||||
bytes_read = clientSocket.getInputStream().read(buffer, 0, bufferSize);
|
|
||||||
for(int i = 0; i < bytes_read; i++)
|
|
||||||
request.add(buffer[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
byte[] requestBytes = ArrayUtils.toPrimitives(request.toArray(new Byte[0]));
|
|
||||||
requestString = new String(requestBytes);
|
|
||||||
|
|
||||||
int headerSize = requestString.split("\r\n\r\n")[0].length() + 4;
|
|
||||||
|
|
||||||
// DEBUG
|
|
||||||
// System.out.println("Request");
|
|
||||||
requestHeaders = requestString.split("\r\n\r\n")[0];
|
|
||||||
|
|
||||||
|
|
||||||
// DEBUG
|
|
||||||
// System.out.println(requestString);
|
|
||||||
|
|
||||||
String urlString = "";
|
|
||||||
try {
|
|
||||||
urlString = pullLinks(requestString).get(0);
|
|
||||||
} catch (IndexOutOfBoundsException ex) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fix online-mode.
|
|
||||||
if(urlString.contains("minecraft.net/game/checkserver.jsp?")) {
|
|
||||||
String username = null;
|
|
||||||
String serverId = null;
|
|
||||||
String ip = null;
|
|
||||||
|
|
||||||
String[] args = urlString.replace("http://www.minecraft.net/game/checkserver.jsp?", "").split("&");
|
|
||||||
for (String arg : args) {
|
|
||||||
String[] keyValue = arg.split("=");
|
|
||||||
|
|
||||||
if (keyValue[0].equals("user"))
|
|
||||||
username = keyValue[1];
|
|
||||||
else if (keyValue[0].equals("serverId"))
|
|
||||||
serverId = keyValue[1];
|
|
||||||
else if (keyValue[0].equals("ip"))
|
|
||||||
ip = keyValue[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (username != null && serverId != null) {
|
|
||||||
boolean validJoin = SessionServer.hasJoined(
|
|
||||||
username,
|
|
||||||
serverId,
|
|
||||||
ip
|
|
||||||
);
|
|
||||||
|
|
||||||
if (validJoin) {
|
|
||||||
String responseHeaders =
|
|
||||||
"HTTP/1.0 200 OKServer:Werkzeug/1.0.1 Python/3.7.0\r\n\r\n";
|
|
||||||
|
|
||||||
clientSocket.getOutputStream().write(responseHeaders.getBytes());
|
|
||||||
clientSocket.getOutputStream().write("YES".getBytes(StandardCharsets.UTF_8));
|
|
||||||
clientSocket.getOutputStream().flush();
|
|
||||||
clientSocket.getOutputStream().close();
|
|
||||||
continue;
|
|
||||||
} else {
|
|
||||||
String responseHeaders =
|
|
||||||
"HTTP/1.0 200 OKServer:Werkzeug/1.0.1 Python/3.7.0\r\n\r\n";
|
|
||||||
|
|
||||||
clientSocket.getOutputStream().write(responseHeaders.getBytes());
|
|
||||||
clientSocket.getOutputStream().write("bad login".getBytes(StandardCharsets.UTF_8));
|
|
||||||
clientSocket.getOutputStream().flush();
|
|
||||||
clientSocket.getOutputStream().close();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
URL url = new URL(urlString);
|
|
||||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
|
||||||
|
|
||||||
for (String header : requestHeaders.substring(requestHeaders.indexOf("\r\n") + 2).split("\r\n")) {
|
|
||||||
String headerName = header.substring(0, header.indexOf(":"));
|
|
||||||
String headerValue = header.substring(header.indexOf(":") + 2);
|
|
||||||
connection.setRequestProperty(headerName, headerValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
String methodLine = requestHeaders.substring(0, requestHeaders.indexOf("\r\n"));
|
|
||||||
connection.setRequestMethod(methodLine.substring(0, methodLine.indexOf(" ")));
|
|
||||||
|
|
||||||
byte[] content = new byte[0];
|
|
||||||
|
|
||||||
try {
|
|
||||||
if (urlString.contains("s3.amazonaws.com/MinecraftSkins/"))
|
|
||||||
throw new FileNotFoundException("The skin server is offline.");
|
|
||||||
|
|
||||||
if (headerSize < requestBytes.length) {
|
|
||||||
content = Arrays.copyOfRange(requestBytes, headerSize, requestBytes.length);
|
|
||||||
|
|
||||||
connection.setUseCaches(false);
|
|
||||||
connection.setDoInput(true);
|
|
||||||
connection.setDoOutput(true);
|
|
||||||
|
|
||||||
DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
|
|
||||||
|
|
||||||
wr.write(content);
|
|
||||||
wr.flush();
|
|
||||||
wr.close();
|
|
||||||
} else {
|
|
||||||
connection.setUseCaches(false);
|
|
||||||
connection.setDoInput(true);
|
|
||||||
connection.connect();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
String responseHeader = "";
|
|
||||||
for (Map.Entry<String, List<String>> header : connection.getHeaderFields().entrySet()) {
|
|
||||||
if (header.getKey() == null) {
|
|
||||||
Iterator<String> valueIterator = header.getValue().iterator();
|
|
||||||
responseHeader += valueIterator.next();
|
|
||||||
while (valueIterator.hasNext()) {
|
|
||||||
responseHeader += " " + valueIterator.next();
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
responseHeader += header.getKey() + ":";
|
|
||||||
Iterator<String> valueIterator = header.getValue().iterator();
|
|
||||||
responseHeader += valueIterator.next();
|
|
||||||
while (valueIterator.hasNext()) {
|
|
||||||
responseHeader += ", " + valueIterator.next();
|
|
||||||
}
|
|
||||||
responseHeader += "\r\n";
|
|
||||||
}
|
|
||||||
responseHeader += "\r\n";
|
|
||||||
|
|
||||||
String contentString = new String(content);
|
|
||||||
|
|
||||||
// DEBUG
|
|
||||||
// System.out.println("Response");
|
|
||||||
// System.out.print(responseHeader);
|
|
||||||
// System.out.println(contentString);
|
|
||||||
|
|
||||||
InputStream is = connection.getInputStream();
|
|
||||||
|
|
||||||
clientSocket.getOutputStream().write(responseHeader.getBytes());
|
|
||||||
|
|
||||||
buffer = new byte[bufferSize];
|
|
||||||
while ((bytes_read = is.read(buffer, 0, bufferSize)) != -1) {
|
|
||||||
for (int i = 0; i < bytes_read; i++) {
|
|
||||||
clientSocket.getOutputStream().write(buffer[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
clientSocket.getOutputStream().flush();
|
|
||||||
clientSocket.getOutputStream().close();
|
|
||||||
|
|
||||||
} catch (Exception ex) {
|
|
||||||
String responseHeaders =
|
|
||||||
"HTTP/1.0 404 Not FoundServer:Werkzeug/1.0.1 Python/3.7.0\r\n\r\n";
|
|
||||||
clientSocket.getOutputStream().write(responseHeaders.getBytes());
|
|
||||||
clientSocket.getOutputStream().flush();
|
|
||||||
clientSocket.getOutputStream().close();
|
|
||||||
// ex.printStackTrace();
|
|
||||||
}
|
|
||||||
} catch (FileNotFoundException ex) {
|
|
||||||
System.err.println("Got a 404 for: " + ex.getMessage());
|
|
||||||
} catch (IOException ex) {
|
|
||||||
System.out.println("Something went very wrong.");
|
|
||||||
ex.printStackTrace();
|
|
||||||
} finally {
|
|
||||||
outGoing.close();
|
|
||||||
try {
|
|
||||||
clientSocket.close();
|
|
||||||
} catch (Exception e) { }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
serverSocket.get().close();
|
|
||||||
} catch (Exception e) { }
|
|
||||||
running.set(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Pull all links from the body for easy retrieval
|
|
||||||
private static ArrayList<String> pullLinks(String text) {
|
|
||||||
ArrayList<String> links = new ArrayList<String>();
|
|
||||||
|
|
||||||
String regex = "\\(?\\b(http://|www[.])[-A-Za-z0-9+&@#/%?=~_()|!:,.;]*[-A-Za-z0-9+&@#/%=~_()|]";
|
|
||||||
Pattern p = Pattern.compile(regex);
|
|
||||||
Matcher m = p.matcher(text);
|
|
||||||
while(m.find()) {
|
|
||||||
String urlStr = m.group();
|
|
||||||
if (urlStr.startsWith("(") && urlStr.endsWith(")"))
|
|
||||||
{
|
|
||||||
urlStr = urlStr.substring(1, urlStr.length() - 1);
|
|
||||||
}
|
|
||||||
links.add(urlStr);
|
|
||||||
}
|
|
||||||
return links;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,35 +1,22 @@
|
|||||||
package gg.codie.mineonline.plugin.bukkit;
|
package gg.codie.mineonline.plugin.bukkit;
|
||||||
|
|
||||||
import gg.codie.mineonline.plugin.ProxyThread;
|
import gg.codie.mineonline.protocol.MineOnlineURLStreamHandler;
|
||||||
|
import gg.codie.mineonline.protocol.MineOnlineURLStreamHandlerFactory;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.ServerSocket;
|
import java.net.URL;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class OnlineModeFixPlugin extends JavaPlugin {
|
public class OnlineModeFixPlugin extends JavaPlugin {
|
||||||
Thread broadcastThread;
|
|
||||||
Logger log;
|
Logger log;
|
||||||
ProxyThread proxyThread;
|
|
||||||
|
|
||||||
public void launchProxy() throws IOException {
|
public void enableOnlineModeFix() {
|
||||||
ServerSocket serverSocket = new ServerSocket(0);
|
Logger.getLogger("Minecraft").log(Level.INFO, "Enabling online-mode fix.");
|
||||||
proxyThread = new ProxyThread(serverSocket);
|
|
||||||
proxyThread.start();
|
|
||||||
|
|
||||||
System.out.println("Enabling online-mode fix.");
|
URL.setURLStreamHandlerFactory(new MineOnlineURLStreamHandlerFactory());
|
||||||
|
|
||||||
System.setProperty("http.proxyHost", serverSocket.getInetAddress().getHostAddress());
|
|
||||||
System.setProperty("http.proxyPort", "" + serverSocket.getLocalPort());
|
|
||||||
System.setProperty("http.nonProxyHosts", "localhost|127.0.0.1");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void stopProxy() {
|
|
||||||
if (proxyThread != null) {
|
|
||||||
proxyThread.stop();
|
|
||||||
proxyThread = null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -38,24 +25,11 @@ public class OnlineModeFixPlugin extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
this.log = Logger.getLogger("Minecraft");
|
enableOnlineModeFix();
|
||||||
|
|
||||||
Properties propertiesFile = new Properties();
|
|
||||||
|
|
||||||
try {
|
|
||||||
propertiesFile.load(new FileInputStream(new File("server.properties")));
|
|
||||||
boolean onlineMode = propertiesFile.getProperty("online-mode", "true").equals("true");
|
|
||||||
|
|
||||||
if (onlineMode)
|
|
||||||
launchProxy();
|
|
||||||
} catch (Exception ex) {
|
|
||||||
log.warning("Failed to enable online-mode fix. Authentication may fail.");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
broadcastThread.interrupt();
|
|
||||||
stopProxy();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,73 @@
|
|||||||
|
package gg.codie.mineonline.protocol;
|
||||||
|
|
||||||
|
import gg.codie.minecraft.api.SessionServer;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
|
public class CheckServerURLConnection extends HttpURLConnection {
|
||||||
|
public CheckServerURLConnection(URL url) {
|
||||||
|
super(url);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void disconnect() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean usingProxy() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String response = "bad login";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void connect() throws IOException {
|
||||||
|
String username = null;
|
||||||
|
String serverId = null;
|
||||||
|
String ip = null;
|
||||||
|
|
||||||
|
String[] args = url.toString()
|
||||||
|
.substring(url.toString().lastIndexOf("?") + 1)
|
||||||
|
.split("&");
|
||||||
|
for (String arg : args) {
|
||||||
|
String[] keyValue = arg.split("=");
|
||||||
|
|
||||||
|
if (keyValue[0].equals("user"))
|
||||||
|
username = keyValue[1];
|
||||||
|
else if (keyValue[0].equals("serverId"))
|
||||||
|
serverId = keyValue[1];
|
||||||
|
else if (keyValue[0].equals("ip"))
|
||||||
|
ip = keyValue[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (username == null || serverId == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean validJoin = SessionServer.hasJoined(username, serverId, ip);
|
||||||
|
|
||||||
|
if (validJoin) {
|
||||||
|
response = "YES";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InputStream getInputStream() throws IOException {
|
||||||
|
return new ByteArrayInputStream(response.getBytes());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getResponseCode() {
|
||||||
|
return 200;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getResponseMessage() {
|
||||||
|
return responseMessage;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package gg.codie.mineonline.protocol;
|
||||||
|
|
||||||
|
import sun.net.www.protocol.http.HttpURLConnection;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.net.URLConnection;
|
||||||
|
import java.net.URLStreamHandler;
|
||||||
|
|
||||||
|
public class MineOnlineURLStreamHandler extends URLStreamHandler {
|
||||||
|
@Override
|
||||||
|
protected URLConnection openConnection(URL url) throws IOException {
|
||||||
|
// Online-Mode fix
|
||||||
|
if (url.toString().contains("/game/checkserver.jsp"))
|
||||||
|
return new CheckServerURLConnection(url);
|
||||||
|
else
|
||||||
|
return new HttpURLConnection(url, null);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package gg.codie.mineonline.protocol;
|
||||||
|
|
||||||
|
import java.net.URLStreamHandler;
|
||||||
|
import java.net.URLStreamHandlerFactory;
|
||||||
|
|
||||||
|
public class MineOnlineURLStreamHandlerFactory implements URLStreamHandlerFactory {
|
||||||
|
@Override
|
||||||
|
public URLStreamHandler createURLStreamHandler(String protocol) {
|
||||||
|
if ("http".equals(protocol)) {
|
||||||
|
return new MineOnlineURLStreamHandler();
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@ -1,14 +0,0 @@
|
|||||||
package gg.codie.utils;
|
|
||||||
|
|
||||||
public class ArrayUtils {
|
|
||||||
public static byte[] toPrimitives(Byte[] oBytes)
|
|
||||||
{
|
|
||||||
|
|
||||||
byte[] bytes = new byte[oBytes.length];
|
|
||||||
for(int i = 0; i < oBytes.length; i++){
|
|
||||||
bytes[i] = oBytes[i];
|
|
||||||
}
|
|
||||||
return bytes;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user