diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..a8e787c --- /dev/null +++ b/.gitattributes @@ -0,0 +1,26 @@ +# default +* text eol=auto + +# git +.gitattributes text eol=lf +.gitignore text eol=lf + +# sources +*.java text eol=lf + +# resources +*.lang text eol=lf +*.cfg text eol=lf +*.info text eol=lf +*.mcmeta text eol=lf +*.md text eol=lf +*.xml text eol=lf + +# scripts +*.bat text eol=crlf +*.gradle text eol=lf +*.properties text eol=lf + +# binaries +*.png binary +*.jar binary diff --git a/.gitignore b/.gitignore index 2b0c776..418781a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,23 @@ -/.settings/ -/bin/ -/release/ -/build/ -/.gradle/ -/run/ -.project -.classpath \ No newline at end of file +## gradle +/.gradle +/build + +## ForgeGradle +/run + +## eclipse +/.settings +/.metadata +/.classpath +/.project +/bin + +## intellij +/out +/.idea +/*.iml +/*.ipr +/*.iws + +## custom +/release diff --git a/build.gradle b/build.gradle index b334201..f3790d4 100644 --- a/build.gradle +++ b/build.gradle @@ -1,56 +1,51 @@ buildscript { repositories { mavenCentral() + jcenter() maven { - name = "forge" - url = "http://files.minecraftforge.net/maven" + name = 'forge' + url = 'http://files.minecraftforge.net/maven' } maven { - name = "sonatype" - url = "https://oss.sonatype.org/content/repositories/snapshots/" + name = 'sonatype' + url = 'https://oss.sonatype.org/content/repositories/snapshots/' } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' + classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT' + classpath 'com.matthewprenger:CurseGradle:1.0-SNAPSHOT' } } -apply plugin: "forge" +apply plugin: 'net.minecraftforge.gradle.forge' +apply plugin: 'com.matthewprenger.cursegradle' -// define the properties file -ext.configFile = file "build.properties" - -configFile.withReader { - // read config. it shall from now on be referenced as simply config or as project.config - def prop = new Properties() - prop.load(it) - project.ext.config = new ConfigSlurper().parse prop -} +compileJava.options.encoding = 'UTF-8' repositories { ivy { - url "http://bspk.rs/MC" - layout "pattern", { - artifact "[module]/deobf/%5B${config.minecraft_version}%5D[module]-deobf-[revision].[ext]" - artifact "[module]/deobf/[${config.minecraft_version}][module]-deobf-[revision].[ext]" + url 'http://bspk.rs/MC' + layout 'pattern', { + artifact "[module]/%5B${project.minecraft_version}%5D[module]-universal-[revision].[ext]" + artifact "[module]/[${project.minecraft_version}][module]-universal-[revision].[ext]" } } } dependencies { - compile name: 'bspkrsCore', version: "${config.bscore_version}", ext: 'jar' + deobfCompile name: 'bspkrsCore', version: project.bscore_version, ext: 'jar' } -group = config.group_name -version = config.mod_version -archivesBaseName = "[${config.minecraft_version}]${config.mod_id}" +group = project.group_name +version = project.mod_version +archivesBaseName = "[${project.minecraft_version}]${project.mod_id}" minecraft { - version = config.minecraft_version + "-" + config.forge_version // grab latest forge - mappings = config.mappings_version - runDir = "run" - replace '@MOD_VERSION@', version - replace '@BSCORE_VERSION@', config.bscore_version + version = project.minecraft_version + '-' + project.forge_version // grab latest forge + mappings = project.mappings_version + runDir = 'run' + replace '@MOD_VERSION@', project.mod_version + replace '@BSCORE_VERSION@', project.bscore_version } processResources { @@ -62,15 +57,13 @@ processResources { // replaces expand ([ 'mod_version': version, - 'bscore_version': config.bscore_version, - 'bscore_jar': "[${config.minecraft_version}]bspkrsCore-universal-${config.bscore_version}.jar", - 'pattern': "\\\\[.+?\\\\](\\\\w+).*?([\\\\d\\\\.]+)[-\\\\w]*\\\\.[^\\\\d]+", - 'forge_version': config.forge_version, - 'minecraft_version': config.minecraft_version + 'bscore_version': project.bscore_version, + 'forge_version': project.forge_version, + 'minecraft_version': project.minecraft_version ]) } - // copy everything else, thats we didnt do before + // copy everything else that we didnt do before from(sourceSets.main.resources.srcDirs) { exclude '**/*.info' exclude '**/*.properties' @@ -79,22 +72,33 @@ processResources { // change the name of my obfuscated jar jar { - appendix = config.appendix + appendix = project.appendix } -// add a source jar -task sourceJar(type: Jar) { - from sourceSets.main.allSource +sourceJar { appendix = 'src' -} - -// because the normal output has been made to be obfuscated -task deobfJar(type: Jar) { - from sourceSets.main.output - appendix = 'deobf' + classifier = '' } artifacts { archives sourceJar - archives deobfJar -} \ No newline at end of file +} + +if (project.hasProperty('api_key_curse') && project.hasProperty('extra_curse_id')) { + tasks.curseforge.dependsOn signJars + curseforge { + apiKey = project.api_key_curse + + project { + id = project.extra_curse_id + changelog = '' + releaseType = project.hasProperty('extra_curse_releasetype') ? project.extra_curse_releasetype : 'release' + + addArtifact sourceJar + + relations { + requiredLibrary 'bspkrscore' + } + } + } +} diff --git a/build.properties b/build.properties deleted file mode 100644 index c5f376e..0000000 --- a/build.properties +++ /dev/null @@ -1,8 +0,0 @@ -minecraft_version=1.8 -forge_version=11.14.1.1334 -mappings_version=stable_16 -mod_version=2.0.5 -bscore_version=7.01 -mod_id=Treecapitator -group_name=treecapitator -appendix=universal \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..cb6a8d6 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,11 @@ +minecraft_version=1.8.9 +forge_version=11.15.0.1719 +mappings_version=snapshot_20160125 +mod_version=1.8.9.1 +bscore_version=1.8.9.1 +mod_id=Treecapitator +group_name=treecapitator +appendix=universal + +# extra_curse_id=-1 +# extra_curse_releasetype=release diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index b761216..9411448 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 678d9d8..158acea 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Jul 02 15:54:47 CDT 2014 +#Tue Feb 02 20:59:49 CET 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-bin.zip diff --git a/gradlew b/gradlew index 91a7e26..9d82f78 100644 --- a/gradlew +++ b/gradlew @@ -42,11 +42,6 @@ case "`uname`" in ;; esac -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - # Attempt to set APP_HOME # Resolve links: $0 may be a link PRG="$0" @@ -61,9 +56,9 @@ while [ -h "$PRG" ] ; do fi done SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- +cd "`dirname \"$PRG\"`/" >/dev/null APP_HOME="`pwd -P`" -cd "$SAVED" >&- +cd "$SAVED" >/dev/null CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -114,6 +109,7 @@ fi if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` diff --git a/src/main/java/bspkrs/treecapitator/ClientProxy.java b/src/main/java/bspkrs/treecapitator/ClientProxy.java index 973cf34..e6b7582 100644 --- a/src/main/java/bspkrs/treecapitator/ClientProxy.java +++ b/src/main/java/bspkrs/treecapitator/ClientProxy.java @@ -16,7 +16,6 @@ public class ClientProxy extends CommonProxy public void init(FMLInitializationEvent event) { super.init(event); - new TCClientTicker(); } @Override diff --git a/src/main/java/bspkrs/treecapitator/CommonProxy.java b/src/main/java/bspkrs/treecapitator/CommonProxy.java index cad1b4e..5099464 100644 --- a/src/main/java/bspkrs/treecapitator/CommonProxy.java +++ b/src/main/java/bspkrs/treecapitator/CommonProxy.java @@ -10,7 +10,7 @@ import bspkrs.treecapitator.network.TCPacketConfig; import bspkrs.treecapitator.network.TCPacketLogin; import bspkrs.treecapitator.util.TCLog; -import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent; @@ -28,7 +28,7 @@ public void init(FMLInitializationEvent event) networkChannel = NetworkRegistry.INSTANCE.newChannel(TreecapitatorMod.metadata.modId, new TCMessageToMessageCodec(), new LoginPacketHandler(), new ConfigPacketHandler()); - FMLCommonHandler.instance().bus().register(this); + MinecraftForge.EVENT_BUS.register(this); } public boolean isEnabled() diff --git a/src/main/java/bspkrs/treecapitator/TCClientTicker.java b/src/main/java/bspkrs/treecapitator/TCClientTicker.java deleted file mode 100644 index f1942c6..0000000 --- a/src/main/java/bspkrs/treecapitator/TCClientTicker.java +++ /dev/null @@ -1,41 +0,0 @@ -package bspkrs.treecapitator; - -import net.minecraft.client.Minecraft; -import net.minecraft.util.ChatComponentText; -import bspkrs.bspkrscore.fml.bspkrsCoreMod; -import net.minecraftforge.fml.client.FMLClientHandler; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class TCClientTicker -{ - private Minecraft mcClient; - - public TCClientTicker() - { - mcClient = FMLClientHandler.instance().getClient(); - FMLCommonHandler.instance().bus().register(this); - } - - @SubscribeEvent - public void onTick(ClientTickEvent event) - { - if (event.phase.equals(Phase.START)) - return; - - if (mcClient != null && mcClient.thePlayer != null) - { - if (bspkrsCoreMod.instance.allowUpdateCheck && TreecapitatorMod.versionChecker != null) - if (!TreecapitatorMod.versionChecker.isCurrentVersion()) - for (String msg : TreecapitatorMod.versionChecker.getInGameMessage()) - mcClient.thePlayer.addChatMessage(new ChatComponentText(msg)); - - FMLCommonHandler.instance().bus().unregister(this); - } - } -} diff --git a/src/main/java/bspkrs/treecapitator/Treecapitator.java b/src/main/java/bspkrs/treecapitator/Treecapitator.java index 00e27a0..02b41b3 100644 --- a/src/main/java/bspkrs/treecapitator/Treecapitator.java +++ b/src/main/java/bspkrs/treecapitator/Treecapitator.java @@ -759,7 +759,7 @@ private boolean damageShearsAndContinue(World world, Block block, BlockPos pos) currentShearsDamage -= Math.floor(currentShearsDamage); if ((shears != null) && (shears.stackSize < 1) && (shearsIndex != -1)) - player.inventory.setInventorySlotContents(shearsIndex, (ItemStack) null); + player.inventory.setInventorySlotContents(shearsIndex, null); } return TCSettings.allowMoreBlocksThanDamage || hasShearsInHotbar(player); } diff --git a/src/main/java/bspkrs/treecapitator/TreecapitatorMod.java b/src/main/java/bspkrs/treecapitator/TreecapitatorMod.java index 41060d8..0ee1582 100644 --- a/src/main/java/bspkrs/treecapitator/TreecapitatorMod.java +++ b/src/main/java/bspkrs/treecapitator/TreecapitatorMod.java @@ -2,8 +2,6 @@ import java.io.File; -import net.minecraftforge.common.MinecraftForge; -import bspkrs.bspkrscore.fml.bspkrsCoreMod; import bspkrs.treecapitator.config.TCConfigHandler; import bspkrs.treecapitator.config.TCSettings; import bspkrs.treecapitator.forge.ForgeEventHandler; @@ -14,8 +12,7 @@ import bspkrs.treecapitator.util.TCLog; import bspkrs.util.CommonUtils; import bspkrs.util.Const; -import bspkrs.util.ModVersionChecker; -import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; @@ -29,13 +26,9 @@ import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; @Mod(modid = Reference.MODID, name = Reference.NAME, version = "@MOD_VERSION@", dependencies = "required-after:bspkrsCore@[@BSCORE_VERSION@,)", - useMetadata = true, guiFactory = Reference.GUI_FACTORY) + useMetadata = true, guiFactory = Reference.GUI_FACTORY, updateJSON = Const.VERSION_URL_BASE + Reference.MODID + Const.VERSION_URL_EXT) public class TreecapitatorMod { - public static ModVersionChecker versionChecker; - private final String versionURL = Const.VERSION_URL + "/Minecraft/" + Const.MCVERSION + "/treecapitator.version"; - private final String mcfTopic = "http://www.minecraftforum.net/topic/1009577-"; - private RegistryNBTManager nbtManager; @Metadata(value = Reference.MODID) @@ -50,8 +43,6 @@ public class TreecapitatorMod @EventHandler public void preInit(FMLPreInitializationEvent event) { - metadata = event.getModMetadata(); - File file = event.getSuggestedConfigurationFile(); if (!CommonUtils.isObfuscatedEnv()) @@ -81,14 +72,8 @@ public void preInit(FMLPreInitializationEvent event) public void init(FMLInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new ForgeEventHandler()); - FMLCommonHandler.instance().bus().register(TCConfigHandler.instance()); + MinecraftForge.EVENT_BUS.register(TCConfigHandler.instance()); proxy.init(event); - - if (bspkrsCoreMod.instance.allowUpdateCheck) - { - versionChecker = new ModVersionChecker(metadata.name, metadata.version, versionURL, mcfTopic); - versionChecker.checkVersionWithLogging(); - } } @EventHandler diff --git a/src/main/java/bspkrs/treecapitator/forge/ForgeEventHandler.java b/src/main/java/bspkrs/treecapitator/forge/ForgeEventHandler.java index a31bddf..92de3ff 100644 --- a/src/main/java/bspkrs/treecapitator/forge/ForgeEventHandler.java +++ b/src/main/java/bspkrs/treecapitator/forge/ForgeEventHandler.java @@ -77,11 +77,11 @@ public void getPlayerBreakSpeed(BreakSpeed event) { int height = Treecapitator.getTreeHeight(treeDef, event.entityPlayer.worldObj, pos, event.entityPlayer); if (height > 1) - event.newSpeed = event.originalSpeed / (height * TCSettings.treeHeightModifier); + event.newSpeed = event.newSpeed / (height * TCSettings.treeHeightModifier); } } else if (Treecapitator.isBreakingEnabled(event.entityPlayer)) - event.newSpeed = event.originalSpeed * treeDef.breakSpeedModifier(); + event.newSpeed = event.newSpeed * treeDef.breakSpeedModifier(); } else event.newSpeed = 0.0f; @@ -156,7 +156,7 @@ private class CachedBreakSpeed extends BreakSpeed public CachedBreakSpeed(BreakSpeed event, boolean swappedSneak) { - super(event.entityPlayer, event.state, event.originalSpeed, event.pos); + super(event.entityPlayer, event.state, event.newSpeed, event.pos); isSneaking = event.entityPlayer.isSneaking(); this.swappedSneak = swappedSneak; } @@ -175,14 +175,10 @@ public boolean equals(Object o) ItemStack oItem = bs.entityPlayer.getCurrentEquippedItem(); ItemStack thisItem = entityPlayer.getCurrentEquippedItem(); - return bs.entityPlayer.getGameProfile().getName().equals(entityPlayer.getGameProfile().getName()) - && ((oItem != null) && (oItem.getItem() != null) ? ((thisItem != null) && (thisItem.getItem() != null) - ? GameData.getItemRegistry().getNameForObject(thisItem.getItem()).equals(GameData.getItemRegistry().getNameForObject(oItem.getItem())) : false) - : (thisItem == null) || (thisItem.getItem() == null)) - && GameData.getBlockRegistry().getNameForObject(bs.state.getBlock()).equals(GameData.getBlockRegistry().getNameForObject(state.getBlock())) + return bs.entityPlayer.getGameProfile().getName().equals(entityPlayer.getGameProfile().getName()) + && (bs.state == state) && ItemStack.areItemsEqual(oItem, thisItem) && (bs.isSneaking == isSneaking) && (bs.swappedSneak == swappedSneak) - && (bs.state.getBlock().getMetaFromState(bs.state) == state.getBlock().getMetaFromState(state)) - && (bs.originalSpeed == originalSpeed) && (bs.pos.equals(pos)); + && (bs.newSpeed == newSpeed) && (bs.pos.equals(pos)); } @Override @@ -196,7 +192,7 @@ public int hashCode() .putBoolean(isSneaking) .putBoolean(swappedSneak) .putInt(state.getBlock().getMetaFromState(state)) - .putFloat(originalSpeed) + .putFloat(newSpeed) .putInt(pos.hashCode()); if ((thisItem != null) && (thisItem.getItem() != null)) diff --git a/src/main/java/bspkrs/treecapitator/registry/ThirdPartyModConfig.java b/src/main/java/bspkrs/treecapitator/registry/ThirdPartyModConfig.java index 779495a..5613e8e 100644 --- a/src/main/java/bspkrs/treecapitator/registry/ThirdPartyModConfig.java +++ b/src/main/java/bspkrs/treecapitator/registry/ThirdPartyModConfig.java @@ -107,7 +107,7 @@ public void merge(ThirdPartyModConfig toMerge) @SuppressWarnings("unchecked") public static boolean isValidNBT(NBTTagCompound tpModCfg) { - for (String s : (Set) tpModCfg.getKeySet()) + for (String s : tpModCfg.getKeySet()) if (!validKeys.contains(s)) TCLog.warning("Unknown tag \"%s\" found while verifying a ThirdPartyModConfig NBTTagCompound object", s); @@ -178,7 +178,7 @@ public void writeToNBT(NBTTagCompound tpModCfg) public static ThirdPartyModConfig readFromConfiguration(Configuration config, String category) { ConfigCategory cc = config.getCategory(category); - ThirdPartyModConfig tpmc = new ThirdPartyModConfig(config.get(category, Reference.MOD_ID, Reference.MINECRAFT, (String) null, Property.Type.MOD_ID) + ThirdPartyModConfig tpmc = new ThirdPartyModConfig(config.get(category, Reference.MOD_ID, Reference.MINECRAFT, null, Property.Type.MOD_ID) .setLanguageKey("bspkrs.tc.configgui." + Reference.MOD_ID).getString()); if (cc.containsKey(Reference.AXE_ID_LIST)) for (ItemID itemID : ListUtils.getDelimitedStringAsItemIDList(cc.get(Reference.AXE_ID_LIST).setLanguageKey("bspkrs.tc.configgui." + Reference.AXE_ID_LIST).getString(), ";")) @@ -201,7 +201,7 @@ public static ThirdPartyModConfig readFromConfiguration(Configuration config, St public void writeToConfiguration(Configuration config, String category) { - config.get(category, Reference.MOD_ID, modID, (String) null, Property.Type.MOD_ID).setLanguageKey("bspkrs.tc.configgui." + Reference.MOD_ID); + config.get(category, Reference.MOD_ID, modID, null, Property.Type.MOD_ID).setLanguageKey("bspkrs.tc.configgui." + Reference.MOD_ID); config.get(category, Reference.AXE_ID_LIST, ListUtils.getListAsDelimitedString(axeList, "; ")).setLanguageKey("bspkrs.tc.configgui." + Reference.AXE_ID_LIST); config.get(category, Reference.SHEARS_ID_LIST, ListUtils.getListAsDelimitedString(shearsList, "; ")).setLanguageKey("bspkrs.tc.configgui." + Reference.SHEARS_ID_LIST); config.getBoolean(Reference.OVERRIDE_IMC, category, overrideIMC, Reference.overrideIMCDesc, "bspkrs.tc.configgui." + Reference.OVERRIDE_IMC);