diff --git a/build.gradle b/build.gradle index 0e54d88..80aa42e 100644 --- a/build.gradle +++ b/build.gradle @@ -1,71 +1,62 @@ apply plugin: "net.minecraftforge.gradle.forge" apply plugin: 'kotlin' -group = 'com.github.octarine-noise' -version = "2.1.10" -archivesBaseName = rootProject.name + '-MC1.12' +archivesBaseName = jarName buildscript { - ext.kotlin_version = '1.1.1' 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:2.3-SNAPSHOT" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } -configurations { - shade - compile.extendsFrom shade + +repositories { + mavenCentral() + jcenter() + maven { + name = "shadowfacts" + url = "https://maven.shadowfacts.net/" + } } + dependencies { - shade "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - shade "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" + compileOnly "net.shadowfacts:Forgelin:$forgelin_version" } + minecraft { - version = '1.12-14.21.0.2373' - mappings = 'snapshot_20170626' + version = mc_version + "-" + forge_version + mappings = mcp_mappings runDir = 'run' } processResources { - inputs.property "version", project.version - inputs.property "mcversion", project.minecraft.version - - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' - expand 'version':project.version, 'mcversion':project.minecraft.version - } - - from(sourceSets.main.resources.srcDirs) { - exclude 'mcmod.info' - } + from(sourceSets.main.resources) { exclude 'mcmod.info' } + from(sourceSets.main.resources) { include 'mcmod.info' expand 'version':version, 'mcversion':minecraft.version } into "${buildDir}/classes/main" } +def manifestCfg = { + attributes "FMLCorePlugin": "mods.betterfoliage.loader.BetterFoliageLoader" + attributes "FMLCorePluginContainsFMLMod": "mods.betterfoliage.BetterFoliageMod" + attributes "FMLAT": "BetterFoliage_at.cfg" +} + jar { - manifest { - attributes "FMLCorePlugin": "mods.betterfoliage.loader.BetterFoliageLoader" - attributes "FMLCorePluginContainsFMLMod": "mods.betterfoliage.BetterFoliageMod" - attributes "FMLAT": "BetterFoliage_at.cfg" - } - configurations.shade.each { dep -> - from(project.zipTree(dep)){ - exclude 'META-INF', 'META-INF/**' - } - } + manifest manifestCfg exclude "optifine" } -repositories { - mavenCentral() +task sourcesJar(type: Jar, dependsOn: classes) { + classifier = 'sources' + manifest manifestCfg + from(sourceSets.main.kotlin) + from(sourceSets.main.resources) { exclude 'mcmod.info' } + from(sourceSets.main.resources) { include 'mcmod.info' expand 'version':version, 'mcversion':minecraft.version } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..02fce0a --- /dev/null +++ b/gradle.properties @@ -0,0 +1,11 @@ +group = com.github.octarine-noise +jarName = BetterFoliage-MC1.12 + +version = 2.2.0 + +mc_version = 1.12 +forge_version = 14.21.0.2373 +mcp_mappings = snapshot_20170626 + +kotlin_version = 1.2.0 +forgelin_version = 1.6.0 \ No newline at end of file diff --git a/src/main/java/mods/betterfoliage/loader/BetterFoliageLoader.java b/src/main/java/mods/betterfoliage/loader/BetterFoliageLoader.java new file mode 100644 index 0000000..29828d6 --- /dev/null +++ b/src/main/java/mods/betterfoliage/loader/BetterFoliageLoader.java @@ -0,0 +1,38 @@ +package mods.betterfoliage.loader; + +import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin; + +import java.util.Map; + +@IFMLLoadingPlugin.TransformerExclusions({ + "mods.betterfoliage.loader", + "mods.octarinecore.metaprog", + "kotlin" +}) +@IFMLLoadingPlugin.MCVersion("1.12") +@IFMLLoadingPlugin.SortingIndex(1400) +public class BetterFoliageLoader implements IFMLLoadingPlugin { + @Override + public String[] getASMTransformerClass() { + return new String[] { "mods.betterfoliage.loader.BetterFoliageTransformer" }; + } + + @Override + public String getModContainerClass() { + return null; + } + + @Override + public String getSetupClass() { + return null; + } + + @Override + public void injectData(Map data) { + } + + @Override + public String getAccessTransformerClass() { + return null; + } +} diff --git a/src/main/kotlin/mods/betterfoliage/loader/BetterFoliageCore.kt b/src/main/kotlin/mods/betterfoliage/loader/BetterFoliageCore.kt index 1f19a82..9c5f871 100644 --- a/src/main/kotlin/mods/betterfoliage/loader/BetterFoliageCore.kt +++ b/src/main/kotlin/mods/betterfoliage/loader/BetterFoliageCore.kt @@ -1,21 +1,10 @@ package mods.betterfoliage.loader -import mods.octarinecore.metaprog.ASMPlugin import mods.octarinecore.metaprog.Transformer import mods.octarinecore.metaprog.allAvailable import net.minecraftforge.fml.relauncher.FMLLaunchHandler -import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin import org.objectweb.asm.Opcodes.* -@IFMLLoadingPlugin.TransformerExclusions( - "mods.betterfoliage.loader", - "mods.octarinecore.metaprog", - "kotlin", - "mods.octarinecore.kotlin" -) -@IFMLLoadingPlugin.SortingIndex(1400) -class BetterFoliageLoader : ASMPlugin(BetterFoliageTransformer::class.java) - class BetterFoliageTransformer : Transformer() { val isOptifinePresent = allAvailable(Refs.OptifineClassTransformer) diff --git a/src/main/kotlin/mods/octarinecore/client/resource/ResourceHandler.kt b/src/main/kotlin/mods/octarinecore/client/resource/ResourceHandler.kt index 9080fb9..c6aa189 100644 --- a/src/main/kotlin/mods/octarinecore/client/resource/ResourceHandler.kt +++ b/src/main/kotlin/mods/octarinecore/client/resource/ResourceHandler.kt @@ -90,7 +90,7 @@ class IconSet(val domain: String, val namePattern: String) : IStitchListener { var num = 0 override fun onStitch(atlas: TextureMap) { - num = 0; + num = 0 (0..15).forEach { idx -> icons[idx] = null val locReal = ResourceLocation(domain, "textures/${namePattern.format(idx)}.png") @@ -103,13 +103,13 @@ class IconSet(val domain: String, val namePattern: String) : IStitchListener { class ModelSet(val num: Int, val init: Model.(Int)->Unit): IConfigChangeListener { val models = Array(num) { Model().apply{ init(it) } } - override fun onConfigChange() { (0..num-1).forEach { models[it] = Model().apply{ init(it) } } } + override fun onConfigChange() { (0 until num).forEach { models[it] = Model().apply{ init(it) } } } operator fun get(idx: Int) = models[idx % num] } class VectorSet(val num: Int, val init: (Int)->Double3): IConfigChangeListener { val models = Array(num) { init(it) } - override fun onConfigChange() { (0..num-1).forEach { models[it] = init(it) } } + override fun onConfigChange() { (0 until num).forEach { models[it] = init(it) } } operator fun get(idx: Int) = models[idx % num] }