mirror of
https://github.com/unmojang/OnlineModeFix.git
synced 2025-09-09 07:19:01 -04:00
Added bukkit chat bridge.
This commit is contained in:
parent
7ef588012c
commit
d9862b1ea3
11
.idea/artifacts/MineOnlineBroadcastBukkit.xml
generated
Normal file
11
.idea/artifacts/MineOnlineBroadcastBukkit.xml
generated
Normal file
@ -0,0 +1,11 @@
|
||||
<component name="ArtifactManager">
|
||||
<artifact type="jar" name="MineOnlineBroadcastBukkit">
|
||||
<output-path>$PROJECT_DIR$/out/artifacts/MineOnlineBroadcastBukkit</output-path>
|
||||
<root id="archive" name="MineOnlineBroadcastBukkit.jar">
|
||||
<element id="module-output" name="MineOnlineBroadcast-Bukkit" />
|
||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/json.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/JDA-4.2.0_168-withDependencies-min.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/discord-webhooks-0.5.0.jar" path-in-jar="/" />
|
||||
</root>
|
||||
</artifact>
|
||||
</component>
|
9
.idea/artifacts/MineOnlineBroadcast_Bukkit.xml
generated
9
.idea/artifacts/MineOnlineBroadcast_Bukkit.xml
generated
@ -1,9 +0,0 @@
|
||||
<component name="ArtifactManager">
|
||||
<artifact type="jar" name="MineOnlineBroadcast-Bukkit">
|
||||
<output-path>$PROJECT_DIR$/out/artifacts/MineOnlineBroadcast_Bukkit</output-path>
|
||||
<root id="archive" name="MineOnlineBroadcast-Bukkit.jar">
|
||||
<element id="module-output" name="MineOnlineBroadcast-Bukkit" />
|
||||
<element id="extracted-dir" path="$PROJECT_DIR$/lib/json.jar" path-in-jar="/" />
|
||||
</root>
|
||||
</artifact>
|
||||
</component>
|
10
.idea/libraries/JDA_4_2_0_168_withDependencies_min.xml
generated
Normal file
10
.idea/libraries/JDA_4_2_0_168_withDependencies_min.xml
generated
Normal file
@ -0,0 +1,10 @@
|
||||
<component name="libraryTable">
|
||||
<library name="JDA-4.2.0_168-withDependencies-min">
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/lib/JDA-4.2.0_168-withDependencies-min.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/discord-webhooks-0.5.0.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
551
.idea/workspace.xml
generated
551
.idea/workspace.xml
generated
@ -1,7 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ArtifactsWorkspaceSettings">
|
||||
<artifacts-to-build>
|
||||
<artifact name="MineOnlineBroadcastBukkit" />
|
||||
</artifacts-to-build>
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42abf2d-5ce3-4d3a-b3e0-db470c42f0ce" name="Default Changelist" comment="" />
|
||||
<list default="true" id="e42abf2d-5ce3-4d3a-b3e0-db470c42f0ce" name="Default Changelist" comment="Added missing plugin.yml resource.">
|
||||
<change afterPath="$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcastBukkit.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/.idea/libraries/JDA_4_2_0_168_withDependencies_min.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/lib/JDA-4.2.0_168-withDependencies-min.jar" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/lib/discord-webhooks-0.5.0.jar" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/common/input/AbstractColorCodeProvider.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/common/input/EColorCodeColor.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/common/input/IColorCodeProvider.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/minecraft/server/AbstractMinecraftColorCodeProvider.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/minecraft/server/MinecraftColorCodeProvider.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/DiscordChatBridge.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/IAvatarProvider.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/IMessageRecievedListener.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/IShutdownListener.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/MinotarAvatarProvider.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcast_Bukkit.xml" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/MineOnlineBroadcast-Bukkit.iml" beforeDir="false" afterPath="$PROJECT_DIR$/MineOnlineBroadcast-Bukkit.iml" 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/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastPlugin.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/MineOnlineBroadcastListener.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastListener.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/ProxyThread.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/ProxyThread.java" afterDir="false" />
|
||||
</list>
|
||||
<ignored path="$PROJECT_DIR$/out/" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
@ -10,47 +37,177 @@
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf>
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/AbstractColorCodeProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/MineOnlineBroadcast.java">
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/minecraft/server/AbstractMinecraftColorCodeProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="778">
|
||||
<caret line="162" column="86" lean-forward="true" selection-start-line="162" selection-start-column="86" selection-end-line="162" selection-end-column="86" />
|
||||
<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>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/DiscordChatBridge.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="597">
|
||||
<caret line="82" column="30" selection-start-line="82" selection-start-column="30" selection-end-line="82" selection-end-column="30" />
|
||||
<folding>
|
||||
<element signature="e#1763#2226#0" expanded="true" />
|
||||
<element signature="e#2225#2226#0" expanded="true" />
|
||||
<element signature="e#2258#2482#0" expanded="true" />
|
||||
<element signature="e#2481#2482#0" expanded="true" />
|
||||
<element signature="e#3646#3647#0" expanded="true" />
|
||||
<element signature="e#3676#3677#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/EColorCodeColor.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/IColorCodeProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="102">
|
||||
<caret line="6" selection-start-line="6" selection-end-line="6" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<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>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastListener.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="612">
|
||||
<caret line="36" column="153" selection-start-line="36" selection-start-column="153" selection-end-line="36" selection-end-column="153" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#301#302#0" expanded="true" />
|
||||
<element signature="e#339#340#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastPlugin.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="614">
|
||||
<caret line="297" column="24" lean-forward="true" selection-start-line="297" selection-start-column="24" selection-end-line="297" selection-end-column="24" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#11866#11867#0" expanded="true" />
|
||||
<element signature="e#11970#11971#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<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" lean-forward="true" selection-start-line="9" selection-start-column="10" selection-end-line="9" selection-end-column="10" />
|
||||
</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="816">
|
||||
<caret line="82" column="49" selection-start-line="82" selection-start-column="49" selection-end-line="82" selection-end-column="49" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#771#772#0" expanded="true" />
|
||||
<element signature="e#807#808#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Class" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="FindInProjectRecents">
|
||||
<findStrings>
|
||||
<find>md5</find>
|
||||
<find>server-ip</find>
|
||||
<find>oldcr</find>
|
||||
<find>old</find>
|
||||
<find>onlineMode</find>
|
||||
<find>here</find>
|
||||
<find>onlinemode</find>
|
||||
<find>System.out</find>
|
||||
<find>200 OK</find>
|
||||
<find>listener</find>
|
||||
</findStrings>
|
||||
</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$/src/ProxyThread.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/utils/JSONUtils.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/minecraft/SessionServer.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/utils/ArrayUtils.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/minecraft/api/SessionServer.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/ProxyThread.java" />
|
||||
<option value="$PROJECT_DIR$/src/MineOnlineBroadcast.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/hmod/MineOnlineBroadcastListener.java" />
|
||||
<option value="$PROJECT_DIR$/src/MineOnlineBroadcastListener.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/discord/MinotarAvatarProvider.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/discord/IMessageRecievedListener.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/ProxyThread.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/ProxyThread.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/common/input/IColorCodeProvider.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/minecraft/MinecraftColorCodeProvider.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/minecraft/server/MinecraftColorCodeProvider.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastPlugin.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/discord/DiscordChatBridge.java" />
|
||||
<option value="$PROJECT_DIR$/res/plugin.yml" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastListener.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectFrameBounds" extendedState="6">
|
||||
<option name="x" value="248" />
|
||||
<option name="y" value="-14" />
|
||||
<component name="ProjectFrameBounds">
|
||||
<option name="x" value="1273" />
|
||||
<option name="width" value="1294" />
|
||||
<option name="height" value="1417" />
|
||||
</component>
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||
<component name="ProjectView">
|
||||
<navigator proportions="" version="1">
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scope" />
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<expand>
|
||||
@ -63,32 +220,110 @@
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="res" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="input" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="minecraft" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="minecraft" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="server" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="mineonline" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="mineonline" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="discord" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="mineonline" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="plugin" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast-Bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="mineonline" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="plugin" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="PackagesPane" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="aspect.path.notification.shown" value="true" />
|
||||
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1601520817191" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/lib/craftbukkit1-7-3(1060).jar!/" />
|
||||
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1604458496786" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/lib/discord-webhooks-0.5.0.jar!/" />
|
||||
<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="project.structure.last.edited" value="Artifacts" />
|
||||
<property name="project.structure.proportion" value="0.0" />
|
||||
<property name="project.structure.proportion" value="0.15" />
|
||||
<property name="project.structure.side.proportion" value="0.2" />
|
||||
<property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\res" />
|
||||
</key>
|
||||
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
|
||||
<recent name="gg.codie.mineonline.plugin" />
|
||||
</key>
|
||||
<key name="CopyClassDialog.RECENTS_KEY">
|
||||
<recent name="gg.codie.mineonline.discord" />
|
||||
<recent name="gg.codie.minecraft" />
|
||||
</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>
|
||||
</component>
|
||||
@ -114,59 +349,293 @@
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1601520627871</updated>
|
||||
<workItem from="1601520632934" duration="175000" />
|
||||
<workItem from="1601520632934" duration="559000" />
|
||||
<workItem from="1601569586961" duration="2991000" />
|
||||
<workItem from="1601586764379" duration="1787000" />
|
||||
<workItem from="1601632586778" duration="18000" />
|
||||
<workItem from="1602265372050" duration="2495000" />
|
||||
<workItem from="1602443331568" duration="1097000" />
|
||||
<workItem from="1602851499778" duration="662000" />
|
||||
<workItem from="1603025159964" duration="604000" />
|
||||
<workItem from="1603032408452" duration="272000" />
|
||||
<workItem from="1603900052290" duration="2235000" />
|
||||
<workItem from="1604084092619" duration="6413000" />
|
||||
<workItem from="1604095542330" duration="480000" />
|
||||
<workItem from="1604448227076" duration="167000" />
|
||||
<workItem from="1604454551345" duration="3850000" />
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="Added missing plugin.yml resource.">
|
||||
<created>1601569681272</created>
|
||||
<option name="number" value="00001" />
|
||||
<option name="presentableId" value="LOCAL-00001" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1601569681273</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00002" summary="Bukkit 1.2 support.">
|
||||
<created>1602266936572</created>
|
||||
<option name="number" value="00002" />
|
||||
<option name="presentableId" value="LOCAL-00002" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1602266936572</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00003" summary="https">
|
||||
<created>1602444340520</created>
|
||||
<option name="number" value="00003" />
|
||||
<option name="presentableId" value="LOCAL-00003" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1602444340520</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00004" summary="1.0.3">
|
||||
<created>1602444354264</created>
|
||||
<option name="number" value="00004" />
|
||||
<option name="presentableId" value="LOCAL-00004" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1602444354264</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00005" summary="Don't assume online-mode.">
|
||||
<created>1602851549642</created>
|
||||
<option name="number" value="00005" />
|
||||
<option name="presentableId" value="LOCAL-00005" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1602851549642</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00006" summary="Removed banlist/whitelist broadcasting.">
|
||||
<created>1603025313643</created>
|
||||
<option name="number" value="00006" />
|
||||
<option name="presentableId" value="LOCAL-00006" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1603025313643</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00007" summary=""serverlist-ip" and "serverlist-port" options">
|
||||
<created>1603032473299</created>
|
||||
<option name="number" value="00007" />
|
||||
<option name="presentableId" value="LOCAL-00007" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1603032473299</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00008" summary="1.0.7 Handle JSON library conflicts.">
|
||||
<created>1603903123690</created>
|
||||
<option name="number" value="00008" />
|
||||
<option name="presentableId" value="LOCAL-00008" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1603903123690</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00009" summary="Added an online-mode fix.">
|
||||
<created>1604088077949</created>
|
||||
<option name="number" value="00009" />
|
||||
<option name="presentableId" value="LOCAL-00009" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1604088077949</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00010" summary="Removed debug logs.">
|
||||
<created>1604088171335</created>
|
||||
<option name="number" value="00010" />
|
||||
<option name="presentableId" value="LOCAL-00010" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1604088171335</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00011" summary="Send max players as an int.">
|
||||
<created>1604095778444</created>
|
||||
<option name="number" value="00011" />
|
||||
<option name="presentableId" value="LOCAL-00011" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1604095778444</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="12" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="175000" />
|
||||
<option name="totallyTimeSpent" value="23630000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-8" y="-8" width="2576" height="1426" extended-state="6" />
|
||||
<frame x="1273" y="0" width="1294" height="1417" extended-state="0" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Image Layers" />
|
||||
<window_info id="Designer" />
|
||||
<window_info id="UI Designer" />
|
||||
<window_info id="Capture Tool" />
|
||||
<window_info id="Favorites" side_tool="true" />
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.25" />
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.25769854" />
|
||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Docker" show_stripe_button="false" />
|
||||
<window_info anchor="bottom" id="IntelliGuard" />
|
||||
<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="Database Changes" />
|
||||
<window_info id="Designer" order="2" />
|
||||
<window_info id="Image Layers" 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 anchor="bottom" id="Message" order="0" />
|
||||
<window_info anchor="bottom" id="Find" order="1" />
|
||||
<window_info anchor="bottom" id="Find" order="1" weight="0.32943925" />
|
||||
<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="Theme Preview" />
|
||||
<window_info anchor="right" id="Maven" />
|
||||
<window_info anchor="right" id="Capture Analysis" />
|
||||
<window_info anchor="right" id="Palette	" />
|
||||
<window_info anchor="right" id="Database" />
|
||||
<window_info anchor="bottom" id="IntelliGuard" order="7" />
|
||||
<window_info anchor="bottom" id="Terminal" order="8" sideWeight="0.49838188" weight="0.33021808" />
|
||||
<window_info anchor="bottom" id="Docker" order="9" show_stripe_button="false" />
|
||||
<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" />
|
||||
<window_info anchor="bottom" id="Database Changes" order="12" />
|
||||
<window_info anchor="bottom" id="Version Control" order="13" sideWeight="0.49920508" visible="true" weight="0.32788163" />
|
||||
<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="Maven" order="3" />
|
||||
<window_info anchor="right" id="Palette" order="4" />
|
||||
<window_info anchor="right" id="Capture Analysis" order="5" />
|
||||
<window_info anchor="right" id="Database" order="6" />
|
||||
<window_info anchor="right" id="Palette	" order="7" />
|
||||
<window_info anchor="right" id="Theme Preview" order="8" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="1" />
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="Added missing plugin.yml resource." />
|
||||
<MESSAGE value="Bukkit 1.2 support." />
|
||||
<MESSAGE value="https" />
|
||||
<MESSAGE value="1.0.3" />
|
||||
<MESSAGE value="Don't assume online-mode." />
|
||||
<MESSAGE value="Removed banlist/whitelist broadcasting." />
|
||||
<MESSAGE value=""serverlist-ip" and "serverlist-port" options" />
|
||||
<MESSAGE value="1.0.7 Handle JSON library conflicts." />
|
||||
<MESSAGE value="Added an online-mode fix." />
|
||||
<MESSAGE value="Removed debug logs." />
|
||||
<MESSAGE value="Send max players as an int." />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Send max players as an int." />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="jar://$PROJECT_DIR$/lib/craftbukkit-1.2_01_02.jar!/org/bukkit/event/player/PlayerListener.class" />
|
||||
<entry file="file://$PROJECT_DIR$/.idea/libraries/craftbukkit.xml">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<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="file://$PROJECT_DIR$/.gitignore">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/MineOnlineBroadcast.java">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/utils/ArrayUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="778">
|
||||
<caret line="162" column="86" lean-forward="true" selection-start-line="162" selection-start-column="86" selection-end-line="162" selection-end-column="86" />
|
||||
<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">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="102">
|
||||
<caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/minecraft/api/SessionServer.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="357">
|
||||
<caret line="23" selection-start-line="23" selection-end-line="23" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/.idea/workspace.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="969">
|
||||
<caret line="57" column="13" selection-start-line="57" selection-start-column="13" selection-end-line="57" selection-end-column="13" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IAvatarProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/MinotarAvatarProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IMessageRecievedListener.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</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/mineonline/plugin/ProxyThread.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="816">
|
||||
<caret line="82" column="49" selection-start-line="82" selection-start-column="49" selection-end-line="82" selection-end-column="49" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#771#772#0" expanded="true" />
|
||||
<element signature="e#807#808#0" expanded="true" />
|
||||
</folding>
|
||||
</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/common/input/EColorCodeColor.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/IColorCodeProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="102">
|
||||
<caret line="6" selection-start-line="6" selection-end-line="6" />
|
||||
</state>
|
||||
</provider>
|
||||
</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/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/gg/codie/mineonline/discord/DiscordChatBridge.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="597">
|
||||
<caret line="82" column="30" selection-start-line="82" selection-start-column="30" selection-end-line="82" selection-end-column="30" />
|
||||
<folding>
|
||||
<element signature="e#1763#2226#0" expanded="true" />
|
||||
<element signature="e#2225#2226#0" expanded="true" />
|
||||
<element signature="e#2258#2482#0" expanded="true" />
|
||||
<element signature="e#2481#2482#0" expanded="true" />
|
||||
<element signature="e#3646#3647#0" expanded="true" />
|
||||
<element signature="e#3676#3677#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</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" lean-forward="true" selection-start-line="9" selection-start-column="10" selection-end-line="9" selection-end-column="10" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastPlugin.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="614">
|
||||
<caret line="297" column="24" lean-forward="true" selection-start-line="297" selection-start-column="24" selection-end-line="297" selection-end-column="24" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#11866#11867#0" expanded="true" />
|
||||
<element signature="e#11970#11971#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastListener.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="612">
|
||||
<caret line="36" column="153" selection-start-line="36" selection-start-column="153" selection-end-line="36" selection-end-column="153" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#301#302#0" expanded="true" />
|
||||
<element signature="e#339#340#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -176,7 +645,7 @@
|
||||
<state key="ArtifactsStructureConfigurable.UI">
|
||||
<settings>
|
||||
<artifact-editor />
|
||||
<last-edited>MineOnlineBroadcast-Bukkit</last-edited>
|
||||
<last-edited>MineOnlineBroadcastBukkit</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
@ -248,7 +717,7 @@
|
||||
</state>
|
||||
<state key="ProjectLibrariesConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>craftbukkit</last-edited>
|
||||
<last-edited>JDA-4.2.0_168-withDependencies-min</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
|
@ -10,5 +10,6 @@
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="json" level="project" />
|
||||
<orderEntry type="library" name="craftbukkit" level="project" />
|
||||
<orderEntry type="library" exported="" name="JDA-4.2.0_168-withDependencies-min" level="project" />
|
||||
</component>
|
||||
</module>
|
BIN
lib/JDA-4.2.0_168-withDependencies-min.jar
Normal file
BIN
lib/JDA-4.2.0_168-withDependencies-min.jar
Normal file
Binary file not shown.
BIN
lib/discord-webhooks-0.5.0.jar
Normal file
BIN
lib/discord-webhooks-0.5.0.jar
Normal file
Binary file not shown.
@ -1,10 +1,10 @@
|
||||
name: MineOnlineBroadcast
|
||||
version: 1.0.8
|
||||
name: gg.codie.mineonline.plugin.bukkit.MineOnlineBroadcast
|
||||
version: 1.0.9
|
||||
description: Lists a server on mineonline.codie.gg/servers
|
||||
author: codieradical
|
||||
authors: [Codie]
|
||||
website: https://mineonline.codie.gg/
|
||||
|
||||
main: MineOnlineBroadcast
|
||||
main: gg.codie.mineonline.plugin.bukkit.MineOnlineBroadcastPlugin
|
||||
database: false
|
||||
depend: []
|
@ -1,22 +0,0 @@
|
||||
import org.bukkit.event.player.PlayerEvent;
|
||||
import org.bukkit.event.player.PlayerKickEvent;
|
||||
import org.bukkit.event.player.PlayerListener;
|
||||
import org.bukkit.event.player.PlayerLoginEvent;
|
||||
|
||||
public class MineOnlineBroadcastListener extends PlayerListener {
|
||||
public MineOnlineBroadcastListener() {
|
||||
|
||||
}
|
||||
|
||||
public void onPlayerQuit(PlayerEvent event) {
|
||||
MineOnlineBroadcast.lastPing = System.currentTimeMillis() - 40000;
|
||||
}
|
||||
|
||||
public void onPlayerLogin(PlayerLoginEvent event) {
|
||||
MineOnlineBroadcast.lastPing = System.currentTimeMillis() - 40000;
|
||||
}
|
||||
|
||||
public void onPlayerKick(PlayerKickEvent event) {
|
||||
MineOnlineBroadcast.lastPing = System.currentTimeMillis() - 40000;
|
||||
}
|
||||
}
|
11
src/gg/codie/common/input/AbstractColorCodeProvider.java
Normal file
11
src/gg/codie/common/input/AbstractColorCodeProvider.java
Normal file
@ -0,0 +1,11 @@
|
||||
package gg.codie.common.input;
|
||||
|
||||
public abstract class AbstractColorCodeProvider implements IColorCodeProvider {
|
||||
public String removeColorCodes(String in){
|
||||
for (EColorCodeColor chatColor : EColorCodeColor.values()) {
|
||||
in = in.replace(getColorCode(chatColor), "");
|
||||
}
|
||||
|
||||
return in;
|
||||
}
|
||||
}
|
20
src/gg/codie/common/input/EColorCodeColor.java
Normal file
20
src/gg/codie/common/input/EColorCodeColor.java
Normal file
@ -0,0 +1,20 @@
|
||||
package gg.codie.common.input;
|
||||
|
||||
public enum EColorCodeColor {
|
||||
Black,
|
||||
DarkBlue,
|
||||
DarkGreen,
|
||||
DarkTeal,
|
||||
DarkRed,
|
||||
Purple,
|
||||
Gold,
|
||||
Gray,
|
||||
DarkGray,
|
||||
Blue,
|
||||
BrightGreen,
|
||||
Teal,
|
||||
Red,
|
||||
Pink,
|
||||
Yellow,
|
||||
White
|
||||
}
|
6
src/gg/codie/common/input/IColorCodeProvider.java
Normal file
6
src/gg/codie/common/input/IColorCodeProvider.java
Normal file
@ -0,0 +1,6 @@
|
||||
package gg.codie.common.input;
|
||||
|
||||
public interface IColorCodeProvider {
|
||||
String getColorCode(EColorCodeColor chatColor);
|
||||
String removeColorCodes(String text);
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
package gg.codie.minecraft.server;
|
||||
|
||||
import gg.codie.common.input.AbstractColorCodeProvider;
|
||||
import gg.codie.common.input.EColorCodeColor;
|
||||
|
||||
public abstract class AbstractMinecraftColorCodeProvider extends AbstractColorCodeProvider {
|
||||
public abstract String getPrefix();
|
||||
|
||||
@Override
|
||||
public String getColorCode(EColorCodeColor chatColor) {
|
||||
switch (chatColor) {
|
||||
case Black:
|
||||
return getPrefix() + '0';
|
||||
case DarkBlue:
|
||||
return getPrefix() + '1';
|
||||
case DarkGreen:
|
||||
return getPrefix() + '2';
|
||||
case DarkTeal:
|
||||
return getPrefix() + '3';
|
||||
case DarkRed:
|
||||
return getPrefix() + '4';
|
||||
case Purple:
|
||||
return getPrefix() + '5';
|
||||
case Gold:
|
||||
return getPrefix() + '6';
|
||||
case Gray:
|
||||
return getPrefix() + '7';
|
||||
case DarkGray:
|
||||
return getPrefix() + '8';
|
||||
case Blue:
|
||||
return getPrefix() + '9';
|
||||
case BrightGreen:
|
||||
return getPrefix() + 'a';
|
||||
case Teal:
|
||||
return getPrefix() + 'b';
|
||||
case Red:
|
||||
return getPrefix() + 'c';
|
||||
case Pink:
|
||||
return getPrefix() + 'd';
|
||||
case Yellow:
|
||||
return getPrefix() + 'e';
|
||||
case White:
|
||||
default:
|
||||
return getPrefix() + 'f';
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package gg.codie.minecraft.server;
|
||||
|
||||
public class MinecraftColorCodeProvider extends AbstractMinecraftColorCodeProvider {
|
||||
public String getPrefix() {
|
||||
return "§";
|
||||
}
|
||||
}
|
92
src/gg/codie/mineonline/discord/DiscordChatBridge.java
Normal file
92
src/gg/codie/mineonline/discord/DiscordChatBridge.java
Normal file
@ -0,0 +1,92 @@
|
||||
package gg.codie.mineonline.discord;
|
||||
|
||||
import club.minnced.discord.webhook.WebhookClient;
|
||||
import club.minnced.discord.webhook.WebhookClientBuilder;
|
||||
import club.minnced.discord.webhook.send.WebhookMessageBuilder;
|
||||
import net.dv8tion.jda.api.JDA;
|
||||
import net.dv8tion.jda.api.JDABuilder;
|
||||
import net.dv8tion.jda.api.entities.MessageChannel;
|
||||
import net.dv8tion.jda.api.events.ShutdownEvent;
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.security.auth.login.LoginException;
|
||||
|
||||
public class DiscordChatBridge extends ListenerAdapter {
|
||||
|
||||
WebhookMessageBuilder webhookMessage;
|
||||
WebhookClientBuilder builder;
|
||||
MessageChannel channel;
|
||||
WebhookClient client;
|
||||
final String webhook;
|
||||
final long channelID;
|
||||
final String token;
|
||||
final JDA jda;
|
||||
final IAvatarProvider avatarProvider;
|
||||
|
||||
public DiscordChatBridge(IAvatarProvider avatarProvider, String discordChannel, String discordToken, String webhookUrl, IMessageRecievedListener msgEvent, IShutdownListener shutdownListener) throws NumberFormatException, InterruptedException, LoginException {
|
||||
token = discordToken;
|
||||
channelID = Long.parseLong(discordChannel);
|
||||
webhook = webhookUrl;
|
||||
|
||||
this.avatarProvider = avatarProvider;
|
||||
|
||||
if (webhook != null) {
|
||||
try {
|
||||
builder = new WebhookClientBuilder(webhook);
|
||||
client = builder.build();
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
jda = JDABuilder.createDefault(token)
|
||||
.build();
|
||||
jda.awaitReady();
|
||||
System.out.println("Discord Bridge Started");
|
||||
jda.addEventListener(new ListenerAdapter() {
|
||||
@Override
|
||||
public void onMessageReceived(MessageReceivedEvent event) {
|
||||
if (event.getChannel().getId().equals("" + channelID) && !event.isWebhookMessage() && !event.getAuthor().getId().equals(event.getJDA().getSelfUser().getId()) && !event.getMessage().getContentStripped().isEmpty()) { // stop listening to yourself
|
||||
msgEvent.onMessageRecieved(event);
|
||||
}
|
||||
}
|
||||
});
|
||||
jda.addEventListener(new ListenerAdapter() {
|
||||
@Override
|
||||
public void onShutdown(@Nonnull ShutdownEvent event) {
|
||||
shutdownListener.onShutdown();
|
||||
super.onShutdown(event);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void sendDiscordMessage(String username, String message){
|
||||
if (webhook != null && !username.equals("")){ // webhook player messages to discord
|
||||
webhookMessage = new WebhookMessageBuilder();
|
||||
webhookMessage.setUsername(username);
|
||||
webhookMessage.setAvatarUrl(avatarProvider.getAvatarURL(username));
|
||||
webhookMessage.setContent(message);
|
||||
client.send(webhookMessage.build());
|
||||
} else if (token != null && !username.equals("")) { // Non-webhook player messages to discord
|
||||
try {
|
||||
channel = jda.getTextChannelById(channelID);
|
||||
channel.sendMessage("**" + username + "**: " + message).queue();
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
} else if (username.equals("")){ // Non webhook system messages to discord
|
||||
try {
|
||||
channel = jda.getTextChannelById(channelID);
|
||||
channel.sendMessage(message).queue();
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void shutdown() {
|
||||
jda.shutdown();
|
||||
}
|
||||
}
|
||||
|
5
src/gg/codie/mineonline/discord/IAvatarProvider.java
Normal file
5
src/gg/codie/mineonline/discord/IAvatarProvider.java
Normal file
@ -0,0 +1,5 @@
|
||||
package gg.codie.mineonline.discord;
|
||||
|
||||
public interface IAvatarProvider {
|
||||
String getAvatarURL(String username);
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package gg.codie.mineonline.discord;
|
||||
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
|
||||
public interface IMessageRecievedListener {
|
||||
|
||||
void onMessageRecieved(MessageReceivedEvent message);
|
||||
|
||||
}
|
7
src/gg/codie/mineonline/discord/IShutdownListener.java
Normal file
7
src/gg/codie/mineonline/discord/IShutdownListener.java
Normal file
@ -0,0 +1,7 @@
|
||||
package gg.codie.mineonline.discord;
|
||||
|
||||
public interface IShutdownListener {
|
||||
|
||||
void onShutdown();
|
||||
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package gg.codie.mineonline.discord;
|
||||
|
||||
public class MinotarAvatarProvider implements IAvatarProvider {
|
||||
@Override
|
||||
public String getAvatarURL(String username) {
|
||||
return "https://minotar.net/avatar/" + username + "/100.png";
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package gg.codie.mineonline;
|
||||
package gg.codie.mineonline.plugin;
|
||||
|
||||
import gg.codie.minecraft.api.SessionServer;
|
||||
import gg.codie.utils.ArrayUtils;
|
@ -0,0 +1,39 @@
|
||||
package gg.codie.mineonline.plugin.bukkit;
|
||||
|
||||
import gg.codie.minecraft.server.MinecraftColorCodeProvider;
|
||||
import gg.codie.mineonline.discord.DiscordChatBridge;
|
||||
import org.bukkit.event.player.*;
|
||||
|
||||
public class MineOnlineBroadcastListener extends PlayerListener {
|
||||
DiscordChatBridge discord;
|
||||
MinecraftColorCodeProvider colorCodeProvider = new MinecraftColorCodeProvider();
|
||||
|
||||
public MineOnlineBroadcastListener(DiscordChatBridge discord) {
|
||||
this.discord = discord;
|
||||
}
|
||||
|
||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||
MineOnlineBroadcastPlugin.lastPing = 0;
|
||||
discord.sendDiscordMessage("", "**" + colorCodeProvider.removeColorCodes(event.getPlayer().getName()) + "** left the game.");
|
||||
}
|
||||
|
||||
public void onPlayerQuit(PlayerEvent event) {
|
||||
MineOnlineBroadcastPlugin.lastPing = 0;
|
||||
discord.sendDiscordMessage("", "**" + colorCodeProvider.removeColorCodes(event.getPlayer().getName()) + "** left the game.");
|
||||
}
|
||||
|
||||
public void onPlayerLogin(PlayerLoginEvent event) {
|
||||
MineOnlineBroadcastPlugin.lastPing = 0;
|
||||
discord.sendDiscordMessage("", "**" + colorCodeProvider.removeColorCodes(event.getPlayer().getName()) + "** joined the game.");
|
||||
}
|
||||
|
||||
public void onPlayerKick(PlayerKickEvent event) {
|
||||
MineOnlineBroadcastPlugin.lastPing = 0;
|
||||
discord.sendDiscordMessage("", "**" + colorCodeProvider.removeColorCodes(event.getPlayer().getName()) + "** left the game.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerChat(PlayerChatEvent event) {
|
||||
discord.sendDiscordMessage(colorCodeProvider.removeColorCodes(event.getPlayer().getName()), colorCodeProvider.removeColorCodes(event.getMessage()));
|
||||
}
|
||||
}
|
@ -1,4 +1,13 @@
|
||||
import gg.codie.mineonline.ProxyThread;
|
||||
package gg.codie.mineonline.plugin.bukkit;
|
||||
|
||||
import gg.codie.common.input.EColorCodeColor;
|
||||
import gg.codie.minecraft.server.MinecraftColorCodeProvider;
|
||||
import gg.codie.mineonline.discord.DiscordChatBridge;
|
||||
import gg.codie.mineonline.discord.IMessageRecievedListener;
|
||||
import gg.codie.mineonline.discord.IShutdownListener;
|
||||
import gg.codie.mineonline.discord.MinotarAvatarProvider;
|
||||
import gg.codie.mineonline.plugin.ProxyThread;
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
@ -15,14 +24,17 @@ import java.security.MessageDigest;
|
||||
import java.util.Arrays;
|
||||
import java.util.Properties;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class MineOnlineBroadcast extends JavaPlugin {
|
||||
public class MineOnlineBroadcastPlugin extends JavaPlugin {
|
||||
Thread broadcastThread;
|
||||
public static long lastPing;
|
||||
MineOnlineBroadcastListener listener;
|
||||
Logger log;
|
||||
ProxyThread proxyThread;
|
||||
DiscordChatBridge discord;
|
||||
|
||||
public void launchProxy() throws IOException {
|
||||
ServerSocket serverSocket = new ServerSocket(0);
|
||||
@ -75,7 +87,7 @@ public class MineOnlineBroadcast extends JavaPlugin {
|
||||
HttpURLConnection connection = null;
|
||||
|
||||
try {
|
||||
URLClassLoader classLoader = new URLClassLoader(new URL[] { MineOnlineBroadcast.class.getProtectionDomain().getCodeSource().getLocation() });
|
||||
URLClassLoader classLoader = new URLClassLoader(new URL[] { MineOnlineBroadcastPlugin.class.getProtectionDomain().getCodeSource().getLocation() });
|
||||
|
||||
Class jsonObjectClass = classLoader.loadClass("org.json.JSONObject");
|
||||
|
||||
@ -133,13 +145,13 @@ public class MineOnlineBroadcast extends JavaPlugin {
|
||||
|
||||
this.log = Logger.getLogger("Minecraft");
|
||||
|
||||
this.log.info("Enabled MineOnlineBroadcast");
|
||||
this.log.info("Enabled gg.codie.mineonline.plugin.bukkit.MineOnlineBroadcast");
|
||||
|
||||
broadcastThread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
while(true) {
|
||||
if (System.currentTimeMillis() - MineOnlineBroadcast.lastPing > 45000) {
|
||||
if (System.currentTimeMillis() - MineOnlineBroadcastPlugin.lastPing > 45000) {
|
||||
lastPing = System.currentTimeMillis();
|
||||
try {
|
||||
Properties propertiesFile = new Properties();
|
||||
@ -184,12 +196,12 @@ public class MineOnlineBroadcast extends JavaPlugin {
|
||||
|
||||
public void initialize() {
|
||||
this.log = Logger.getLogger("Minecraft");
|
||||
this.listener = new MineOnlineBroadcastListener();
|
||||
this.getServer().getPluginManager().registerEvent(Event.Type.PLAYER_LOGIN, this.listener, Event.Priority.Lowest, this);
|
||||
this.getServer().getPluginManager().registerEvent(Event.Type.PLAYER_QUIT, this.listener, Event.Priority.Highest, this);
|
||||
this.getServer().getPluginManager().registerEvent(Event.Type.PLAYER_KICK, this.listener, Event.Priority.Highest, this);
|
||||
|
||||
MinecraftColorCodeProvider colorCodeProvider = new MinecraftColorCodeProvider();
|
||||
|
||||
Properties propertiesFile = new Properties();
|
||||
|
||||
try {
|
||||
Properties propertiesFile = new Properties();
|
||||
propertiesFile.load(new FileInputStream(new File("server.properties")));
|
||||
boolean onlineMode = propertiesFile.getProperty("online-mode", "true").equals("true");
|
||||
|
||||
@ -198,10 +210,86 @@ public class MineOnlineBroadcast extends JavaPlugin {
|
||||
} catch (Exception ex) {
|
||||
log.warning("Failed to enable online-mode fix. Authentication may fail.");
|
||||
}
|
||||
|
||||
try {
|
||||
propertiesFile.load(new FileInputStream(new File("server.properties")));
|
||||
String discordToken = propertiesFile.getProperty("discord-token", null);
|
||||
String discordChannelID = propertiesFile.getProperty("discord-channel", null);
|
||||
String discordWebhookURL = propertiesFile.getProperty("discord-webhook-url", null);
|
||||
String serverName = propertiesFile.getProperty("server-name", "Minecraft Server");
|
||||
|
||||
|
||||
if (discordToken != null && discordChannelID != null) { // Create the discord bot if token and channel are present
|
||||
discord = new DiscordChatBridge(new MinotarAvatarProvider(), discordChannelID, discordToken, discordWebhookURL, new IMessageRecievedListener() {
|
||||
@Override
|
||||
public void onMessageRecieved(MessageReceivedEvent event) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String message = event.getMessage().getContentStripped();
|
||||
|
||||
message = message.replace("\n", "") // Make emojis pretty
|
||||
.replace(("\uD83D\uDE41"), ":)")
|
||||
.replace(("\uD83D\uDE26"), ":(")
|
||||
.replace(("\uD83D\uDE04"), ":D")
|
||||
.replace(("\u2764"), "<3");
|
||||
|
||||
for (int i = 0; i < message.length(); i++) {
|
||||
char c = message.charAt(i);
|
||||
if ((int) c > 31 && (int) c < 128) {
|
||||
sb.append(c);
|
||||
}
|
||||
}
|
||||
|
||||
if (event.getMessage().getContentStripped().startsWith("\n"))
|
||||
return;
|
||||
|
||||
String saneName = event.getAuthor().getName();
|
||||
String saneMessage = sb.toString();
|
||||
|
||||
if(saneMessage.trim().isEmpty())
|
||||
return;
|
||||
|
||||
Pattern trailingWhite = Pattern.compile(colorCodeProvider.getColorCode(EColorCodeColor.White) + "\\s{0,}$");
|
||||
Matcher whiteMatcher = trailingWhite.matcher(saneMessage);
|
||||
|
||||
if (whiteMatcher.find()) { // Prevent a crash in classic where if the message ends with this all connected clients crash
|
||||
saneMessage = saneMessage.substring(0, saneMessage.length() - whiteMatcher.group().length());
|
||||
}
|
||||
|
||||
if (saneMessage.length() > 256) // Truncate messages that are overly long
|
||||
saneMessage = saneMessage.substring(0, 256);
|
||||
|
||||
message = (colorCodeProvider.getColorCode(EColorCodeColor.Blue) + saneName + ": " + colorCodeProvider.getColorCode(EColorCodeColor.White) + saneMessage);
|
||||
|
||||
// remove double color codes that occur with resetting.
|
||||
message = message.replace(colorCodeProvider.getColorCode(EColorCodeColor.White) + colorCodeProvider.getPrefix(), colorCodeProvider.getPrefix());
|
||||
|
||||
getServer().broadcastMessage(message);
|
||||
}
|
||||
}, new IShutdownListener() {
|
||||
@Override
|
||||
public void onShutdown() {
|
||||
discord.sendDiscordMessage("", "Stopping " + serverName);
|
||||
}
|
||||
});
|
||||
|
||||
discord.sendDiscordMessage("", "Starting " + serverName);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
log.warning("Failed to start discord bridge.");
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
this.listener = new MineOnlineBroadcastListener(discord);
|
||||
this.getServer().getPluginManager().registerEvent(Event.Type.PLAYER_LOGIN, this.listener, Event.Priority.Lowest, this);
|
||||
this.getServer().getPluginManager().registerEvent(Event.Type.PLAYER_QUIT, this.listener, Event.Priority.Highest, this);
|
||||
this.getServer().getPluginManager().registerEvent(Event.Type.PLAYER_KICK, this.listener, Event.Priority.Highest, this);
|
||||
this.getServer().getPluginManager().registerEvent(Event.Type.PLAYER_CHAT, this.listener, Event.Priority.Highest, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
//unregister();
|
||||
discord.shutdown();
|
||||
broadcastThread.interrupt();
|
||||
stopProxy();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user