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)));
+ }
+
}
/**