diff --git a/.gitignore b/.gitignore index fafcb97e..3d5758a5 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,9 @@ PwnFilter.iml PwnFilter.ipr PwnFilter.iws .gradle -build \ No newline at end of file +build +run +idea +.idea +\.idea +/.idea \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 00000000..4743f717 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__aopalliance_aopalliance_1_0.xml b/.idea/libraries/Gradle__aopalliance_aopalliance_1_0.xml new file mode 100644 index 00000000..dfd1af5e --- /dev/null +++ b/.idea/libraries/Gradle__aopalliance_aopalliance_1_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_flowpowered_flow_noise_1_0_1_SNAPSHOT.xml b/.idea/libraries/Gradle__com_flowpowered_flow_noise_1_0_1_SNAPSHOT.xml new file mode 100644 index 00000000..e975e275 --- /dev/null +++ b/.idea/libraries/Gradle__com_flowpowered_flow_noise_1_0_1_SNAPSHOT.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_1_3_9.xml b/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_1_3_9.xml new file mode 100644 index 00000000..63b7b354 --- /dev/null +++ b/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_1_3_9.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_google_code_gson_gson_2_2_4.xml b/.idea/libraries/Gradle__com_google_code_gson_gson_2_2_4.xml new file mode 100644 index 00000000..5fadbfbb --- /dev/null +++ b/.idea/libraries/Gradle__com_google_code_gson_gson_2_2_4.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_google_guava_guava_17_0.xml b/.idea/libraries/Gradle__com_google_guava_guava_17_0.xml new file mode 100644 index 00000000..0ecc15e1 --- /dev/null +++ b/.idea/libraries/Gradle__com_google_guava_guava_17_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_google_inject_guice_4_0.xml b/.idea/libraries/Gradle__com_google_inject_guice_4_0.xml new file mode 100644 index 00000000..87bea56e --- /dev/null +++ b/.idea/libraries/Gradle__com_google_inject_guice_4_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_typesafe_config_1_3_0.xml b/.idea/libraries/Gradle__com_typesafe_config_1_3_0.xml new file mode 100644 index 00000000..8cb397c0 --- /dev/null +++ b/.idea/libraries/Gradle__com_typesafe_config_1_3_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_ow2_asm_asm_5_0_3.xml b/.idea/libraries/Gradle__org_ow2_asm_asm_5_0_3.xml new file mode 100644 index 00000000..2f6ad78c --- /dev/null +++ b/.idea/libraries/Gradle__org_ow2_asm_asm_5_0_3.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_yaml_snakeyaml_1_16.xml b/.idea/libraries/Gradle__org_yaml_snakeyaml_1_16.xml new file mode 100644 index 00000000..73918ac0 --- /dev/null +++ b/.idea/libraries/Gradle__org_yaml_snakeyaml_1_16.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..9af1f0db --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/PwnFilter_main.iml b/.idea/modules/PwnFilter_main.iml new file mode 100644 index 00000000..2a2e5cd5 --- /dev/null +++ b/.idea/modules/PwnFilter_main.iml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/PwnFilter_test.iml b/.idea/modules/PwnFilter_test.iml new file mode 100644 index 00000000..6dde93b5 --- /dev/null +++ b/.idea/modules/PwnFilter_test.iml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 5e348dc3..92501390 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,8 @@ plugins { - id 'java' + id "com.qixalite.spongestart" version "1.4.6" + id 'java' + id 'com.github.johnrengelman.shadow' version '1.2.3' + //id 'org.spongepowered.plugin' version '0.5.1' } defaultTasks 'clean', 'build' @@ -13,9 +16,16 @@ version = project.version repositories { mavenCentral() maven { - name 'Sponge maven repo' + name 'Sonatype' + url 'https://oss.sonatype.org/content/repositories/snapshots/' + } + maven { url "https://jitpack.io" } + maven { + name 'sponge' url 'http://repo.spongepowered.org/maven' } + maven { url "http://repo.maven.apache.org/maven2" } + //maven { url "http://dl.bintray.com/austinv11/maven" } } dependencies { @@ -24,14 +34,20 @@ dependencies { } dependencies { - compile("org.spongepowered:spongeapi:${project.apiVersion}") { - transitive = true - } + compile 'org.spongepowered:spongeapi:6.0.0-SNAPSHOT' compile 'junit:junit:4.12' } +spongestart{ + eula true + + //optional configs + spongeForgeBuild '2109' + forgeServerFolder 'run' +} + if (JavaVersion.current().isJava8Compatible() || JavaVersion.current().isJava9Compatible()) { tasks.withType(Javadoc) { options.addStringOption('Xdoclint:none', '-quiet') } -} +} \ No newline at end of file diff --git a/src/main/java/com/pwn9/PwnFilter/minecraft/listener/PwnFilterPlayerListener.java b/src/main/java/com/pwn9/PwnFilter/minecraft/listener/PwnFilterPlayerListener.java index 5f83cafa..58d471a0 100644 --- a/src/main/java/com/pwn9/PwnFilter/minecraft/listener/PwnFilterPlayerListener.java +++ b/src/main/java/com/pwn9/PwnFilter/minecraft/listener/PwnFilterPlayerListener.java @@ -24,6 +24,8 @@ import org.spongepowered.api.event.message.MessageChannelEvent; import org.spongepowered.api.text.serializer.TextSerializers; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Optional; /** @@ -58,9 +60,6 @@ public void handle(MessageChannelEvent.Chat event) { if (event.isCancelled()) return; -// if(1 == 1) - // return; - Optional playerOptional = event.getCause().first(Player.class); if(!playerOptional.isPresent()) { return; @@ -93,7 +92,23 @@ public void handle(MessageChannelEvent.Chat event) { } - FilterTask state = new FilterTask(new ColoredString(message), bukkitPlayer, this); + String part1 = message; + String part2 = null; + String player = bukkitPlayer.getName(); + + if (message.contains(player)) { + String[] parts = message.split(player, 2); + part1 = parts[0]; + part2 = parts[1]; + } + + ArrayList parts = new ArrayList<>(Arrays.asList(part1, part2)); + + Boolean messageChanged = false; + + for (int indexNumber = 0; indexNumber < 2; indexNumber ++) { + + FilterTask state = new FilterTask(new ColoredString(parts.get(indexNumber)), bukkitPlayer, this); // Global decolor if ((SpongeConfig.decolor()) && !(bukkitPlayer.hasPermission("pwnfilter.color"))) { @@ -108,9 +123,21 @@ public void handle(MessageChannelEvent.Chat event) { // Only update the message if it has been changed. if (state.messageChanged()){ - event.setMessage(TextSerializers.FORMATTING_CODE.deserialize((state.getModifiedMessage()).getColoredString())); + messageChanged = true; + + parts.set(indexNumber, state.getModifiedMessage().getColoredString()); } - if (state.isCancelled()) event.setCancelled(true); + + if (state.isCancelled()) { + event.setCancelled(true); + } + + } + + if (messageChanged) { + event.setMessage(TextSerializers.FORMATTING_CODE.deserialize(parts.get(0) + bukkitPlayer.getName() + parts.get(1))); + } + } /**