From 7aa510189aaa3b532b2309bab7d1b0f9b51a2275 Mon Sep 17 00:00:00 2001 From: octarine-noise Date: Sat, 30 Sep 2017 13:37:43 +0200 Subject: [PATCH 1/5] fix gray blocks with Optifine custom colors enabled --- .../kotlin/mods/betterfoliage/client/integration/OptifineCTM.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/mods/betterfoliage/client/integration/OptifineCTM.kt b/src/main/kotlin/mods/betterfoliage/client/integration/OptifineCTM.kt index 8d1846d..36e54de 100644 --- a/src/main/kotlin/mods/betterfoliage/client/integration/OptifineCTM.kt +++ b/src/main/kotlin/mods/betterfoliage/client/integration/OptifineCTM.kt @@ -93,7 +93,7 @@ object OptifineCTM { renderEnv.reset(ctx.world!!, ctx.blockState(Int3.zero), ctx.pos) Refs.getColorMultiplier.invokeStatic(fakeQuad, ctx.blockState(Int3.zero), ctx.world!!, ctx.pos, renderEnv.wrapped) as? Int } else null - return ofColor ?: ctx.blockData(Int3.zero).color + return if (ofColor == null || ofColor == -1) ctx.blockData(Int3.zero).color else ofColor } } From fe3030ef77af68897c713761b670bf0e2bdaa8f3 Mon Sep 17 00:00:00 2001 From: octarine-noise Date: Sun, 1 Oct 2017 12:31:33 +0200 Subject: [PATCH 2/5] bump version to 2.1.11 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 41cdb80..74beede 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ apply plugin: "net.minecraftforge.gradle.forge" apply plugin: 'kotlin' group = 'com.github.octarine-noise' -version = "2.1.10" +version = "2.1.11" archivesBaseName = rootProject.name + '-MC1.10.2' buildscript { From 0997b8336735e20c372327ae69fc5c1d5cdd6d3b Mon Sep 17 00:00:00 2001 From: octarine-noise Date: Thu, 25 Oct 2018 10:03:56 +0200 Subject: [PATCH 3/5] move values to properties file --- build.gradle | 9 +++------ gradle.properties | 10 ++++++++++ 2 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 gradle.properties diff --git a/build.gradle b/build.gradle index 74beede..ce61294 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,9 @@ apply plugin: "net.minecraftforge.gradle.forge" apply plugin: 'kotlin' -group = 'com.github.octarine-noise' -version = "2.1.11" -archivesBaseName = rootProject.name + '-MC1.10.2' +archivesBaseName = jarName buildscript { - ext.kotlin_version = '1.1.1' repositories { mavenCentral() maven { @@ -32,8 +29,8 @@ dependencies { shade "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" } minecraft { - version = '1.10.2-12.18.2.2121' - mappings = 'snapshot_20160905' + version = mc_version + "-" + forge_version + mappings = mcp_mappings runDir = 'run' } diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..12688c5 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,10 @@ +group = com.github.octarine-noise +jarName = BetterFoliage-MC1.10.2 + +version = 2.2.0 + +mc_version = 1.10.2 +forge_version = 12.18.2.2121 +mcp_mappings = snapshot_20160905 + +kotlin_version = 1.1.1 \ No newline at end of file From e704a0af945f3646632f3480bd16ff26fd0edadf Mon Sep 17 00:00:00 2001 From: octarine-noise Date: Thu, 25 Oct 2018 11:10:44 +0200 Subject: [PATCH 4/5] update to latest recommended Forge --- gradle.properties | 6 +++--- src/main/kotlin/mods/betterfoliage/client/Client.kt | 2 +- .../betterfoliage/client/render/EntityFallingLeavesFX.kt | 4 ++-- .../betterfoliage/client/render/EntityRisingSoulFX.kt | 2 +- .../client/render/AbstractBlockRenderingHandler.kt | 6 +++--- .../mods/octarinecore/client/resource/ResourceHandler.kt | 8 ++++---- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gradle.properties b/gradle.properties index 12688c5..25361f7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ jarName = BetterFoliage-MC1.10.2 version = 2.2.0 mc_version = 1.10.2 -forge_version = 12.18.2.2121 -mcp_mappings = snapshot_20160905 +forge_version = 12.18.3.2185 +mcp_mappings = stable_29 -kotlin_version = 1.1.1 \ No newline at end of file +kotlin_version = 1.2.0 \ No newline at end of file diff --git a/src/main/kotlin/mods/betterfoliage/client/Client.kt b/src/main/kotlin/mods/betterfoliage/client/Client.kt index 61e95af..c6b8461 100644 --- a/src/main/kotlin/mods/betterfoliage/client/Client.kt +++ b/src/main/kotlin/mods/betterfoliage/client/Client.kt @@ -95,7 +95,7 @@ object Client { val blockName = Block.REGISTRY.getNameForObject(state.block).toString() val blockLoc = "${location.x},${location.y},${location.z}" - Minecraft.getMinecraft().thePlayer.addChatMessage(TextComponentTranslation( + Minecraft.getMinecraft().ingameGUI.chatGUI.printChatMessage(TextComponentTranslation( "betterfoliage.rendererror", textComponent(blockName, TextFormatting.GOLD), textComponent(blockLoc, TextFormatting.GOLD) diff --git a/src/main/kotlin/mods/betterfoliage/client/render/EntityFallingLeavesFX.kt b/src/main/kotlin/mods/betterfoliage/client/render/EntityFallingLeavesFX.kt index 089568c..03013fb 100644 --- a/src/main/kotlin/mods/betterfoliage/client/render/EntityFallingLeavesFX.kt +++ b/src/main/kotlin/mods/betterfoliage/client/render/EntityFallingLeavesFX.kt @@ -40,7 +40,7 @@ AbstractEntityFX(world, pos.x.toDouble() + 0.5, pos.y.toDouble(), pos.z.toDouble var wasCollided = false init { - particleMaxAge = MathHelper.floor_double(random(0.6, 1.0) * Config.fallingLeaves.lifetime * 20.0) + particleMaxAge = MathHelper.floor(random(0.6, 1.0) * Config.fallingLeaves.lifetime * 20.0) motionY = -Config.fallingLeaves.speed particleScale = Config.fallingLeaves.size.toFloat() * 0.1f @@ -119,7 +119,7 @@ object LeafWindTracker { @SubscribeEvent fun handleWorldTick(event: TickEvent.ClientTickEvent) { - if (event.phase == TickEvent.Phase.START) Minecraft.getMinecraft().theWorld?.let { world -> + if (event.phase == TickEvent.Phase.START) Minecraft.getMinecraft().world?.let { world -> // change target wind speed if (world.worldInfo.worldTime >= nextChange) changeWind(world) diff --git a/src/main/kotlin/mods/betterfoliage/client/render/EntityRisingSoulFX.kt b/src/main/kotlin/mods/betterfoliage/client/render/EntityRisingSoulFX.kt index fe4fcaa..e23f39f 100644 --- a/src/main/kotlin/mods/betterfoliage/client/render/EntityRisingSoulFX.kt +++ b/src/main/kotlin/mods/betterfoliage/client/render/EntityRisingSoulFX.kt @@ -27,7 +27,7 @@ AbstractEntityFX(world, pos.x.toDouble() + 0.5, pos.y.toDouble() + 1.0, pos.z.to motionY = 0.1 particleGravity = 0.0f particleTexture = RisingSoulTextures.headIcons[rand.nextInt(256)] - particleMaxAge = MathHelper.floor_double((0.6 + 0.4 * rand.nextDouble()) * Config.risingSoul.lifetime * 20.0) + particleMaxAge = MathHelper.floor((0.6 + 0.4 * rand.nextDouble()) * Config.risingSoul.lifetime * 20.0) } override val isValid: Boolean get() = true diff --git a/src/main/kotlin/mods/octarinecore/client/render/AbstractBlockRenderingHandler.kt b/src/main/kotlin/mods/octarinecore/client/render/AbstractBlockRenderingHandler.kt index cded593..9c58d3a 100644 --- a/src/main/kotlin/mods/octarinecore/client/render/AbstractBlockRenderingHandler.kt +++ b/src/main/kotlin/mods/octarinecore/client/render/AbstractBlockRenderingHandler.kt @@ -114,8 +114,8 @@ class BlockContext { /** Get the distance of the block from the camera (player). */ val cameraDistance: Int get() { val camera = Minecraft.getMinecraft().renderViewEntity ?: return 0 - return Math.abs(pos.x - MathHelper.floor_double(camera.posX)) + - Math.abs(pos.y - MathHelper.floor_double(camera.posY)) + - Math.abs(pos.z - MathHelper.floor_double(camera.posZ)) + return Math.abs(pos.x - MathHelper.floor(camera.posX)) + + Math.abs(pos.y - MathHelper.floor(camera.posY)) + + Math.abs(pos.z - MathHelper.floor(camera.posZ)) } } \ No newline at end of file diff --git a/src/main/kotlin/mods/octarinecore/client/resource/ResourceHandler.kt b/src/main/kotlin/mods/octarinecore/client/resource/ResourceHandler.kt index 550c3d1..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] } @@ -117,7 +117,7 @@ class SimplexNoise() : IWorldLoadListener { var noise = NoiseGeneratorSimplex() override fun onWorldLoad(world: World) { noise = NoiseGeneratorSimplex(Random(world.worldInfo.seed)) } - operator fun get(x: Int, z: Int) = MathHelper.floor_double((noise.getValue(x.toDouble(), z.toDouble()) + 1.0) * 32.0) + operator fun get(x: Int, z: Int) = MathHelper.floor((noise.getValue(x.toDouble(), z.toDouble()) + 1.0) * 32.0) operator fun get(pos: Int3) = get(pos.x, pos.z) operator fun get(pos: BlockPos) = get(pos.x, pos.z) } \ No newline at end of file From afa619f8386671788ef51ebb8ad8206e1533a652 Mon Sep 17 00:00:00 2001 From: octarine-noise Date: Thu, 25 Oct 2018 11:11:14 +0200 Subject: [PATCH 5/5] use Forgelin --- build.gradle | 58 +++++++++---------- gradle.properties | 3 +- .../loader/BetterFoliageLoader.java | 38 ++++++++++++ .../betterfoliage/loader/BetterFoliageCore.kt | 10 ---- 4 files changed, 66 insertions(+), 43 deletions(-) create mode 100644 src/main/java/mods/betterfoliage/loader/BetterFoliageLoader.java diff --git a/build.gradle b/build.gradle index ce61294..615a3dd 100644 --- a/build.gradle +++ b/build.gradle @@ -10,24 +10,26 @@ buildscript { 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.2-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 = mc_version + "-" + forge_version mappings = mcp_mappings @@ -35,35 +37,27 @@ minecraft { } 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 index 25361f7..8058d96 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,4 +7,5 @@ mc_version = 1.10.2 forge_version = 12.18.3.2185 mcp_mappings = stable_29 -kotlin_version = 1.2.0 \ No newline at end of file +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..e35e8ae --- /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.10.2") +@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 1f07907..1f3df37 100644 --- a/src/main/kotlin/mods/betterfoliage/loader/BetterFoliageCore.kt +++ b/src/main/kotlin/mods/betterfoliage/loader/BetterFoliageCore.kt @@ -7,16 +7,6 @@ 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.MCVersion("1.10.2") -@IFMLLoadingPlugin.SortingIndex(1400) -class BetterFoliageLoader : ASMPlugin(BetterFoliageTransformer::class.java) - class BetterFoliageTransformer : Transformer() { val isOptifinePresent = allAvailable(Refs.OptifineClassTransformer)