From 8654d0fe1a8d6440d3b847e3b07491785de8cdca Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Tue, 23 Aug 2016 17:30:34 -0700 Subject: [PATCH] Updated for mc 1.10.2 --- .classpath | 66 -------- .gitignore | 7 +- .project | 2 +- .settings/org.eclipse.jdt.core.prefs | 2 +- build.gradle | 157 ++++++++++-------- gradle/wrapper/gradle-wrapper.jar | Bin 51017 -> 52271 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- safechat_Client.launch | 1 + safechat_Server.launch | 1 + src/main/java/colecf/safechat/ChatEvents.java | 7 +- src/main/java/colecf/safechat/Safechat.java | 2 +- src/main/resources/mcmod.info | 4 +- 12 files changed, 106 insertions(+), 147 deletions(-) delete mode 100644 .classpath create mode 100644 safechat_Client.launch create mode 100644 safechat_Server.launch diff --git a/.classpath b/.classpath deleted file mode 100644 index 6634fe9..0000000 --- a/.classpath +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.gitignore b/.gitignore index c3f98e3..ecafe1d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ +.classpath +LICENSE*.txt +Paulscode*.txt +run/ + eclipse/ .gradel/ CREDITS-fml.txt @@ -7,6 +12,6 @@ MinecraftForge*.txt bin/ build/ .gradle/ -README.txt # forge's readme +README.txt .DS_Store diff --git a/.project b/.project index 414067c..809a5c1 100644 --- a/.project +++ b/.project @@ -1,7 +1,7 @@ safechat - + org.eclipse.jdt.core.javanature diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index a3bf05c..de68b74 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,5 +1,5 @@ # -#Mon Feb 09 13:56:49 PST 2015 +#Tue Aug 23 16:58:22 PDT 2016 org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve diff --git a/build.gradle b/build.gradle index cb444cb..6f979f9 100644 --- a/build.gradle +++ b/build.gradle @@ -1,70 +1,87 @@ -buildscript { - repositories { - mavenCentral() - maven { - name = "forge" - url = "http://files.minecraftforge.net/maven" - } - maven { - name = "sonatype" - url = "https://oss.sonatype.org/content/repositories/snapshots/" - } - } - dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' - } -} - -apply plugin: 'forge' - -version = "1.8" -group= "colecf.safechat" // http://maven.apache.org/guides/mini/guide-naming-conventions.html -archivesBaseName = "Safechat" - -minecraft { - version = "1.8-11.14.1.1308" - runDir = "eclipse" - - // the mappings can be changed at any time, and must be in the following format. - // snapshot_YYYYMMDD snapshot are built nightly. - // stable_# stables are built at the discretion of the MCP team. - // Use non-default mappings at your own risk. they may not allways work. - // simply re-run your setup task after changing the mappings to update your workspace. - mappings = "snapshot_nodoc_20141130" -} - -dependencies { - // you may put jars on which you depend on in ./libs - // or you may define them like so.. - //compile "some.group:artifact:version:classifier" - //compile "some.group:artifact:version" - - // real examples - //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env - //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env - - // for more info... - // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html - // http://www.gradle.org/docs/current/userguide/dependency_management.html - -} - -processResources -{ - // this will ensure that this task is redone when the versions change. - inputs.property "version", project.version - inputs.property "mcversion", project.minecraft.version - - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' - - // replace version and mcversion - expand 'version':project.version, 'mcversion':project.minecraft.version - } - - // copy everything else, thats not the mcmod.info - from(sourceSets.main.resources.srcDirs) { - exclude 'mcmod.info' - } -} + +// For those who want the bleeding edge +buildscript { + repositories { + jcenter() + maven { + name = "forge" + url = "http://files.minecraftforge.net/maven" + } + } + dependencies { + classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' + } +} +apply plugin: 'net.minecraftforge.gradle.forge' + +/* +// for people who want stable - not yet functional for MC 1.8.8 - we require the forgegradle 2.1 snapshot +plugins { + id "net.minecraftforge.gradle.forge" version "2.0.2" +} +*/ +version = "1.10" +group= "colecf.safechat" // http://maven.apache.org/guides/mini/guide-naming-conventions.html +archivesBaseName = "Safechat" + +sourceCompatibility = targetCompatibility = "1.6" // Need this here so eclipse task generates correctly. +compileJava { + sourceCompatibility = targetCompatibility = "1.6" +} + +minecraft { + version = "1.10.2-12.18.1.2073" + runDir = "run" + + // the mappings can be changed at any time, and must be in the following format. + // snapshot_YYYYMMDD snapshot are built nightly. + // stable_# stables are built at the discretion of the MCP team. + // Use non-default mappings at your own risk. they may not allways work. + // simply re-run your setup task after changing the mappings to update your workspace. + mappings = "snapshot_20160518" + // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. +} + +dependencies { + // you may put jars on which you depend on in ./libs + // or you may define them like so.. + //compile "some.group:artifact:version:classifier" + //compile "some.group:artifact:version" + + // real examples + //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env + //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env + + // the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime. + //provided 'com.mod-buildcraft:buildcraft:6.0.8:dev' + + // the deobf configurations: 'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided, + // except that these dependencies get remapped to your current MCP mappings + //deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev' + //deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev' + + // for more info... + // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html + // http://www.gradle.org/docs/current/userguide/dependency_management.html + +} + +processResources +{ + // this will ensure that this task is redone when the versions change. + inputs.property "version", project.version + inputs.property "mcversion", project.minecraft.version + + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + include 'mcmod.info' + + // replace version and mcversion + expand 'version':project.version, 'mcversion':project.minecraft.version + } + + // copy everything else, thats not the mcmod.info + from(sourceSets.main.resources.srcDirs) { + exclude 'mcmod.info' + } +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index b7612167031001b7b84baf2a959e8ea8ad03c011..30d399d8d2bf522ff5de94bf434a7cc43a9a74b5 100644 GIT binary patch delta 22968 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 \ No newline at end of file diff --git a/safechat_Server.launch b/safechat_Server.launch new file mode 100644 index 0000000..51befb9 --- /dev/null +++ b/safechat_Server.launch @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/main/java/colecf/safechat/ChatEvents.java b/src/main/java/colecf/safechat/ChatEvents.java index bc5d100..6b3cd47 100644 --- a/src/main/java/colecf/safechat/ChatEvents.java +++ b/src/main/java/colecf/safechat/ChatEvents.java @@ -10,7 +10,8 @@ import java.util.regex.Pattern; import net.minecraft.client.Minecraft; -import net.minecraft.util.ChatComponentText; +import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.TextComponentString; import net.minecraftforge.client.event.ClientChatReceivedEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @@ -51,7 +52,7 @@ public static void init() @SubscribeEvent public void chatReceived(ClientChatReceivedEvent event) { - String s = event.message.getFormattedText()+" "; + String s = event.getMessage().getFormattedText()+" "; boolean deleteWholeWord = false; if(deleteWholeWordString.equals("true")) @@ -136,7 +137,7 @@ else if (deleteMessage.toLowerCase().equals("nochat")) event.setCanceled(true); if (!abort) { - ChatComponentText text = new ChatComponentText(s); + TextComponentString text = new TextComponentString(s); Minecraft.getMinecraft().ingameGUI.getChatGUI().printChatMessage(text); } } diff --git a/src/main/java/colecf/safechat/Safechat.java b/src/main/java/colecf/safechat/Safechat.java index 9b254a4..2882d7d 100644 --- a/src/main/java/colecf/safechat/Safechat.java +++ b/src/main/java/colecf/safechat/Safechat.java @@ -13,7 +13,7 @@ import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.event.FMLInitializationEvent; -@Mod(modid="colecf.Safechat", name="Safechat", version="1.3.2") +@Mod(modid="colecf.Safechat", name="Safechat", version="1.10.2") public class Safechat { diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index b51ced7..21ac68b 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,10 +3,10 @@ "modid": "colecf.Safechat", "name": "Safechat", "description": "Blocks swear words from multiplayer chat.", -"version": "1.6.4", +"version": "1.10.2", "credits": "", "logoFile": "safechat_logo.png", -"mcversion": "1.6.4", +"mcversion": "1.10.2", "url": "http://www.minecraftforum.net/topic/1314911-132-safechat/", "updateUrl": "", "authors": [ "Colecf" ],