diff --git a/README.md b/README.md index 55ec308b..9149b167 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,17 @@ -#[Natura](http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1294968-natura) +# [Natura](http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1294968-natura) -We work all day and we work all night -The mandrake gives us quite a fright -We munch on berries high and lo -While we search for herbs to grow +We work all day and we work all night +The mandrake gives us quite a fright +We munch on berries high and lo +While we search for herbs to grow -Heyo, Redwood trees! Chop them all day long~ -Heyo, Redwood trees! Chop them all day long~ +Heyo, Redwood trees! Chop them all day long~ +Heyo, Redwood trees! Chop them all day long~ -##Development +## Development Install Forge as usual, and setup your IDE as with any other Forge project. Forge Multipart, and CClib must be installed to `forge/mcp/jars/mods/` from the Forge File Server: [ForgeMultipart](http://files.minecraftforge.net/ForgeMultipart/) and [CClib](http://files.minecraftforge.net/CodeChickenLib/). The DEVELOPMENT version of NEI must be installed to the same directory from [Chicken Bones Site](http://www.chickenbones.craftsaddle.org/Files/New_Versions/links.php). Tinkers' Construct must be installed as well from [dvs1](https://dvs1.progwml6.com/jenkins/job/TConstruct_1.7.x/). -##Issue reporting +## Issue reporting Please include the following: * Minecraft version diff --git a/build.gradle b/build.gradle index fe8a2e7b..3fa171e0 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1675110695 +//version: 1683705740 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. @@ -6,27 +6,28 @@ */ -import com.diffplug.blowdryer.Blowdryer -import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar +import com.gtnewhorizons.retrofuturagradle.ObfuscationAttribute import com.gtnewhorizons.retrofuturagradle.mcp.ReobfuscatedJar +import com.gtnewhorizons.retrofuturagradle.minecraft.RunMinecraftTask +import com.gtnewhorizons.retrofuturagradle.util.Distribution import com.matthewprenger.cursegradle.CurseArtifact import com.matthewprenger.cursegradle.CurseRelation import com.modrinth.minotaur.dependencies.ModDependency import com.modrinth.minotaur.dependencies.VersionDependency import org.gradle.internal.logging.text.StyledTextOutput.Style import org.gradle.internal.logging.text.StyledTextOutputFactory -import org.jetbrains.gradle.ext.* +import org.gradle.internal.xml.XmlTransformer +import org.jetbrains.gradle.ext.Application +import org.jetbrains.gradle.ext.Gradle +import javax.inject.Inject import java.nio.file.Files import java.nio.file.Paths import java.util.concurrent.TimeUnit -import java.util.zip.ZipEntry -import java.util.zip.ZipOutputStream buildscript { repositories { - mavenLocal() mavenCentral() maven { @@ -47,6 +48,8 @@ buildscript { name 'Scala CI dependencies' url 'https://repo1.maven.org/maven2/' } + + mavenLocal() } } plugins { @@ -58,22 +61,26 @@ plugins { id 'org.jetbrains.kotlin.jvm' version '1.8.0' apply false id 'org.jetbrains.kotlin.kapt' version '1.8.0' apply false id 'com.google.devtools.ksp' version '1.8.0-1.0.9' apply false - id 'org.ajoberstar.grgit' version '4.1.1' // 4.1.1 is the last jvm8 supporting version ,unused, available for addon.gradle - id 'com.github.johnrengelman.shadow' version '7.1.2' apply false - id 'com.palantir.git-version' version '0.13.0' apply false // 0.13.0 is the last jvm8 supporting version - id 'de.undercouch.download' version '5.3.0' + id 'org.ajoberstar.grgit' version '4.1.1' // 4.1.1 is the last jvm8 supporting version, unused, available for addon.gradle + id 'com.github.johnrengelman.shadow' version '8.1.1' apply false + id 'com.palantir.git-version' version '3.0.0' apply false + id 'de.undercouch.download' version '5.4.0' id 'com.github.gmazzo.buildconfig' version '3.1.0' apply false // Unused, available for addon.gradle - id 'com.diffplug.spotless' version '6.7.2' apply false + id 'com.diffplug.spotless' version '6.13.0' apply false // 6.13.0 is the last jvm8 supporting version id 'com.modrinth.minotaur' version '2.+' apply false id 'com.matthewprenger.cursegradle' version '1.4.0' apply false - id 'com.gtnewhorizons.retrofuturagradle' version '1.1.2' + id 'com.gtnewhorizons.retrofuturagradle' version '1.3.11' } + +print("You might want to check out './gradlew :faq' if your build fails.\n") + boolean settingsupdated = verifySettingsGradle() settingsupdated = verifyGitAttributes() || settingsupdated if (settingsupdated) throw new GradleException("Settings has been updated, please re-run task.") -if (project.file('.git/HEAD').isFile()) { +// In submodules, .git is a file pointing to the real git dir +if (project.file('.git/HEAD').isFile() || project.file('.git').isFile()) { apply plugin: 'com.palantir.git-version' } @@ -122,7 +129,10 @@ propertyDefaultIfUnset("gradleTokenGroupName", "") propertyDefaultIfUnset("enableModernJavaSyntax", false) // On by default for new projects only propertyDefaultIfUnset("enableGenericInjection", false) // On by default for new projects only -project.extensions.add(Blowdryer, "Blowdryer", Blowdryer) // Make blowdryer available in "apply from:" scripts +// this is meant to be set using the user wide property file. by default we do nothing. +propertyDefaultIfUnset("ideaOverrideBuildType", "") // Can be nothing, "gradle" or "idea" + +project.extensions.add(com.diffplug.blowdryer.Blowdryer, "Blowdryer", com.diffplug.blowdryer.Blowdryer) // Make blowdryer available in "apply from:" scripts if (!disableSpotless) { apply plugin: 'com.diffplug.spotless' apply from: Blowdryer.file('spotless.gradle') @@ -143,13 +153,21 @@ java { } else { languageVersion.set(projectJavaVersion) } - vendor.set(JvmVendorSpec.ADOPTIUM) + vendor.set(JvmVendorSpec.AZUL) } if (!noPublishedSources) { withSourcesJar() } } +tasks.withType(JavaCompile).configureEach { + options.encoding = "UTF-8" +} + +tasks.withType(ScalaCompile).configureEach { + options.encoding = "UTF-8" +} + pluginManager.withPlugin('org.jetbrains.kotlin.jvm') { // If Kotlin is enabled in the project kotlin { @@ -183,14 +201,34 @@ configurations { canBeConsumed = false canBeResolved = false } + + create("devOnlyNonPublishable") { + description = "Runtime and compiletime dependencies that are not published alongside the jar (compileOnly + runtimeOnlyNonPublishable)" + canBeConsumed = false + canBeResolved = false + } + compileOnly.extendsFrom(devOnlyNonPublishable) + runtimeOnlyNonPublishable.extendsFrom(devOnlyNonPublishable) } if (enableModernJavaSyntax.toBoolean()) { + repositories { + mavenCentral { + mavenContent { + includeGroup("me.eigenraven.java8unsupported") + } + } + } + dependencies { annotationProcessor 'com.github.bsideup.jabel:jabel-javac-plugin:1.0.0' + // workaround for https://github.com/bsideup/jabel/issues/174 + annotationProcessor 'net.java.dev.jna:jna-platform:5.13.0' compileOnly('com.github.bsideup.jabel:jabel-javac-plugin:1.0.0') { transitive = false // We only care about the 1 annotation class } + // Allow using jdk.unsupported classes like sun.misc.Unsafe in the compiled code, working around JDK-8206937. + patchedMinecraft('me.eigenraven.java8unsupported:java-8-unsupported-shim:1.0.0') } tasks.withType(JavaCompile).configureEach { @@ -202,7 +240,7 @@ if (enableModernJavaSyntax.toBoolean()) { javaCompiler.set(javaToolchains.compilerFor { languageVersion.set(JavaLanguageVersion.of(17)) - vendor.set(JvmVendorSpec.ADOPTIUM) + vendor.set(JvmVendorSpec.AZUL) }) } } @@ -234,12 +272,14 @@ if (apiPackage) { } if (accessTransformersFile) { - String targetFile = "src/main/resources/META-INF/" + accessTransformersFile - if (!getFile(targetFile).exists()) { - throw new GradleException("Could not resolve \"accessTransformersFile\"! Could not find " + targetFile) + for (atFile in accessTransformersFile.split(",")) { + String targetFile = "src/main/resources/META-INF/" + atFile.trim() + if (!getFile(targetFile).exists()) { + throw new GradleException("Could not resolve \"accessTransformersFile\"! Could not find " + targetFile) + } + tasks.deobfuscateMergedJarToSrg.accessTransformerFiles.from(targetFile) + tasks.srgifyBinpatchedJar.accessTransformerFiles.from(targetFile) } - tasks.deobfuscateMergedJarToSrg.accessTransformerFiles.from(targetFile) - tasks.srgifyBinpatchedJar.accessTransformerFiles.from(targetFile) } else { boolean atsFound = false for (File at : sourceSets.getByName("main").resources.files) { @@ -367,12 +407,14 @@ minecraft { injectMissingGenerics.set(true) } + username = developmentEnvironmentUserName.toString() + + lwjgl3Version = "3.3.2" + // Enable assertions in the current mod extraRunJvmArguments.add("-ea:${modGroup}") if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { - extraTweakClasses.add("org.spongepowered.asm.launch.MixinTweaker") - if (usesMixinDebug.toBoolean()) { extraRunJvmArguments.addAll([ "-Dmixin.debug.countInjections=true", @@ -401,6 +443,16 @@ configurations.configureEach { } } } + def obfuscationAttr = it.attributes.getAttribute(ObfuscationAttribute.OBFUSCATION_ATTRIBUTE) + if (obfuscationAttr != null && obfuscationAttr.name == ObfuscationAttribute.SRG) { + resolutionStrategy.eachDependency { DependencyResolveDetails details -> + // Remap CoFH core cursemaven dev jar to the obfuscated version for runObfClient/Server + if (details.requested.group == 'curse.maven' && details.requested.name.endsWith('-69162') && details.requested.version == '2388751') { + details.useVersion '2388750' + details.because 'Pick obfuscated jar' + } + } + } } // Ensure tests have access to minecraft classes @@ -430,8 +482,9 @@ repositories.configureEach { repo -> apply from: 'repositories.gradle' configurations { + runtimeClasspath.extendsFrom(runtimeOnlyNonPublishable) + testRuntimeClasspath.extendsFrom(runtimeOnlyNonPublishable) for (config in [compileClasspath, runtimeClasspath, testCompileClasspath, testRuntimeClasspath]) { - config.extendsFrom(runtimeOnlyNonPublishable) if (usesShadowedDependencies.toBoolean()) { config.extendsFrom(shadowImplementation) // TODO: remove Compile after all uses are refactored to Implementation @@ -476,12 +529,11 @@ repositories { url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" allowInsecureProtocol = true } - if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { - if (usesMixinDebug.toBoolean()) { - maven { - name = "Fabric Maven" - url = "https://maven.fabricmc.net/" - } + maven { + name 'sonatype' + url 'https://oss.sonatype.org/content/repositories/snapshots/' + content { + includeGroup "org.lwjgl" } } if (includeWellKnownRepositories.toBoolean()) { @@ -515,29 +567,50 @@ repositories { } } +def mixinProviderGroup = "io.github.legacymoddingmc" +def mixinProviderModule = "unimixins" +def mixinProviderVersion = "0.1.7.1" +def mixinProviderSpecNoClassifer = "${mixinProviderGroup}:${mixinProviderModule}:${mixinProviderVersion}" +def mixinProviderSpec = "${mixinProviderSpecNoClassifer}:dev" +ext.mixinProviderSpec = mixinProviderSpec + dependencies { if (usesMixins.toBoolean()) { annotationProcessor('org.ow2.asm:asm-debug-all:5.0.3') annotationProcessor('com.google.guava:guava:24.1.1-jre') annotationProcessor('com.google.code.gson:gson:2.8.6') - annotationProcessor('com.gtnewhorizon:gtnhmixins:2.1.10:processor') + annotationProcessor(mixinProviderSpec) if (usesMixinDebug.toBoolean()) { runtimeOnlyNonPublishable('org.jetbrains:intellij-fernflower:1.2.1.16') } } - if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { - implementation('com.gtnewhorizon:gtnhmixins:2.1.10') + if (usesMixins.toBoolean()) { + implementation(mixinProviderSpec) + } else if (forceEnableMixins.toBoolean()) { + runtimeOnlyNonPublishable(mixinProviderSpec) } } pluginManager.withPlugin('org.jetbrains.kotlin.kapt') { if (usesMixins.toBoolean()) { dependencies { - kapt('com.gtnewhorizon:gtnhmixins:2.1.10:processor') + kapt(mixinProviderSpec) } } } +// Replace old mixin mods with unimixins +// https://docs.gradle.org/8.0.2/userguide/resolution_rules.html#sec:substitution_with_classifier +configurations.all { + resolutionStrategy.dependencySubstitution { + substitute module('com.gtnewhorizon:gtnhmixins') using module(mixinProviderSpecNoClassifer) withClassifier("dev") because("Unimixins replaces other mixin mods") + substitute module('com.github.GTNewHorizons:Mixingasm') using module(mixinProviderSpecNoClassifer) withClassifier("dev") because("Unimixins replaces other mixin mods") + substitute module('com.github.GTNewHorizons:SpongePoweredMixin') using module(mixinProviderSpecNoClassifer) withClassifier("dev") because("Unimixins replaces other mixin mods") + substitute module('com.github.GTNewHorizons:SpongeMixins') using module(mixinProviderSpecNoClassifer) withClassifier("dev") because("Unimixins replaces other mixin mods") + substitute module('io.github.legacymoddingmc:unimixins') using module(mixinProviderSpecNoClassifer) withClassifier("dev") because("Our previous unimixins upload was missing the dev classifier") + } +} + apply from: 'dependencies.gradle' def mixingConfigRefMap = 'mixins.' + modId + '.refmap.json' @@ -633,7 +706,156 @@ tasks.named("processResources", ProcessResources).configure { if (usesMixins.toBoolean()) { from refMap + dependsOn("compileJava", "compileScala") + } +} + +ext.java17Toolchain = (JavaToolchainSpec spec) -> { + spec.languageVersion.set(JavaLanguageVersion.of(17)) + spec.vendor.set(JvmVendorSpec.matching("jetbrains")) +} + +ext.java17DependenciesCfg = configurations.create("java17Dependencies") { + extendsFrom(configurations.getByName("runtimeClasspath")) // Ensure consistent transitive dependency resolution + canBeConsumed = false +} +ext.java17PatchDependenciesCfg = configurations.create("java17PatchDependencies") { + canBeConsumed = false +} + +dependencies { + def lwjgl3ifyVersion = '1.3.5' + def asmVersion = '9.4' + if (modId != 'lwjgl3ify') { + java17Dependencies("com.github.GTNewHorizons:lwjgl3ify:${lwjgl3ifyVersion}") + } + if (modId != 'hodgepodge') { + java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.2.8') + } + + java17PatchDependencies('net.minecraft:launchwrapper:1.15') {transitive = false} + java17PatchDependencies("org.ow2.asm:asm:${asmVersion}") + java17PatchDependencies("org.ow2.asm:asm-commons:${asmVersion}") + java17PatchDependencies("org.ow2.asm:asm-tree:${asmVersion}") + java17PatchDependencies("org.ow2.asm:asm-analysis:${asmVersion}") + java17PatchDependencies("org.ow2.asm:asm-util:${asmVersion}") + java17PatchDependencies('org.ow2.asm:asm-deprecated:7.1') + java17PatchDependencies("org.apache.commons:commons-lang3:3.12.0") + java17PatchDependencies("com.github.GTNewHorizons:lwjgl3ify:${lwjgl3ifyVersion}:forgePatches") {transitive = false} +} + +ext.java17JvmArgs = [ + // Java 9+ support + "--illegal-access=warn", + "-Djava.security.manager=allow", + "-Dfile.encoding=UTF-8", + "--add-opens", "java.base/jdk.internal.loader=ALL-UNNAMED", + "--add-opens", "java.base/java.net=ALL-UNNAMED", + "--add-opens", "java.base/java.nio=ALL-UNNAMED", + "--add-opens", "java.base/java.io=ALL-UNNAMED", + "--add-opens", "java.base/java.lang=ALL-UNNAMED", + "--add-opens", "java.base/java.lang.reflect=ALL-UNNAMED", + "--add-opens", "java.base/java.text=ALL-UNNAMED", + "--add-opens", "java.base/java.util=ALL-UNNAMED", + "--add-opens", "java.base/jdk.internal.reflect=ALL-UNNAMED", + "--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", + "--add-opens", "jdk.naming.dns/com.sun.jndi.dns=ALL-UNNAMED,java.naming", + "--add-opens", "java.desktop/sun.awt.image=ALL-UNNAMED", + "--add-modules", "jdk.dynalink", + "--add-opens", "jdk.dynalink/jdk.dynalink.beans=ALL-UNNAMED", + "--add-modules", "java.sql.rowset", + "--add-opens", "java.sql.rowset/javax.sql.rowset.serial=ALL-UNNAMED" +] + +ext.hotswapJvmArgs = [ + // DCEVM advanced hot reload + "-XX:+AllowEnhancedClassRedefinition", + "-XX:HotswapAgent=fatjar" +] + +ext.setupHotswapAgentTask = tasks.register("setupHotswapAgent") { + group = "GTNH Buildscript" + description = "Installs a recent version of HotSwapAgent into the Java 17 JetBrains runtime directory" + def hsaUrl = 'https://github.com/HotswapProjects/HotswapAgent/releases/download/1.4.2-SNAPSHOT/hotswap-agent-1.4.2-SNAPSHOT.jar' + def targetFolderProvider = javaToolchains.launcherFor(java17Toolchain).map {it.metadata.installationPath.dir("lib/hotswap")} + def targetFilename = "hotswap-agent.jar" + onlyIf { + !targetFolderProvider.get().file(targetFilename).asFile.exists() } + doLast { + def targetFolder = targetFolderProvider.get() + targetFolder.asFile.mkdirs() + download.run { + src hsaUrl + dest targetFolder.file(targetFilename).asFile + overwrite false + tempAndMove true + } + } +} + +public abstract class RunHotswappableMinecraftTask extends RunMinecraftTask { + // IntelliJ doesn't seem to allow commandline arguments so we also support an env variable + private boolean enableHotswap = Boolean.valueOf(System.getenv("HOTSWAP")); + + @Input + public boolean getEnableHotswap() { return enableHotswap } + @Option(option = "hotswap", description = "Enables HotSwapAgent for enhanced class reloading under a debugger") + public boolean setEnableHotswap(boolean enable) { enableHotswap = enable } + + @Inject + public RunHotswappableMinecraftTask(Distribution side, String superTask, org.gradle.api.invocation.Gradle gradle) { + super(side, gradle) + + this.lwjglVersion = 3 + this.javaLauncher = project.javaToolchains.launcherFor(project.java17Toolchain) + this.extraJvmArgs.addAll(project.java17JvmArgs) + this.extraJvmArgs.addAll(project.provider(() -> enableHotswap ? project.hotswapJvmArgs : [])) + + this.classpath(project.java17PatchDependenciesCfg) + if (side == Distribution.CLIENT) { + this.classpath(project.minecraftTasks.lwjgl3Configuration) + } + // Use a raw provider instead of map to not create a dependency on the task + this.classpath(project.provider(() -> project.tasks.named(superTask, RunMinecraftTask).get().classpath)) + this.classpath.filter { file -> + !file.path.contains("2.9.4-nightly-20150209") // Remove lwjgl2 + } + this.classpath(project.java17DependenciesCfg) + } + + public void setup(Project project) { + super.setup(project) + if (project.usesMixins.toBoolean()) { + this.extraJvmArgs.addAll(project.provider(() -> { + def mixinCfg = project.configurations.detachedConfiguration(project.dependencies.create(project.mixinProviderSpec)) + mixinCfg.canBeConsumed = false + mixinCfg.transitive = false + enableHotswap ? ["-javaagent:" + mixinCfg.singleFile.absolutePath] : [] + })) + } + } +} + +def runClient17Task = tasks.register("runClient17", RunHotswappableMinecraftTask, Distribution.CLIENT, "runClient") +runClient17Task.configure { + setup(project) + group = "Modded Minecraft" + description = "Runs the modded client using Java 17, lwjgl3ify and Hodgepodge" + dependsOn(setupHotswapAgentTask, mcpTasks.launcherSources.classesTaskName, minecraftTasks.taskDownloadVanillaAssets, mcpTasks.taskPackagePatchedMc, 'jar') + mainClass = "GradleStart" + username = minecraft.username + userUUID = minecraft.userUUID +} + +def runServer17Task = tasks.register("runServer17", RunHotswappableMinecraftTask, Distribution.DEDICATED_SERVER, "runServer") +runServer17Task.configure { + setup(project) + group = "Modded Minecraft" + description = "Runs the modded server using Java 17, lwjgl3ify and Hodgepodge" + dependsOn(setupHotswapAgentTask, mcpTasks.launcherSources.classesTaskName, minecraftTasks.taskDownloadVanillaAssets, mcpTasks.taskPackagePatchedMc, 'jar') + mainClass = "GradleStartServer" + extraArgs.add("nogui") } def getManifestAttributes() { @@ -667,11 +889,6 @@ tasks.named("jar", Jar).configure { } if (usesShadowedDependencies.toBoolean()) { - tasks.register('relocateShadowJar', ConfigureShadowRelocation) { - target = tasks.shadowJar - prefix = modGroup + ".shadow" - enabled = minimizeShadowedDependencies.toBoolean() - } tasks.named("shadowJar", ShadowJar).configure { manifest { attributes(getManifestAttributes()) @@ -686,8 +903,9 @@ if (usesShadowedDependencies.toBoolean()) { project.configurations.shadeCompile ] archiveClassifier.set('dev') - if (minimizeShadowedDependencies.toBoolean()) { - dependsOn(relocateShadowJar) + if (relocateShadowedDependencies.toBoolean()) { + relocationPrefix = modGroup + ".shadow" + enableRelocation = true } } configurations.runtimeElements.outgoing.artifacts.clear() @@ -705,7 +923,7 @@ if (usesShadowedDependencies.toBoolean()) { javaComponent.withVariantsFromConfiguration(configurations.shadowRuntimeElements) { skip() } - for (runTask in ["runClient", "runServer"]) { + for (runTask in ["runClient", "runServer", "runClient17", "runServer17"]) { tasks.named(runTask).configure { dependsOn("shadowJar") } @@ -743,9 +961,23 @@ idea { module { downloadJavadoc = true downloadSources = true + inheritOutputDirs = true } project { settings { + if (ideaOverrideBuildType != "") { + delegateActions { + if ("gradle".equalsIgnoreCase(ideaOverrideBuildType)) { + delegateBuildRunToGradle = true + testRunner = org.jetbrains.gradle.ext.ActionDelegationConfig.TestRunner.GRADLE + } else if ("idea".equalsIgnoreCase(ideaOverrideBuildType)) { + delegateBuildRunToGradle = false + testRunner = org.jetbrains.gradle.ext.ActionDelegationConfig.TestRunner.PLATFORM + } else { + throw GradleScriptException('Accepted value for ideaOverrideBuildType is one of gradle or idea.') + } + } + } runConfigurations { "1. Run Client"(Gradle) { taskNames = ["runClient"] @@ -753,6 +985,20 @@ idea { "2. Run Server"(Gradle) { taskNames = ["runServer"] } + "1a. Run Client (Java 17)"(Gradle) { + taskNames = ["runClient17"] + } + "2a. Run Server (Java 17)"(Gradle) { + taskNames = ["runServer17"] + } + "1b. Run Client (Java 17, Hotswap)"(Gradle) { + taskNames = ["runClient17"] + envs = ["HOTSWAP": "true"] + } + "2b. Run Server (Java 17, Hotswap)"(Gradle) { + taskNames = ["runServer17"] + envs = ["HOTSWAP": "true"] + } "3. Run Obfuscated Client"(Gradle) { taskNames = ["runObfClient"] } @@ -770,7 +1016,7 @@ idea { } "Run Client (IJ Native)"(Application) { mainClass = "GradleStart" - moduleName = project.name + ".main" + moduleName = project.name + ".ideVirtualMain" afterEvaluate { workingDirectory = tasks.runClient.workingDir.absolutePath programParameters = tasks.runClient.calculateArgs(project).collect { '"' + it + '"' }.join(' ') @@ -781,7 +1027,7 @@ idea { } "Run Server (IJ Native)"(Application) { mainClass = "GradleStartServer" - moduleName = project.name + ".main" + moduleName = project.name + ".ideVirtualMain" afterEvaluate { workingDirectory = tasks.runServer.workingDir.absolutePath programParameters = tasks.runServer.calculateArgs(project).collect { '"' + it + '"' }.join(' ') @@ -793,11 +1039,57 @@ idea { } compiler.javac { afterEvaluate { + javacAdditionalOptions = "-encoding utf8" moduleJavacAdditionalOptions = [ (project.name + ".main"): tasks.compileJava.options.compilerArgs.collect { '"' + it + '"' }.join(' ') ] } } + withIDEADir { File ideaDir -> + if (!ideaDir.path.contains(".idea")) { + // If an .ipr file exists, the project root directory is passed here instead of the .idea subdirectory + ideaDir = new File(ideaDir, ".idea") + } + if (ideaDir.isDirectory()) { + def miscFile = new File(ideaDir, "misc.xml") + if (miscFile.isFile()) { + boolean dirty = false + def miscTransformer = new XmlTransformer() + miscTransformer.addAction { root -> + Node rootNode = root.asNode() + def rootManager = rootNode + .component.find { it.@name == 'ProjectRootManager' } + if (!rootManager) { + rootManager = rootNode.appendNode('component', ['name': 'ProjectRootManager', 'version': '2']) + dirty = true + } + def output = rootManager.output + if (!output) { + output = rootManager.appendNode('output') + dirty = true + } + if (!output.@url) { + // Only modify the output url if it doesn't yet have one, or if the existing one is blank somehow. + // This is a sensible default for most setups + output.@url = 'file://$PROJECT_DIR$/build/ideaBuild' + dirty = true + } + } + def result = miscTransformer.transform(miscFile.text) + if (dirty) { + miscFile.write(result) + } + } else { + miscFile.text = """ + + + + + +""" + } + } + } } } } @@ -867,7 +1159,7 @@ if (modrinthProjectId.size() != 0 && System.getenv("MODRINTH_TOKEN") != null) { } } if (usesMixins.toBoolean()) { - addModrinthDep("required", "project", "gtnhmixins") + addModrinthDep("required", "project", "unimixins") } tasks.modrinth.dependsOn(build) tasks.publish.dependsOn(tasks.modrinth) @@ -911,7 +1203,7 @@ if (curseForgeProjectId.size() != 0 && System.getenv("CURSEFORGE_TOKEN") != null } } if (usesMixins.toBoolean()) { - addCurseForgeRelation("requiredDependency", "gtnhmixins") + addCurseForgeRelation("requiredDependency", "unimixins") } tasks.curseforge.dependsOn(build) tasks.publish.dependsOn(tasks.curseforge) @@ -945,10 +1237,21 @@ def addCurseForgeRelation(String type, String name) { } // Updating + +def buildscriptGradleVersion = "8.1.1" + +tasks.named('wrapper', Wrapper).configure { + gradleVersion = buildscriptGradleVersion +} + tasks.register('updateBuildScript') { group = 'GTNH Buildscript' description = 'Updates the build script to the latest version' + if (gradle.gradleVersion != buildscriptGradleVersion && !Boolean.getBoolean('DISABLE_BUILDSCRIPT_GRADLE_UPDATE')) { + dependsOn('wrapper') + } + doLast { if (performBuildScriptUpdate()) return @@ -961,6 +1264,24 @@ if (!project.getGradle().startParameter.isOffline() && !Boolean.getBoolean('DISA performBuildScriptUpdate() } else { out.style(Style.SuccessHeader).println("Build script update available! Run 'gradle updateBuildScript'") + if (gradle.gradleVersion != buildscriptGradleVersion) { + out.style(Style.SuccessHeader).println("updateBuildScript can update gradle from ${gradle.gradleVersion} to ${buildscriptGradleVersion}\n") + } + } +} + +// If you want to add more cases to this task, implement them as arguments if total amount to print gets too large +tasks.register('faq') { + group = 'GTNH Buildscript' + description = 'Prints frequently asked questions about building a project' + + doLast { + print("If your build fails to fetch dependencies, they might have been deleted and replaced by newer " + + "versions.\nCheck if the versions you try to fetch are still on the distributing sites.\n" + + "The links can be found in repositories.gradle and build.gradle:repositories, " + + "not build.gradle:buildscript.repositories - this one is for gradle plugin metadata.\n\n" + + "If your build fails to recognize the syntax of new Java versions, enable Jabel in your " + + "gradle.properties. See how it's done in GTNH ExampleMod/gradle.properties.") } } @@ -1101,7 +1422,7 @@ static int replaceParams(File file, Map params) { return 0 } -// Dependency Deobfuscation +// Dependency Deobfuscation (Deprecated, use the new RFG API documented in dependencies.gradle) def deobf(String sourceURL) { try { @@ -1143,11 +1464,7 @@ def deobfMaven(String repoURL, String mavenDep) { } def deobfCurse(String curseDep) { - try { - return deobfMaven("https://www.cursemaven.com/", "curse.maven:$curseDep") - } catch (Exception ignored) { - out.style(Style.Failure).println("Failed to get $curseDep from cursemaven.") - } + return dependencies.rfg.deobf("curse.maven:$curseDep") } // The method above is to be preferred. Use this method if the filename is not at the end of the URL. @@ -1155,34 +1472,7 @@ def deobf(String sourceURL, String rawFileName) { String bon2Version = "2.5.1" String fileName = URLDecoder.decode(rawFileName, "UTF-8") String cacheDir = "$project.gradle.gradleUserHomeDir/caches" - String bon2Dir = "$cacheDir/forge_gradle/deobf" - String bon2File = "$bon2Dir/BON2-${bon2Version}.jar" String obfFile = "$cacheDir/modules-2/files-2.1/${fileName}.jar" - String deobfFile = "$cacheDir/modules-2/files-2.1/${fileName}-deobf.jar" - - if (file(deobfFile).exists()) { - return files(deobfFile) - } - - String mappingsVer - String remoteMappings = project.hasProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/' - if (remoteMappings) { - String id = "${forgeVersion.split("\\.")[3]}-$minecraftVersion" - String mappingsZIP = "$cacheDir/forge_gradle/maven_downloader/de/oceanlabs/mcp/mcp_snapshot_nodoc/$id/mcp_snapshot_nodoc-${id}.zip" - - zipMappings(mappingsZIP, remoteMappings, bon2Dir) - - mappingsVer = "snapshot_$id" - } else { - mappingsVer = "${channel}_$mappingsVersion" - } - - download.run { - src "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/com/github/parker8283/BON2/$bon2Version-CUSTOM/BON2-$bon2Version-CUSTOM-all.jar" - dest bon2File - quiet true - overwrite false - } download.run { src sourceURL @@ -1190,50 +1480,8 @@ def deobf(String sourceURL, String rawFileName) { quiet true overwrite false } - - exec { - commandLine 'java', '-jar', bon2File, '--inputJar', obfFile, '--outputJar', deobfFile, '--mcVer', minecraftVersion, '--mappingsVer', mappingsVer, '--notch' - workingDir bon2Dir - standardOutput = new FileOutputStream("${deobfFile}.log") - } - - return files(deobfFile) + return dependencies.rfg.deobf(files(obfFile)) } - -def zipMappings(String zipPath, String url, String bon2Dir) { - File zipFile = new File(zipPath) - if (zipFile.exists()) { - return - } - - String fieldsCache = "$bon2Dir/data/fields.csv" - String methodsCache = "$bon2Dir/data/methods.csv" - - download.run { - src "${url}fields.csv" - dest fieldsCache - quiet true - } - download.run { - src "${url}methods.csv" - dest methodsCache - quiet true - } - - zipFile.getParentFile().mkdirs() - ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile)) - - zos.putNextEntry(new ZipEntry("fields.csv")) - Files.copy(Paths.get(fieldsCache), zos) - zos.closeEntry() - - zos.putNextEntry(new ZipEntry("methods.csv")) - Files.copy(Paths.get(methodsCache), zos) - zos.closeEntry() - - zos.close() -} - // Helper methods def checkPropertyExists(String propertyName) { diff --git a/dependencies.gradle b/dependencies.gradle index 940d069f..b18973b3 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,22 +1,18 @@ // Add your dependencies here dependencies { + api("com.github.GTNewHorizons:Mantle:0.3.6:dev") - compile("com.github.GTNewHorizons:Mantle:0.3.4:dev") - - compileOnly("com.github.GTNewHorizons:waila:1.5.21:dev") { - transitive = false - } - compileOnly("com.github.GTNewHorizons:ForgeMultipart:1.2.7:dev") { + compileOnly("com.github.GTNewHorizons:waila:1.6.0:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.2.17-GTNH:dev") { + compileOnly("com.github.GTNewHorizons:ForgeMultipart:1.3.3:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:TinkersConstruct:1.9.0-16-GTNH:dev") { + devOnlyNonPublishable("com.github.GTNewHorizons:NotEnoughItems:2.3.52-GTNH:dev") + compileOnly("com.github.GTNewHorizons:TinkersConstruct:1.9.31-GTNH:dev") { transitive = false } - compileOnly("curse.maven:minefactory-reloaded-66672:2366150") { transitive = false } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index ccebba77..943f0cbf 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 f398c33c..37aef8d3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/repositories.gradle b/repositories.gradle index 8ba89bc5..45729e10 100644 --- a/repositories.gradle +++ b/repositories.gradle @@ -1,14 +1,4 @@ // Add any additional repositiroes for your dependencies here repositories { - maven { - name = "GTNH Maven" - url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" - } - maven { - url "https://cursemaven.com" - } - maven { - url = "https://jitpack.io" - } } diff --git a/src/main/java/mods/natura/Natura.java b/src/main/java/mods/natura/Natura.java index 01efd008..62d69da6 100644 --- a/src/main/java/mods/natura/Natura.java +++ b/src/main/java/mods/natura/Natura.java @@ -5,21 +5,6 @@ import java.util.Map; import java.util.Random; -import mantle.lib.TabTools; -import mantle.pulsar.control.PulseManager; -import mods.natura.common.NContent; -import mods.natura.common.NProxyCommon; -import mods.natura.common.NaturaTab; -import mods.natura.common.PHNatura; -import mods.natura.dimension.NetheriteWorldProvider; -import mods.natura.gui.NGuiHandler; -import mods.natura.plugins.PluginController; -import mods.natura.worldgen.BaseCloudWorldgen; -import mods.natura.worldgen.BaseCropWorldgen; -import mods.natura.worldgen.BaseTreeWorldgen; -import mods.natura.worldgen.retro.TickHandlerWorld; -import mods.natura.worldgen.retro.WorldHandler; - import net.minecraft.block.material.Material; import net.minecraft.entity.EntityCreature; import net.minecraft.entity.EntityLiving; @@ -57,6 +42,20 @@ import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; +import mantle.lib.TabTools; +import mantle.pulsar.control.PulseManager; +import mods.natura.common.NContent; +import mods.natura.common.NProxyCommon; +import mods.natura.common.NaturaTab; +import mods.natura.common.PHNatura; +import mods.natura.dimension.NetheriteWorldProvider; +import mods.natura.gui.NGuiHandler; +import mods.natura.plugins.PluginController; +import mods.natura.worldgen.BaseCloudWorldgen; +import mods.natura.worldgen.BaseCropWorldgen; +import mods.natura.worldgen.BaseTreeWorldgen; +import mods.natura.worldgen.retro.TickHandlerWorld; +import mods.natura.worldgen.retro.WorldHandler; @Mod( modid = "Natura", diff --git a/src/main/java/mods/natura/blocks/CloudBlock.java b/src/main/java/mods/natura/blocks/CloudBlock.java index b0bb4a69..2488172c 100644 --- a/src/main/java/mods/natura/blocks/CloudBlock.java +++ b/src/main/java/mods/natura/blocks/CloudBlock.java @@ -1,9 +1,5 @@ package mods.natura.blocks; -import mods.natura.Natura; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -16,6 +12,10 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import mods.natura.Natura; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; + public class CloudBlock extends NBlock { public CloudBlock() { diff --git a/src/main/java/mods/natura/blocks/GrassBlock.java b/src/main/java/mods/natura/blocks/GrassBlock.java index 0c7f4962..ab0b5ad2 100644 --- a/src/main/java/mods/natura/blocks/GrassBlock.java +++ b/src/main/java/mods/natura/blocks/GrassBlock.java @@ -2,9 +2,6 @@ import java.util.List; -import mods.natura.client.GrassColorizerAlternate; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -19,6 +16,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.client.GrassColorizerAlternate; +import mods.natura.common.NaturaTab; public class GrassBlock extends Block { diff --git a/src/main/java/mods/natura/blocks/GrassSlab.java b/src/main/java/mods/natura/blocks/GrassSlab.java index 3f8554f7..42e3a23f 100644 --- a/src/main/java/mods/natura/blocks/GrassSlab.java +++ b/src/main/java/mods/natura/blocks/GrassSlab.java @@ -2,9 +2,6 @@ import java.util.List; -import mods.natura.client.GrassColorizerAlternate; -import mods.natura.common.NaturaTab; - import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -18,6 +15,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.client.GrassColorizerAlternate; +import mods.natura.common.NaturaTab; public class GrassSlab extends NSlabBase { diff --git a/src/main/java/mods/natura/blocks/NBlock.java b/src/main/java/mods/natura/blocks/NBlock.java index bafb9ebb..6d0e70db 100644 --- a/src/main/java/mods/natura/blocks/NBlock.java +++ b/src/main/java/mods/natura/blocks/NBlock.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -14,6 +12,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NBlock extends Block { diff --git a/src/main/java/mods/natura/blocks/NButton.java b/src/main/java/mods/natura/blocks/NButton.java index bf36c88a..fdbefaee 100644 --- a/src/main/java/mods/natura/blocks/NButton.java +++ b/src/main/java/mods/natura/blocks/NButton.java @@ -1,7 +1,5 @@ package mods.natura.blocks; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockButton; import net.minecraft.client.renderer.texture.IIconRegister; @@ -9,6 +7,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NButton extends BlockButton { diff --git a/src/main/java/mods/natura/blocks/NFenceGate.java b/src/main/java/mods/natura/blocks/NFenceGate.java index a1548da7..7169404f 100644 --- a/src/main/java/mods/natura/blocks/NFenceGate.java +++ b/src/main/java/mods/natura/blocks/NFenceGate.java @@ -1,7 +1,5 @@ package mods.natura.blocks; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockFenceGate; import net.minecraft.client.renderer.texture.IIconRegister; @@ -9,6 +7,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NFenceGate extends BlockFenceGate { diff --git a/src/main/java/mods/natura/blocks/NLadder.java b/src/main/java/mods/natura/blocks/NLadder.java index 45aaca31..ae836dc2 100644 --- a/src/main/java/mods/natura/blocks/NLadder.java +++ b/src/main/java/mods/natura/blocks/NLadder.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.block.BlockLadder; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -13,6 +11,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NLadder extends BlockLadder { diff --git a/src/main/java/mods/natura/blocks/NPressurePlate.java b/src/main/java/mods/natura/blocks/NPressurePlate.java index 29fd5ccd..791e90da 100644 --- a/src/main/java/mods/natura/blocks/NPressurePlate.java +++ b/src/main/java/mods/natura/blocks/NPressurePlate.java @@ -1,7 +1,5 @@ package mods.natura.blocks; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockPressurePlate; import net.minecraft.block.material.Material; @@ -10,6 +8,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NPressurePlate extends BlockPressurePlate { diff --git a/src/main/java/mods/natura/blocks/NSlabBase.java b/src/main/java/mods/natura/blocks/NSlabBase.java index e8c61c99..5211823c 100644 --- a/src/main/java/mods/natura/blocks/NSlabBase.java +++ b/src/main/java/mods/natura/blocks/NSlabBase.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -18,6 +16,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NSlabBase extends Block { diff --git a/src/main/java/mods/natura/blocks/NStairs.java b/src/main/java/mods/natura/blocks/NStairs.java index 96909888..782fcc7f 100644 --- a/src/main/java/mods/natura/blocks/NStairs.java +++ b/src/main/java/mods/natura/blocks/NStairs.java @@ -1,10 +1,10 @@ package mods.natura.blocks; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockStairs; +import mods.natura.common.NaturaTab; + public class NStairs extends BlockStairs { public NStairs(Block par2Block, int par3) { diff --git a/src/main/java/mods/natura/blocks/NTrapdoor.java b/src/main/java/mods/natura/blocks/NTrapdoor.java index bc06f68a..1253c707 100644 --- a/src/main/java/mods/natura/blocks/NTrapdoor.java +++ b/src/main/java/mods/natura/blocks/NTrapdoor.java @@ -1,7 +1,5 @@ package mods.natura.blocks; -import mods.natura.common.NaturaTab; - import net.minecraft.block.BlockTrapDoor; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -9,6 +7,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NTrapdoor extends BlockTrapDoor { diff --git a/src/main/java/mods/natura/blocks/crops/BerryBush.java b/src/main/java/mods/natura/blocks/crops/BerryBush.java index 59e8511c..2829d569 100644 --- a/src/main/java/mods/natura/blocks/crops/BerryBush.java +++ b/src/main/java/mods/natura/blocks/crops/BerryBush.java @@ -3,10 +3,6 @@ import java.util.List; import java.util.Random; -import mods.natura.client.BerryRender; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockLeavesBase; import net.minecraft.block.material.Material; @@ -28,6 +24,9 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.client.BerryRender; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; public class BerryBush extends BlockLeavesBase implements IPlantable { diff --git a/src/main/java/mods/natura/blocks/crops/CropBlock.java b/src/main/java/mods/natura/blocks/crops/CropBlock.java index 546a6ebe..8eedc60d 100644 --- a/src/main/java/mods/natura/blocks/crops/CropBlock.java +++ b/src/main/java/mods/natura/blocks/crops/CropBlock.java @@ -3,9 +3,6 @@ import java.util.ArrayList; import java.util.Random; -import mods.natura.client.CropRender; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.block.BlockBush; import net.minecraft.block.IGrowable; @@ -22,6 +19,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.client.CropRender; +import mods.natura.common.NContent; public class CropBlock extends BlockBush implements IGrowable { diff --git a/src/main/java/mods/natura/blocks/crops/Glowshroom.java b/src/main/java/mods/natura/blocks/crops/Glowshroom.java index f5e9de41..9768820f 100644 --- a/src/main/java/mods/natura/blocks/crops/Glowshroom.java +++ b/src/main/java/mods/natura/blocks/crops/Glowshroom.java @@ -3,10 +3,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NaturaTab; -import mods.natura.worldgen.GlowshroomGenBlueGreen; -import mods.natura.worldgen.GlowshroomGenPurple; - import net.minecraft.block.BlockMushroom; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -18,6 +14,9 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; +import mods.natura.worldgen.GlowshroomGenBlueGreen; +import mods.natura.worldgen.GlowshroomGenPurple; public class Glowshroom extends BlockMushroom { diff --git a/src/main/java/mods/natura/blocks/crops/HerbBlock.java b/src/main/java/mods/natura/blocks/crops/HerbBlock.java index 49088178..5679b168 100644 --- a/src/main/java/mods/natura/blocks/crops/HerbBlock.java +++ b/src/main/java/mods/natura/blocks/crops/HerbBlock.java @@ -2,9 +2,6 @@ import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; @@ -13,6 +10,9 @@ import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; + public class HerbBlock extends CropBlock { protected HerbBlock() { diff --git a/src/main/java/mods/natura/blocks/crops/LargeGlowshroom.java b/src/main/java/mods/natura/blocks/crops/LargeGlowshroom.java index 23076a10..19f96baa 100644 --- a/src/main/java/mods/natura/blocks/crops/LargeGlowshroom.java +++ b/src/main/java/mods/natura/blocks/crops/LargeGlowshroom.java @@ -2,8 +2,6 @@ import java.util.Random; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -19,6 +17,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; public class LargeGlowshroom extends Block { diff --git a/src/main/java/mods/natura/blocks/crops/NetherBerryBush.java b/src/main/java/mods/natura/blocks/crops/NetherBerryBush.java index ebee3508..cf96765b 100644 --- a/src/main/java/mods/natura/blocks/crops/NetherBerryBush.java +++ b/src/main/java/mods/natura/blocks/crops/NetherBerryBush.java @@ -3,10 +3,6 @@ import java.util.List; import java.util.Random; -import mods.natura.client.BerryRender; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockLeavesBase; import net.minecraft.block.material.Material; @@ -27,6 +23,9 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.client.BerryRender; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; public class NetherBerryBush extends BlockLeavesBase implements IPlantable { diff --git a/src/main/java/mods/natura/blocks/crops/ThornVines.java b/src/main/java/mods/natura/blocks/crops/ThornVines.java index ded6e6f7..5fba08b6 100644 --- a/src/main/java/mods/natura/blocks/crops/ThornVines.java +++ b/src/main/java/mods/natura/blocks/crops/ThornVines.java @@ -1,8 +1,5 @@ package mods.natura.blocks.crops; -import mods.natura.Natura; -import mods.natura.common.NaturaTab; - import net.minecraft.block.BlockVine; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; @@ -14,6 +11,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.Natura; +import mods.natura.common.NaturaTab; public class ThornVines extends BlockVine { diff --git a/src/main/java/mods/natura/blocks/nether/HeatSand.java b/src/main/java/mods/natura/blocks/nether/HeatSand.java index d20db320..9ff57b8b 100644 --- a/src/main/java/mods/natura/blocks/nether/HeatSand.java +++ b/src/main/java/mods/natura/blocks/nether/HeatSand.java @@ -1,7 +1,5 @@ package mods.natura.blocks.nether; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; import net.minecraft.client.renderer.texture.IIconRegister; @@ -16,6 +14,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class HeatSand extends BlockFalling { diff --git a/src/main/java/mods/natura/blocks/nether/NetherGlass.java b/src/main/java/mods/natura/blocks/nether/NetherGlass.java index c8a8e5f5..61d35093 100644 --- a/src/main/java/mods/natura/blocks/nether/NetherGlass.java +++ b/src/main/java/mods/natura/blocks/nether/NetherGlass.java @@ -3,8 +3,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -22,6 +20,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; public class NetherGlass extends Block { diff --git a/src/main/java/mods/natura/blocks/nether/TaintedSoil.java b/src/main/java/mods/natura/blocks/nether/TaintedSoil.java index 66ad62cd..439a458f 100644 --- a/src/main/java/mods/natura/blocks/nether/TaintedSoil.java +++ b/src/main/java/mods/natura/blocks/nether/TaintedSoil.java @@ -2,8 +2,6 @@ import static net.minecraftforge.common.util.ForgeDirection.UP; -import mods.natura.blocks.NBlock; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; @@ -12,6 +10,8 @@ import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.util.ForgeDirection; +import mods.natura.blocks.NBlock; + public class TaintedSoil extends NBlock { public TaintedSoil() { diff --git a/src/main/java/mods/natura/blocks/overrides/AlternateBookshelf.java b/src/main/java/mods/natura/blocks/overrides/AlternateBookshelf.java index 65b40177..6c034b2a 100644 --- a/src/main/java/mods/natura/blocks/overrides/AlternateBookshelf.java +++ b/src/main/java/mods/natura/blocks/overrides/AlternateBookshelf.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NContent; - import net.minecraft.block.BlockBookshelf; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -14,6 +12,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; public class AlternateBookshelf extends BlockBookshelf { diff --git a/src/main/java/mods/natura/blocks/overrides/AlternateFence.java b/src/main/java/mods/natura/blocks/overrides/AlternateFence.java index e2fb7429..ccbcc3de 100644 --- a/src/main/java/mods/natura/blocks/overrides/AlternateFence.java +++ b/src/main/java/mods/natura/blocks/overrides/AlternateFence.java @@ -2,9 +2,6 @@ import java.util.List; -import mods.natura.client.FenceRender; -import mods.natura.common.NContent; - import net.minecraft.block.BlockFence; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -16,6 +13,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.client.FenceRender; +import mods.natura.common.NContent; public class AlternateFence extends BlockFence { diff --git a/src/main/java/mods/natura/blocks/overrides/AlternateWorkbench.java b/src/main/java/mods/natura/blocks/overrides/AlternateWorkbench.java index bb50cd20..c160f4e4 100644 --- a/src/main/java/mods/natura/blocks/overrides/AlternateWorkbench.java +++ b/src/main/java/mods/natura/blocks/overrides/AlternateWorkbench.java @@ -2,10 +2,6 @@ import java.util.List; -import mods.natura.Natura; -import mods.natura.common.NContent; -import mods.natura.gui.NGuiHandler; - import net.minecraft.block.BlockWorkbench; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -17,6 +13,9 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.Natura; +import mods.natura.common.NContent; +import mods.natura.gui.NGuiHandler; public class AlternateWorkbench extends BlockWorkbench { diff --git a/src/main/java/mods/natura/blocks/overrides/NetherLever.java b/src/main/java/mods/natura/blocks/overrides/NetherLever.java index 5f7479f1..f1c6fe0a 100644 --- a/src/main/java/mods/natura/blocks/overrides/NetherLever.java +++ b/src/main/java/mods/natura/blocks/overrides/NetherLever.java @@ -1,9 +1,9 @@ package mods.natura.blocks.overrides; -import mods.natura.client.LeverRender; - import net.minecraft.block.BlockLever; +import mods.natura.client.LeverRender; + public class NetherLever extends BlockLever { public NetherLever() { diff --git a/src/main/java/mods/natura/blocks/tech/BlazeHopper.java b/src/main/java/mods/natura/blocks/tech/BlazeHopper.java index 8d077f7c..036ab0b0 100644 --- a/src/main/java/mods/natura/blocks/tech/BlazeHopper.java +++ b/src/main/java/mods/natura/blocks/tech/BlazeHopper.java @@ -1,14 +1,13 @@ package mods.natura.blocks.tech; -import mods.natura.client.HopperRender; -import mods.natura.common.NContent; - import net.minecraft.block.BlockHopper; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.client.HopperRender; +import mods.natura.common.NContent; public class BlazeHopper extends BlockHopper { diff --git a/src/main/java/mods/natura/blocks/tech/NetherPistonBase.java b/src/main/java/mods/natura/blocks/tech/NetherPistonBase.java index 4cf0aaf4..2add4baf 100644 --- a/src/main/java/mods/natura/blocks/tech/NetherPistonBase.java +++ b/src/main/java/mods/natura/blocks/tech/NetherPistonBase.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.BlockPistonMoving; @@ -25,6 +23,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; // TODO 1.7 make sure this class still works (extending behavior) public class NetherPistonBase extends BlockPistonBase { diff --git a/src/main/java/mods/natura/blocks/tech/NetherrackFurnaceBlock.java b/src/main/java/mods/natura/blocks/tech/NetherrackFurnaceBlock.java index 5141446d..cfa2603f 100644 --- a/src/main/java/mods/natura/blocks/tech/NetherrackFurnaceBlock.java +++ b/src/main/java/mods/natura/blocks/tech/NetherrackFurnaceBlock.java @@ -2,9 +2,6 @@ import java.util.Random; -import mods.natura.Natura; -import mods.natura.gui.NGuiHandler; - import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -23,6 +20,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.Natura; +import mods.natura.gui.NGuiHandler; /** * Abstract for blocks with inventories. diff --git a/src/main/java/mods/natura/blocks/tech/NetherrackFurnaceLogic.java b/src/main/java/mods/natura/blocks/tech/NetherrackFurnaceLogic.java index f2e68796..f698a8d4 100644 --- a/src/main/java/mods/natura/blocks/tech/NetherrackFurnaceLogic.java +++ b/src/main/java/mods/natura/blocks/tech/NetherrackFurnaceLogic.java @@ -1,7 +1,5 @@ package mods.natura.blocks.tech; -import mantle.blocks.BlockUtils; - import net.minecraft.block.Block; import net.minecraft.block.BlockLog; import net.minecraft.block.material.Material; @@ -26,6 +24,7 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.BlockUtils; public class NetherrackFurnaceLogic extends TileEntityFurnace { diff --git a/src/main/java/mods/natura/blocks/tech/RespawnObelisk.java b/src/main/java/mods/natura/blocks/tech/RespawnObelisk.java index 88c2f33f..f856416a 100644 --- a/src/main/java/mods/natura/blocks/tech/RespawnObelisk.java +++ b/src/main/java/mods/natura/blocks/tech/RespawnObelisk.java @@ -2,8 +2,6 @@ import java.util.Random; -import mods.natura.Natura; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -16,6 +14,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.Natura; public class RespawnObelisk extends Block { diff --git a/src/main/java/mods/natura/blocks/trees/DarkTreeBlock.java b/src/main/java/mods/natura/blocks/trees/DarkTreeBlock.java index b6f66c99..c17c666e 100644 --- a/src/main/java/mods/natura/blocks/trees/DarkTreeBlock.java +++ b/src/main/java/mods/natura/blocks/trees/DarkTreeBlock.java @@ -3,8 +3,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -18,6 +16,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; +import mods.natura.util.Util; public class DarkTreeBlock extends Block { @@ -44,17 +44,23 @@ public IIcon getIcon(int side, int metadata) { // Ends of logs { case 0: - if (side == 0 || side == 1) return icons[tex + 1]; + if (side == 0 || side == 1) { + return Util.getWithFallback(icons, tex + 1); + } break; case 1: - if (side == 4 || side == 5) return icons[tex + 1]; + if (side == 4 || side == 5) { + return Util.getWithFallback(icons, tex + 1); + } break; case 2: - if (side == 2 || side == 3) return icons[tex + 1]; + if (side == 2 || side == 3) { + return Util.getWithFallback(icons, tex + 1); + } break; } - return icons[tex]; + return Util.getWithFallback(icons, tex); } @Override diff --git a/src/main/java/mods/natura/blocks/trees/FruitTreeBlock.java b/src/main/java/mods/natura/blocks/trees/FruitTreeBlock.java index c69f5ab9..adf88704 100644 --- a/src/main/java/mods/natura/blocks/trees/FruitTreeBlock.java +++ b/src/main/java/mods/natura/blocks/trees/FruitTreeBlock.java @@ -2,12 +2,12 @@ import java.util.Random; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockLog; import net.minecraft.item.Item; +import mods.natura.common.NaturaTab; + public class FruitTreeBlock extends BlockLog { public FruitTreeBlock() { diff --git a/src/main/java/mods/natura/blocks/trees/LogTwoxTwo.java b/src/main/java/mods/natura/blocks/trees/LogTwoxTwo.java index a103b07f..8ce3be5d 100644 --- a/src/main/java/mods/natura/blocks/trees/LogTwoxTwo.java +++ b/src/main/java/mods/natura/blocks/trees/LogTwoxTwo.java @@ -3,9 +3,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -18,6 +15,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; /* * This class is for a single tree with a 2x2 base and inside textures diff --git a/src/main/java/mods/natura/blocks/trees/NDoor.java b/src/main/java/mods/natura/blocks/trees/NDoor.java index eb8e2f00..59e8952f 100644 --- a/src/main/java/mods/natura/blocks/trees/NDoor.java +++ b/src/main/java/mods/natura/blocks/trees/NDoor.java @@ -2,8 +2,6 @@ import java.util.Random; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.block.BlockDoor; import net.minecraft.block.material.Material; @@ -19,6 +17,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; public class NDoor extends BlockDoor { diff --git a/src/main/java/mods/natura/blocks/trees/NLeaves.java b/src/main/java/mods/natura/blocks/trees/NLeaves.java index 04af65e3..884f2618 100644 --- a/src/main/java/mods/natura/blocks/trees/NLeaves.java +++ b/src/main/java/mods/natura/blocks/trees/NLeaves.java @@ -4,9 +4,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockLeaves; import net.minecraft.client.renderer.texture.IIconRegister; @@ -21,6 +18,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; public class NLeaves extends BlockLeaves { diff --git a/src/main/java/mods/natura/blocks/trees/NLeavesDark.java b/src/main/java/mods/natura/blocks/trees/NLeavesDark.java index 3111d1c2..ddd6917d 100644 --- a/src/main/java/mods/natura/blocks/trees/NLeavesDark.java +++ b/src/main/java/mods/natura/blocks/trees/NLeavesDark.java @@ -3,9 +3,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; @@ -18,6 +15,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; public class NLeavesDark extends NLeaves { diff --git a/src/main/java/mods/natura/blocks/trees/NLeavesNocolor.java b/src/main/java/mods/natura/blocks/trees/NLeavesNocolor.java index 48631370..61b869cc 100644 --- a/src/main/java/mods/natura/blocks/trees/NLeavesNocolor.java +++ b/src/main/java/mods/natura/blocks/trees/NLeavesNocolor.java @@ -4,10 +4,6 @@ import java.util.List; import java.util.Random; -import mods.natura.Natura; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; @@ -21,6 +17,9 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.Natura; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; public class NLeavesNocolor extends NLeaves { diff --git a/src/main/java/mods/natura/blocks/trees/NSaplingBlock.java b/src/main/java/mods/natura/blocks/trees/NSaplingBlock.java index 5a71e6d3..b1df30e4 100644 --- a/src/main/java/mods/natura/blocks/trees/NSaplingBlock.java +++ b/src/main/java/mods/natura/blocks/trees/NSaplingBlock.java @@ -3,17 +3,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; -import mods.natura.worldgen.BloodTreeLargeGen; -import mods.natura.worldgen.BushTreeGen; -import mods.natura.worldgen.DarkwoodGen; -import mods.natura.worldgen.EucalyptusTreeGenShort; -import mods.natura.worldgen.FusewoodGen; -import mods.natura.worldgen.RedwoodTreeGen; -import mods.natura.worldgen.SakuraTreeGen; -import mods.natura.worldgen.WhiteTreeGen; - import net.minecraft.block.Block; import net.minecraft.block.BlockSapling; import net.minecraft.client.renderer.texture.IIconRegister; @@ -30,6 +19,16 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; +import mods.natura.worldgen.BloodTreeLargeGen; +import mods.natura.worldgen.BushTreeGen; +import mods.natura.worldgen.DarkwoodGen; +import mods.natura.worldgen.EucalyptusTreeGenShort; +import mods.natura.worldgen.FusewoodGen; +import mods.natura.worldgen.RedwoodTreeGen; +import mods.natura.worldgen.SakuraTreeGen; +import mods.natura.worldgen.WhiteTreeGen; public class NSaplingBlock extends BlockSapling { diff --git a/src/main/java/mods/natura/blocks/trees/OverworldLeaves.java b/src/main/java/mods/natura/blocks/trees/OverworldLeaves.java index 785478f6..be8f8f13 100644 --- a/src/main/java/mods/natura/blocks/trees/OverworldLeaves.java +++ b/src/main/java/mods/natura/blocks/trees/OverworldLeaves.java @@ -3,8 +3,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NContent; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; @@ -15,6 +13,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; public class OverworldLeaves extends NLeaves { diff --git a/src/main/java/mods/natura/blocks/trees/OverworldSapling.java b/src/main/java/mods/natura/blocks/trees/OverworldSapling.java index 2ded4f5f..b3e7608e 100644 --- a/src/main/java/mods/natura/blocks/trees/OverworldSapling.java +++ b/src/main/java/mods/natura/blocks/trees/OverworldSapling.java @@ -3,11 +3,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; -import mods.natura.worldgen.RareTreeGen; -import mods.natura.worldgen.WillowGen; - import net.minecraft.block.Block; import net.minecraft.block.BlockSapling; import net.minecraft.client.renderer.texture.IIconRegister; @@ -24,6 +19,10 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; +import mods.natura.worldgen.RareTreeGen; +import mods.natura.worldgen.WillowGen; public class OverworldSapling extends BlockSapling { diff --git a/src/main/java/mods/natura/blocks/trees/OverworldTreeBlock.java b/src/main/java/mods/natura/blocks/trees/OverworldTreeBlock.java index 0b321ab7..61ac2274 100644 --- a/src/main/java/mods/natura/blocks/trees/OverworldTreeBlock.java +++ b/src/main/java/mods/natura/blocks/trees/OverworldTreeBlock.java @@ -3,8 +3,6 @@ import java.util.ArrayList; import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockLog; import net.minecraft.client.renderer.texture.IIconRegister; @@ -18,6 +16,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; +import mods.natura.util.Util; public class OverworldTreeBlock extends BlockLog { @@ -43,17 +43,23 @@ public IIcon getIcon(int side, int metadata) { // Ends of logs { case 0: - if (side == 0 || side == 1) return icons[tex + 1]; + if (side == 0 || side == 1) { + return Util.getWithFallback(icons, tex + 1); + } break; case 1: - if (side == 4 || side == 5) return icons[tex + 1]; + if (side == 4 || side == 5) { + return Util.getWithFallback(icons, tex + 1); + } break; case 2: - if (side == 2 || side == 3) return icons[tex + 1]; + if (side == 2 || side == 3) { + return Util.getWithFallback(icons, tex + 1); + } break; } - return icons[tex]; + return Util.getWithFallback(icons, tex); } @Override diff --git a/src/main/java/mods/natura/blocks/trees/Planks.java b/src/main/java/mods/natura/blocks/trees/Planks.java index 226e2d9a..f9e45257 100644 --- a/src/main/java/mods/natura/blocks/trees/Planks.java +++ b/src/main/java/mods/natura/blocks/trees/Planks.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -18,6 +16,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class Planks extends Block { diff --git a/src/main/java/mods/natura/blocks/trees/SaguaroBlock.java b/src/main/java/mods/natura/blocks/trees/SaguaroBlock.java index a7b56ac4..d7ccc159 100644 --- a/src/main/java/mods/natura/blocks/trees/SaguaroBlock.java +++ b/src/main/java/mods/natura/blocks/trees/SaguaroBlock.java @@ -2,11 +2,6 @@ import java.util.Random; -import mods.natura.client.SaguaroRenderer; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; -import mods.natura.worldgen.SaguaroGen; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -24,6 +19,10 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.client.SaguaroRenderer; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; +import mods.natura.worldgen.SaguaroGen; public class SaguaroBlock extends Block implements IPlantable { diff --git a/src/main/java/mods/natura/blocks/trees/SimpleLog.java b/src/main/java/mods/natura/blocks/trees/SimpleLog.java index 6a986872..155f784c 100644 --- a/src/main/java/mods/natura/blocks/trees/SimpleLog.java +++ b/src/main/java/mods/natura/blocks/trees/SimpleLog.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -15,6 +13,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class SimpleLog extends Planks { diff --git a/src/main/java/mods/natura/blocks/trees/TreeBlock.java b/src/main/java/mods/natura/blocks/trees/TreeBlock.java index 4315224b..c624d6c3 100644 --- a/src/main/java/mods/natura/blocks/trees/TreeBlock.java +++ b/src/main/java/mods/natura/blocks/trees/TreeBlock.java @@ -3,8 +3,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockLog; import net.minecraft.client.renderer.texture.IIconRegister; @@ -18,6 +16,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; +import mods.natura.util.Util; public class TreeBlock extends BlockLog { @@ -44,17 +44,23 @@ public IIcon getIcon(int side, int metadata) { // Ends of logs { case 0: - if (side == 0 || side == 1) return icons[tex + 4]; + if (side == 0 || side == 1) { + return Util.getWithFallback(icons, tex + 4); + } break; case 1: - if (side == 4 || side == 5) return icons[tex + 4]; + if (side == 4 || side == 5) { + return Util.getWithFallback(icons, tex + 4); + } break; case 2: - if (side == 2 || side == 3) return icons[tex + 4]; + if (side == 2 || side == 3) { + return Util.getWithFallback(icons, tex + 4); + } break; } - return icons[tex]; + return Util.getWithFallback(icons, tex); } @Override diff --git a/src/main/java/mods/natura/blocks/trees/WillowBlock.java b/src/main/java/mods/natura/blocks/trees/WillowBlock.java index 272c4022..28cdd0d1 100644 --- a/src/main/java/mods/natura/blocks/trees/WillowBlock.java +++ b/src/main/java/mods/natura/blocks/trees/WillowBlock.java @@ -3,8 +3,6 @@ import java.util.ArrayList; import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockLog; import net.minecraft.client.renderer.texture.IIconRegister; @@ -18,6 +16,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; +import mods.natura.util.Util; public class WillowBlock extends BlockLog { @@ -42,17 +42,23 @@ public IIcon getIcon(int side, int metadata) { // Ends of logs { case 0: - if (side == 0 || side == 1) return icons[tex + 1]; + if (side == 0 || side == 1) { + return Util.getWithFallback(icons, tex + 1); + } break; case 1: - if (side == 4 || side == 5) return icons[tex + 1]; + if (side == 4 || side == 5) { + return Util.getWithFallback(icons, tex + 1); + } break; case 2: - if (side == 2 || side == 3) return icons[tex + 1]; + if (side == 2 || side == 3) { + return Util.getWithFallback(icons, tex + 1); + } break; } - return icons[tex]; + return Util.getWithFallback(icons, tex); } @Override diff --git a/src/main/java/mods/natura/client/GrassColorizerAlternate.java b/src/main/java/mods/natura/client/GrassColorizerAlternate.java index 58be699e..35828cf9 100644 --- a/src/main/java/mods/natura/client/GrassColorizerAlternate.java +++ b/src/main/java/mods/natura/client/GrassColorizerAlternate.java @@ -1,8 +1,8 @@ package mods.natura.client; -import mods.natura.Natura; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.Natura; @SideOnly(Side.CLIENT) public class GrassColorizerAlternate { diff --git a/src/main/java/mods/natura/client/HopperRender.java b/src/main/java/mods/natura/client/HopperRender.java index e10c9743..36fd12ce 100644 --- a/src/main/java/mods/natura/client/HopperRender.java +++ b/src/main/java/mods/natura/client/HopperRender.java @@ -1,7 +1,5 @@ package mods.natura.client; -import mods.natura.blocks.tech.BlazeHopper; - import net.minecraft.block.Block; import net.minecraft.block.BlockHopper; import net.minecraft.client.renderer.EntityRenderer; @@ -12,6 +10,7 @@ import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.client.registry.RenderingRegistry; +import mods.natura.blocks.tech.BlazeHopper; public class HopperRender implements ISimpleBlockRenderingHandler { diff --git a/src/main/java/mods/natura/client/NProxyClient.java b/src/main/java/mods/natura/client/NProxyClient.java index 7a207f9b..e4613b7b 100644 --- a/src/main/java/mods/natura/client/NProxyClient.java +++ b/src/main/java/mods/natura/client/NProxyClient.java @@ -1,5 +1,15 @@ package mods.natura.client; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureUtil; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.client.registry.RenderingRegistry; import mods.natura.client.entity.FlameSpiderBabyRender; import mods.natura.client.entity.FlameSpiderRender; import mods.natura.client.entity.FusewoodArrowRender; @@ -13,17 +23,6 @@ import mods.natura.entity.ImpEntity; import mods.natura.entity.NitroCreeper; -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureUtil; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.client.registry.RenderingRegistry; - public class NProxyClient extends NProxyCommon { @Override diff --git a/src/main/java/mods/natura/client/SaguaroRenderer.java b/src/main/java/mods/natura/client/SaguaroRenderer.java index 762b1d04..91b347a2 100644 --- a/src/main/java/mods/natura/client/SaguaroRenderer.java +++ b/src/main/java/mods/natura/client/SaguaroRenderer.java @@ -1,7 +1,5 @@ package mods.natura.client; -import mods.natura.blocks.trees.SaguaroBlock; - import net.minecraft.block.Block; import net.minecraft.block.BlockDirectional; import net.minecraft.client.renderer.RenderBlocks; @@ -12,6 +10,7 @@ import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.client.registry.RenderingRegistry; +import mods.natura.blocks.trees.SaguaroBlock; public class SaguaroRenderer implements ISimpleBlockRenderingHandler { diff --git a/src/main/java/mods/natura/client/entity/FlameSpiderBabyRender.java b/src/main/java/mods/natura/client/entity/FlameSpiderBabyRender.java index 14795808..087f667e 100644 --- a/src/main/java/mods/natura/client/entity/FlameSpiderBabyRender.java +++ b/src/main/java/mods/natura/client/entity/FlameSpiderBabyRender.java @@ -1,7 +1,5 @@ package mods.natura.client.entity; -import mods.natura.entity.BabyHeatscarSpider; - import net.minecraft.client.renderer.entity.RenderSpider; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -9,6 +7,8 @@ import org.lwjgl.opengl.GL11; +import mods.natura.entity.BabyHeatscarSpider; + public class FlameSpiderBabyRender extends RenderSpider { public FlameSpiderBabyRender() { diff --git a/src/main/java/mods/natura/client/entity/FlameSpiderRender.java b/src/main/java/mods/natura/client/entity/FlameSpiderRender.java index 6e1cfa68..a8b8c530 100644 --- a/src/main/java/mods/natura/client/entity/FlameSpiderRender.java +++ b/src/main/java/mods/natura/client/entity/FlameSpiderRender.java @@ -1,7 +1,5 @@ package mods.natura.client.entity; -import mods.natura.entity.HeatscarSpider; - import net.minecraft.client.renderer.entity.RenderSpider; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -9,6 +7,8 @@ import org.lwjgl.opengl.GL11; +import mods.natura.entity.HeatscarSpider; + public class FlameSpiderRender extends RenderSpider { public FlameSpiderRender() { diff --git a/src/main/java/mods/natura/client/entity/FusewoodArrowRender.java b/src/main/java/mods/natura/client/entity/FusewoodArrowRender.java index 58b95fa6..66dafc94 100644 --- a/src/main/java/mods/natura/client/entity/FusewoodArrowRender.java +++ b/src/main/java/mods/natura/client/entity/FusewoodArrowRender.java @@ -1,7 +1,5 @@ package mods.natura.client.entity; -import mods.natura.entity.FusewoodArrow; - import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; @@ -13,6 +11,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.entity.FusewoodArrow; @SideOnly(Side.CLIENT) public class FusewoodArrowRender extends Render { diff --git a/src/main/java/mods/natura/common/NContent.java b/src/main/java/mods/natura/common/NContent.java index 87467d1c..19ea42e0 100644 --- a/src/main/java/mods/natura/common/NContent.java +++ b/src/main/java/mods/natura/common/NContent.java @@ -4,6 +4,36 @@ import java.util.HashMap; import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.block.BlockDispenser; +import net.minecraft.block.BlockPressurePlate.Sensitivity; +import net.minecraft.block.material.Material; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.CraftingManager; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.item.crafting.ShapedRecipes; +import net.minecraft.item.crafting.ShapelessRecipes; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.common.BiomeDictionary; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.util.EnumHelper; +import net.minecraftforge.fluids.FluidContainerRegistry; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.oredict.OreDictionary; +import net.minecraftforge.oredict.ShapedOreRecipe; +import net.minecraftforge.oredict.ShapelessOreRecipe; + +import cpw.mods.fml.common.IFuelHandler; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.registry.EntityRegistry; +import cpw.mods.fml.common.registry.GameRegistry; import mods.natura.Natura; import mods.natura.blocks.CloudBlock; import mods.natura.blocks.GrassBlock; @@ -109,38 +139,7 @@ import mods.natura.items.tools.NaturaShovel; import mods.natura.items.tools.NaturaSword; import mods.natura.util.DispenserBehaviorSpawnEgg; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockDispenser; -import net.minecraft.block.BlockPressurePlate.Sensitivity; -import net.minecraft.block.material.Material; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.Item.ToolMaterial; -import net.minecraft.item.ItemArmor.ArmorMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.CraftingManager; -import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraft.item.crafting.ShapedRecipes; -import net.minecraft.item.crafting.ShapelessRecipes; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraftforge.common.BiomeDictionary; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.util.EnumHelper; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; - import tconstruct.library.crafting.PatternBuilder; -import cpw.mods.fml.common.IFuelHandler; -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.registry.EntityRegistry; -import cpw.mods.fml.common.registry.GameRegistry; public class NContent implements IFuelHandler { diff --git a/src/main/java/mods/natura/common/PHNatura.java b/src/main/java/mods/natura/common/PHNatura.java index 9bbc1546..5bd358de 100644 --- a/src/main/java/mods/natura/common/PHNatura.java +++ b/src/main/java/mods/natura/common/PHNatura.java @@ -2,11 +2,10 @@ import java.io.File; -import mods.natura.Natura; - import net.minecraftforge.common.config.Configuration; import cpw.mods.fml.common.Loader; +import mods.natura.Natura; public class PHNatura { diff --git a/src/main/java/mods/natura/dimension/FireGen.java b/src/main/java/mods/natura/dimension/FireGen.java index 5d60c1c8..90a495af 100644 --- a/src/main/java/mods/natura/dimension/FireGen.java +++ b/src/main/java/mods/natura/dimension/FireGen.java @@ -2,13 +2,13 @@ import java.util.Random; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import mods.natura.common.NContent; + public class FireGen extends WorldGenerator { @Override diff --git a/src/main/java/mods/natura/dimension/NetheriteChunkProvider.java b/src/main/java/mods/natura/dimension/NetheriteChunkProvider.java index 6bc99977..e2472b9a 100644 --- a/src/main/java/mods/natura/dimension/NetheriteChunkProvider.java +++ b/src/main/java/mods/natura/dimension/NetheriteChunkProvider.java @@ -10,10 +10,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; -import mods.natura.worldgen.FlowerGen; - import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; import net.minecraft.entity.EnumCreatureType; @@ -40,6 +36,9 @@ import net.minecraftforge.event.terraingen.TerrainGen; import cpw.mods.fml.common.eventhandler.Event.Result; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; +import mods.natura.worldgen.FlowerGen; public class NetheriteChunkProvider implements IChunkProvider { diff --git a/src/main/java/mods/natura/dimension/NetheriteWorldProvider.java b/src/main/java/mods/natura/dimension/NetheriteWorldProvider.java index 4ad1bbb9..d1bdb002 100644 --- a/src/main/java/mods/natura/dimension/NetheriteWorldProvider.java +++ b/src/main/java/mods/natura/dimension/NetheriteWorldProvider.java @@ -1,13 +1,13 @@ package mods.natura.dimension; -import mods.natura.common.PHNatura; - import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.WorldProviderHell; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.IChunkProvider; +import mods.natura.common.PHNatura; + public class NetheriteWorldProvider extends WorldProviderHell { /** diff --git a/src/main/java/mods/natura/entity/BabyHeatscarSpider.java b/src/main/java/mods/natura/entity/BabyHeatscarSpider.java index 7ec5eef0..573af4e9 100644 --- a/src/main/java/mods/natura/entity/BabyHeatscarSpider.java +++ b/src/main/java/mods/natura/entity/BabyHeatscarSpider.java @@ -1,7 +1,5 @@ package mods.natura.entity; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.block.Block.SoundType; import net.minecraft.entity.Entity; @@ -17,6 +15,8 @@ import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; +import mods.natura.common.NContent; + public class BabyHeatscarSpider extends EntitySpider { public BabyHeatscarSpider(World par1World) { diff --git a/src/main/java/mods/natura/entity/HeatscarSpider.java b/src/main/java/mods/natura/entity/HeatscarSpider.java index f4520a63..35f3f27c 100644 --- a/src/main/java/mods/natura/entity/HeatscarSpider.java +++ b/src/main/java/mods/natura/entity/HeatscarSpider.java @@ -1,8 +1,5 @@ package mods.natura.entity; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; - import net.minecraft.block.Block; import net.minecraft.block.Block.SoundType; import net.minecraft.entity.Entity; @@ -21,6 +18,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; public class HeatscarSpider extends EntitySpider { diff --git a/src/main/java/mods/natura/entity/ImpEntity.java b/src/main/java/mods/natura/entity/ImpEntity.java index 3d835b2d..07109808 100644 --- a/src/main/java/mods/natura/entity/ImpEntity.java +++ b/src/main/java/mods/natura/entity/ImpEntity.java @@ -1,7 +1,5 @@ package mods.natura.entity; -import mods.natura.common.NContent; - import net.minecraft.entity.EntityAgeable; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIAvoidEntity; @@ -20,6 +18,8 @@ import net.minecraft.world.World; import net.minecraft.world.WorldProviderHell; +import mods.natura.common.NContent; + public class ImpEntity extends EntityAnimal { public ImpEntity(World par1World) { diff --git a/src/main/java/mods/natura/gui/FurnaceContainer.java b/src/main/java/mods/natura/gui/FurnaceContainer.java index 08530dd2..bf070c56 100644 --- a/src/main/java/mods/natura/gui/FurnaceContainer.java +++ b/src/main/java/mods/natura/gui/FurnaceContainer.java @@ -1,7 +1,5 @@ package mods.natura.gui; -import mods.natura.blocks.tech.NetherrackFurnaceLogic; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -14,6 +12,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.blocks.tech.NetherrackFurnaceLogic; public class FurnaceContainer extends Container { diff --git a/src/main/java/mods/natura/gui/FurnaceGui.java b/src/main/java/mods/natura/gui/FurnaceGui.java index bdfab929..75739c0f 100644 --- a/src/main/java/mods/natura/gui/FurnaceGui.java +++ b/src/main/java/mods/natura/gui/FurnaceGui.java @@ -1,7 +1,5 @@ package mods.natura.gui; -import mods.natura.blocks.tech.NetherrackFurnaceLogic; - import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; @@ -12,6 +10,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.blocks.tech.NetherrackFurnaceLogic; @SideOnly(Side.CLIENT) public class FurnaceGui extends GuiContainer { diff --git a/src/main/java/mods/natura/gui/NGuiHandler.java b/src/main/java/mods/natura/gui/NGuiHandler.java index f0b58e99..e68c43c6 100644 --- a/src/main/java/mods/natura/gui/NGuiHandler.java +++ b/src/main/java/mods/natura/gui/NGuiHandler.java @@ -1,11 +1,10 @@ package mods.natura.gui; -import mods.natura.blocks.tech.NetherrackFurnaceLogic; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; import cpw.mods.fml.common.network.IGuiHandler; +import mods.natura.blocks.tech.NetherrackFurnaceLogic; public class NGuiHandler implements IGuiHandler { diff --git a/src/main/java/mods/natura/items/BerryItem.java b/src/main/java/mods/natura/items/BerryItem.java index b8bbe4dc..9e3396e3 100644 --- a/src/main/java/mods/natura/items/BerryItem.java +++ b/src/main/java/mods/natura/items/BerryItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -16,6 +14,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class BerryItem extends ItemFood { diff --git a/src/main/java/mods/natura/items/BerryMedley.java b/src/main/java/mods/natura/items/BerryMedley.java index f0e3123c..4293fa27 100644 --- a/src/main/java/mods/natura/items/BerryMedley.java +++ b/src/main/java/mods/natura/items/BerryMedley.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -14,6 +12,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class BerryMedley extends ItemFood { diff --git a/src/main/java/mods/natura/items/BoneBag.java b/src/main/java/mods/natura/items/BoneBag.java index 153b5dda..b70578fa 100644 --- a/src/main/java/mods/natura/items/BoneBag.java +++ b/src/main/java/mods/natura/items/BoneBag.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.block.BlockCocoa; import net.minecraft.block.BlockCrops; @@ -24,6 +22,7 @@ import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class BoneBag extends Item { diff --git a/src/main/java/mods/natura/items/BowlStew.java b/src/main/java/mods/natura/items/BowlStew.java index 42c1249e..6e90d6f4 100644 --- a/src/main/java/mods/natura/items/BowlStew.java +++ b/src/main/java/mods/natura/items/BowlStew.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NContent; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -19,6 +17,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; public class BowlStew extends ItemFood { diff --git a/src/main/java/mods/natura/items/CactusJuice.java b/src/main/java/mods/natura/items/CactusJuice.java index 6a0970cc..d5971d13 100644 --- a/src/main/java/mods/natura/items/CactusJuice.java +++ b/src/main/java/mods/natura/items/CactusJuice.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemFood; @@ -12,6 +10,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class CactusJuice extends ItemFood { diff --git a/src/main/java/mods/natura/items/ImpMeat.java b/src/main/java/mods/natura/items/ImpMeat.java index dfffefbb..cad3f469 100644 --- a/src/main/java/mods/natura/items/ImpMeat.java +++ b/src/main/java/mods/natura/items/ImpMeat.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.Natura; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; @@ -13,6 +11,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.Natura; public class ImpMeat extends NSpecialFood { diff --git a/src/main/java/mods/natura/items/NaturaSeeds.java b/src/main/java/mods/natura/items/NaturaSeeds.java index 7eca078d..212a3dcb 100644 --- a/src/main/java/mods/natura/items/NaturaSeeds.java +++ b/src/main/java/mods/natura/items/NaturaSeeds.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -19,6 +17,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NaturaSeeds extends ItemSeeds { diff --git a/src/main/java/mods/natura/items/NetherBerryItem.java b/src/main/java/mods/natura/items/NetherBerryItem.java index 2512cb4f..18ba8567 100644 --- a/src/main/java/mods/natura/items/NetherBerryItem.java +++ b/src/main/java/mods/natura/items/NetherBerryItem.java @@ -2,9 +2,6 @@ import java.util.List; -import mods.natura.Natura; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -19,6 +16,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.Natura; +import mods.natura.common.NaturaTab; public class NetherBerryItem extends ItemFood { diff --git a/src/main/java/mods/natura/items/NetherFoodItem.java b/src/main/java/mods/natura/items/NetherFoodItem.java index 244ef2b8..dc8e6727 100644 --- a/src/main/java/mods/natura/items/NetherFoodItem.java +++ b/src/main/java/mods/natura/items/NetherFoodItem.java @@ -2,9 +2,6 @@ import java.util.List; -import mods.natura.Natura; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -19,6 +16,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.Natura; +import mods.natura.common.NaturaTab; public class NetherFoodItem extends ItemFood { diff --git a/src/main/java/mods/natura/items/PlantItem.java b/src/main/java/mods/natura/items/PlantItem.java index d5e0ed6a..e017386c 100644 --- a/src/main/java/mods/natura/items/PlantItem.java +++ b/src/main/java/mods/natura/items/PlantItem.java @@ -2,10 +2,6 @@ import java.util.List; -import mods.natura.common.NCraftingItem; -import mods.natura.common.NaturaTab; -import mods.natura.common.PHNatura; - import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -15,6 +11,9 @@ import cpw.mods.fml.common.Loader; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NCraftingItem; +import mods.natura.common.NaturaTab; +import mods.natura.common.PHNatura; public class PlantItem extends NCraftingItem { diff --git a/src/main/java/mods/natura/items/SeedBag.java b/src/main/java/mods/natura/items/SeedBag.java index 71326f3b..42cd3f6b 100644 --- a/src/main/java/mods/natura/items/SeedBag.java +++ b/src/main/java/mods/natura/items/SeedBag.java @@ -2,8 +2,6 @@ import java.util.List; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -16,6 +14,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class SeedBag extends Item { diff --git a/src/main/java/mods/natura/items/SeedFood.java b/src/main/java/mods/natura/items/SeedFood.java index 254ccab7..2a3524dd 100644 --- a/src/main/java/mods/natura/items/SeedFood.java +++ b/src/main/java/mods/natura/items/SeedFood.java @@ -2,9 +2,6 @@ import java.util.List; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -18,6 +15,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; public class SeedFood extends ItemSeedFood { diff --git a/src/main/java/mods/natura/items/SpawnEgg.java b/src/main/java/mods/natura/items/SpawnEgg.java index ba8d0f40..9b92926d 100644 --- a/src/main/java/mods/natura/items/SpawnEgg.java +++ b/src/main/java/mods/natura/items/SpawnEgg.java @@ -2,12 +2,6 @@ import java.util.List; -import mods.natura.common.PHNatura; -import mods.natura.entity.BabyHeatscarSpider; -import mods.natura.entity.HeatscarSpider; -import mods.natura.entity.ImpEntity; -import mods.natura.entity.NitroCreeper; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -23,6 +17,11 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.PHNatura; +import mods.natura.entity.BabyHeatscarSpider; +import mods.natura.entity.HeatscarSpider; +import mods.natura.entity.ImpEntity; +import mods.natura.entity.NitroCreeper; public class SpawnEgg extends Item { diff --git a/src/main/java/mods/natura/items/blocks/BerryBushItem.java b/src/main/java/mods/natura/items/blocks/BerryBushItem.java index 09937eb3..effa60aa 100644 --- a/src/main/java/mods/natura/items/blocks/BerryBushItem.java +++ b/src/main/java/mods/natura/items/blocks/BerryBushItem.java @@ -2,9 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -14,6 +11,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; +import mods.natura.common.NContent; public class BerryBushItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/CloudItem.java b/src/main/java/mods/natura/items/blocks/CloudItem.java index e1503375..66baa257 100644 --- a/src/main/java/mods/natura/items/blocks/CloudItem.java +++ b/src/main/java/mods/natura/items/blocks/CloudItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; public class CloudItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/DarkTreeItem.java b/src/main/java/mods/natura/items/blocks/DarkTreeItem.java index 8dce36b4..86c291f0 100644 --- a/src/main/java/mods/natura/items/blocks/DarkTreeItem.java +++ b/src/main/java/mods/natura/items/blocks/DarkTreeItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; public class DarkTreeItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/FenceItem.java b/src/main/java/mods/natura/items/blocks/FenceItem.java index a84040c6..3e36a0d5 100644 --- a/src/main/java/mods/natura/items/blocks/FenceItem.java +++ b/src/main/java/mods/natura/items/blocks/FenceItem.java @@ -1,13 +1,12 @@ package mods.natura.items.blocks; -import mantle.blocks.abstracts.MultiItemBlock; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.util.IIcon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; +import mods.natura.common.NContent; public class FenceItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/GlowshroomItem.java b/src/main/java/mods/natura/items/blocks/GlowshroomItem.java index 8d73132a..d20c22cf 100644 --- a/src/main/java/mods/natura/items/blocks/GlowshroomItem.java +++ b/src/main/java/mods/natura/items/blocks/GlowshroomItem.java @@ -2,9 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +10,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; +import mods.natura.common.NContent; public class GlowshroomItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/GrassBlockItem.java b/src/main/java/mods/natura/items/blocks/GrassBlockItem.java index f65f131f..acb2dbe0 100644 --- a/src/main/java/mods/natura/items/blocks/GrassBlockItem.java +++ b/src/main/java/mods/natura/items/blocks/GrassBlockItem.java @@ -1,9 +1,9 @@ package mods.natura.items.blocks; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; +import mantle.blocks.abstracts.MultiItemBlock; + public class GrassBlockItem extends MultiItemBlock { public static final String blockType[] = { "grass", "bluegrass", "autumngrass" }; diff --git a/src/main/java/mods/natura/items/blocks/GrassSlabItem.java b/src/main/java/mods/natura/items/blocks/GrassSlabItem.java index b4e5781d..5cb78500 100644 --- a/src/main/java/mods/natura/items/blocks/GrassSlabItem.java +++ b/src/main/java/mods/natura/items/blocks/GrassSlabItem.java @@ -1,9 +1,9 @@ package mods.natura.items.blocks; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; +import mantle.blocks.abstracts.MultiItemBlock; + public class GrassSlabItem extends MultiItemBlock { public static final String blockType[] = { "grass", "bluegrass", "autumngrass" }; diff --git a/src/main/java/mods/natura/items/blocks/NDoorItem.java b/src/main/java/mods/natura/items/blocks/NDoorItem.java index f249540c..a85e03e0 100644 --- a/src/main/java/mods/natura/items/blocks/NDoorItem.java +++ b/src/main/java/mods/natura/items/blocks/NDoorItem.java @@ -2,9 +2,6 @@ import java.util.List; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -19,6 +16,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; public class NDoorItem extends Item { diff --git a/src/main/java/mods/natura/items/blocks/NLeavesDarkItem.java b/src/main/java/mods/natura/items/blocks/NLeavesDarkItem.java index 48d66408..f856a413 100644 --- a/src/main/java/mods/natura/items/blocks/NLeavesDarkItem.java +++ b/src/main/java/mods/natura/items/blocks/NLeavesDarkItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; public class NLeavesDarkItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/NLeavesItem.java b/src/main/java/mods/natura/items/blocks/NLeavesItem.java index 8a777377..ad7d41ad 100644 --- a/src/main/java/mods/natura/items/blocks/NLeavesItem.java +++ b/src/main/java/mods/natura/items/blocks/NLeavesItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; public class NLeavesItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/NOverrideItem.java b/src/main/java/mods/natura/items/blocks/NOverrideItem.java index eb9acfc7..4fac7ff1 100644 --- a/src/main/java/mods/natura/items/blocks/NOverrideItem.java +++ b/src/main/java/mods/natura/items/blocks/NOverrideItem.java @@ -1,11 +1,11 @@ package mods.natura.items.blocks; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemBlock; +import mods.natura.common.NaturaTab; + public class NOverrideItem extends ItemBlock { public NOverrideItem(Block i) { diff --git a/src/main/java/mods/natura/items/blocks/NSaplingItem.java b/src/main/java/mods/natura/items/blocks/NSaplingItem.java index eadd0e5c..8e5a93a4 100644 --- a/src/main/java/mods/natura/items/blocks/NSaplingItem.java +++ b/src/main/java/mods/natura/items/blocks/NSaplingItem.java @@ -2,9 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -15,6 +12,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; +import mods.natura.common.NContent; public class NSaplingItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/NetherBerryBushItem.java b/src/main/java/mods/natura/items/blocks/NetherBerryBushItem.java index e161ff08..c7dfc2e1 100644 --- a/src/main/java/mods/natura/items/blocks/NetherBerryBushItem.java +++ b/src/main/java/mods/natura/items/blocks/NetherBerryBushItem.java @@ -2,9 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -15,6 +12,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; +import mods.natura.common.NContent; public class NetherBerryBushItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/NetherGlassItem.java b/src/main/java/mods/natura/items/blocks/NetherGlassItem.java index 130daa3b..95d5e474 100644 --- a/src/main/java/mods/natura/items/blocks/NetherGlassItem.java +++ b/src/main/java/mods/natura/items/blocks/NetherGlassItem.java @@ -2,9 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +10,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; +import mods.natura.common.NContent; public class NetherGlassItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/NoColorLeavesItem.java b/src/main/java/mods/natura/items/blocks/NoColorLeavesItem.java index 31cabe87..747c7db4 100644 --- a/src/main/java/mods/natura/items/blocks/NoColorLeavesItem.java +++ b/src/main/java/mods/natura/items/blocks/NoColorLeavesItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; public class NoColorLeavesItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/OmniShapeBlockItem.java b/src/main/java/mods/natura/items/blocks/OmniShapeBlockItem.java index b1134270..5f1a2fe9 100644 --- a/src/main/java/mods/natura/items/blocks/OmniShapeBlockItem.java +++ b/src/main/java/mods/natura/items/blocks/OmniShapeBlockItem.java @@ -1,9 +1,9 @@ package mods.natura.items.blocks; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; +import mantle.blocks.abstracts.MultiItemBlock; + public class OmniShapeBlockItem extends MultiItemBlock { public static final String blockType[] = { "stair", "stair", "stair", "stair", "stair", "stair", "stair", "stair", diff --git a/src/main/java/mods/natura/items/blocks/OverworldLeavesItem.java b/src/main/java/mods/natura/items/blocks/OverworldLeavesItem.java index 8f594704..96eee0b5 100644 --- a/src/main/java/mods/natura/items/blocks/OverworldLeavesItem.java +++ b/src/main/java/mods/natura/items/blocks/OverworldLeavesItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; public class OverworldLeavesItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/OverworldSaplingItem.java b/src/main/java/mods/natura/items/blocks/OverworldSaplingItem.java index 82415c5e..2923348f 100644 --- a/src/main/java/mods/natura/items/blocks/OverworldSaplingItem.java +++ b/src/main/java/mods/natura/items/blocks/OverworldSaplingItem.java @@ -2,9 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +10,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; +import mods.natura.common.NContent; public class OverworldSaplingItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/OverworldTreeItem.java b/src/main/java/mods/natura/items/blocks/OverworldTreeItem.java index 41315e29..665b67ca 100644 --- a/src/main/java/mods/natura/items/blocks/OverworldTreeItem.java +++ b/src/main/java/mods/natura/items/blocks/OverworldTreeItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; public class OverworldTreeItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/PlankSlab1Item.java b/src/main/java/mods/natura/items/blocks/PlankSlab1Item.java index 6f804fad..8be246cb 100644 --- a/src/main/java/mods/natura/items/blocks/PlankSlab1Item.java +++ b/src/main/java/mods/natura/items/blocks/PlankSlab1Item.java @@ -2,9 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +10,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; +import mods.natura.common.NContent; public class PlankSlab1Item extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/PlankSlab2Item.java b/src/main/java/mods/natura/items/blocks/PlankSlab2Item.java index 39d75ced..2011c68a 100644 --- a/src/main/java/mods/natura/items/blocks/PlankSlab2Item.java +++ b/src/main/java/mods/natura/items/blocks/PlankSlab2Item.java @@ -2,9 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +10,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; +import mods.natura.common.NContent; public class PlankSlab2Item extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/PlanksItem.java b/src/main/java/mods/natura/items/blocks/PlanksItem.java index 90e6949c..60e9db00 100644 --- a/src/main/java/mods/natura/items/blocks/PlanksItem.java +++ b/src/main/java/mods/natura/items/blocks/PlanksItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; public class PlanksItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/RedwoodItem.java b/src/main/java/mods/natura/items/blocks/RedwoodItem.java index 17d398cd..a97acb01 100644 --- a/src/main/java/mods/natura/items/blocks/RedwoodItem.java +++ b/src/main/java/mods/natura/items/blocks/RedwoodItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; public class RedwoodItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/TreeItem.java b/src/main/java/mods/natura/items/blocks/TreeItem.java index d3ce3989..9e072dfd 100644 --- a/src/main/java/mods/natura/items/blocks/TreeItem.java +++ b/src/main/java/mods/natura/items/blocks/TreeItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; public class TreeItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/blocks/WillowItem.java b/src/main/java/mods/natura/items/blocks/WillowItem.java index a95c4040..b70b15c4 100644 --- a/src/main/java/mods/natura/items/blocks/WillowItem.java +++ b/src/main/java/mods/natura/items/blocks/WillowItem.java @@ -2,8 +2,6 @@ import java.util.List; -import mantle.blocks.abstracts.MultiItemBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mantle.blocks.abstracts.MultiItemBlock; public class WillowItem extends MultiItemBlock { diff --git a/src/main/java/mods/natura/items/tools/FusewoodBow.java b/src/main/java/mods/natura/items/tools/FusewoodBow.java index b20d3a02..f66165fb 100644 --- a/src/main/java/mods/natura/items/tools/FusewoodBow.java +++ b/src/main/java/mods/natura/items/tools/FusewoodBow.java @@ -1,7 +1,5 @@ package mods.natura.items.tools; -import mods.natura.entity.FusewoodArrow; - import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; @@ -11,6 +9,8 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; +import mods.natura.entity.FusewoodArrow; + public class FusewoodBow extends NaturaBow { public FusewoodBow(int damage, String type) { diff --git a/src/main/java/mods/natura/items/tools/NaturaArmor.java b/src/main/java/mods/natura/items/tools/NaturaArmor.java index 749402e0..8a428b8b 100644 --- a/src/main/java/mods/natura/items/tools/NaturaArmor.java +++ b/src/main/java/mods/natura/items/tools/NaturaArmor.java @@ -2,9 +2,6 @@ import java.util.List; -import mods.natura.common.NContent; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; @@ -14,6 +11,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NContent; +import mods.natura.common.NaturaTab; public class NaturaArmor extends ItemArmor { diff --git a/src/main/java/mods/natura/items/tools/NaturaBow.java b/src/main/java/mods/natura/items/tools/NaturaBow.java index b4d6c222..c77ac83f 100644 --- a/src/main/java/mods/natura/items/tools/NaturaBow.java +++ b/src/main/java/mods/natura/items/tools/NaturaBow.java @@ -1,7 +1,5 @@ package mods.natura.items.tools; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBow; @@ -10,6 +8,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NaturaBow extends ItemBow { diff --git a/src/main/java/mods/natura/items/tools/NaturaHatchet.java b/src/main/java/mods/natura/items/tools/NaturaHatchet.java index 3d625756..e4cf6896 100644 --- a/src/main/java/mods/natura/items/tools/NaturaHatchet.java +++ b/src/main/java/mods/natura/items/tools/NaturaHatchet.java @@ -1,12 +1,11 @@ package mods.natura.items.tools; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemAxe; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NaturaHatchet extends ItemAxe { diff --git a/src/main/java/mods/natura/items/tools/NaturaKama.java b/src/main/java/mods/natura/items/tools/NaturaKama.java index 1fbc6a90..35fde09c 100644 --- a/src/main/java/mods/natura/items/tools/NaturaKama.java +++ b/src/main/java/mods/natura/items/tools/NaturaKama.java @@ -4,8 +4,6 @@ import java.util.List; import java.util.Random; -import mods.natura.common.NaturaTab; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.Enchantment; @@ -24,6 +22,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NaturaKama extends ItemSword { diff --git a/src/main/java/mods/natura/items/tools/NaturaPickaxe.java b/src/main/java/mods/natura/items/tools/NaturaPickaxe.java index d1fd270f..4ec944d3 100644 --- a/src/main/java/mods/natura/items/tools/NaturaPickaxe.java +++ b/src/main/java/mods/natura/items/tools/NaturaPickaxe.java @@ -1,12 +1,11 @@ package mods.natura.items.tools; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemPickaxe; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NaturaPickaxe extends ItemPickaxe { diff --git a/src/main/java/mods/natura/items/tools/NaturaShovel.java b/src/main/java/mods/natura/items/tools/NaturaShovel.java index fd816132..23102a6a 100644 --- a/src/main/java/mods/natura/items/tools/NaturaShovel.java +++ b/src/main/java/mods/natura/items/tools/NaturaShovel.java @@ -1,12 +1,11 @@ package mods.natura.items.tools; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemSpade; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NaturaShovel extends ItemSpade { diff --git a/src/main/java/mods/natura/items/tools/NaturaSword.java b/src/main/java/mods/natura/items/tools/NaturaSword.java index fcd9f2ca..261964f9 100644 --- a/src/main/java/mods/natura/items/tools/NaturaSword.java +++ b/src/main/java/mods/natura/items/tools/NaturaSword.java @@ -1,12 +1,11 @@ package mods.natura.items.tools; -import mods.natura.common.NaturaTab; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemSword; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import mods.natura.common.NaturaTab; public class NaturaSword extends ItemSword { diff --git a/src/main/java/mods/natura/plugins/fmp/FMPPulse.java b/src/main/java/mods/natura/plugins/fmp/FMPPulse.java index f2244f09..79a8ac9a 100644 --- a/src/main/java/mods/natura/plugins/fmp/FMPPulse.java +++ b/src/main/java/mods/natura/plugins/fmp/FMPPulse.java @@ -1,9 +1,9 @@ package mods.natura.plugins.fmp; +import cpw.mods.fml.common.event.FMLInitializationEvent; import mantle.pulsar.pulse.Handler; import mantle.pulsar.pulse.Pulse; import mods.natura.Natura; -import cpw.mods.fml.common.event.FMLInitializationEvent; @Pulse(id = "Natura FMP Compatibility", modsRequired = ForgeMultiPart.modId) public class FMPPulse { diff --git a/src/main/java/mods/natura/plugins/fmp/ForgeMultiPart.java b/src/main/java/mods/natura/plugins/fmp/ForgeMultiPart.java index d1e89d50..7af96dbf 100644 --- a/src/main/java/mods/natura/plugins/fmp/ForgeMultiPart.java +++ b/src/main/java/mods/natura/plugins/fmp/ForgeMultiPart.java @@ -1,11 +1,10 @@ package mods.natura.plugins.fmp; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import codechicken.microblock.BlockMicroMaterial; import codechicken.microblock.MicroMaterialRegistry; +import mods.natura.common.NContent; public class ForgeMultiPart { diff --git a/src/main/java/mods/natura/plugins/imc/BuildCraftPulse.java b/src/main/java/mods/natura/plugins/imc/BuildCraftPulse.java index cdeb60db..a5bf2f45 100644 --- a/src/main/java/mods/natura/plugins/imc/BuildCraftPulse.java +++ b/src/main/java/mods/natura/plugins/imc/BuildCraftPulse.java @@ -1,15 +1,14 @@ package mods.natura.plugins.imc; -import mantle.pulsar.pulse.Handler; -import mantle.pulsar.pulse.Pulse; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; - import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLInterModComms; +import mantle.pulsar.pulse.Handler; +import mantle.pulsar.pulse.Pulse; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; @Pulse(id = "Natura BuildCraft Compatibility", modsRequired = BuildCraftPulse.modId) public class BuildCraftPulse { diff --git a/src/main/java/mods/natura/plugins/imc/ForestryPulse.java b/src/main/java/mods/natura/plugins/imc/ForestryPulse.java index ee8137ee..4bd54c23 100644 --- a/src/main/java/mods/natura/plugins/imc/ForestryPulse.java +++ b/src/main/java/mods/natura/plugins/imc/ForestryPulse.java @@ -1,8 +1,8 @@ package mods.natura.plugins.imc; +import cpw.mods.fml.common.event.FMLInitializationEvent; import mantle.pulsar.pulse.Handler; import mantle.pulsar.pulse.Pulse; -import cpw.mods.fml.common.event.FMLInitializationEvent; @Pulse(id = "Natura Forestry Compatibility", modsRequired = ForestryPulse.modId) public class ForestryPulse { diff --git a/src/main/java/mods/natura/plugins/imc/TreeCapitatorPulse.java b/src/main/java/mods/natura/plugins/imc/TreeCapitatorPulse.java index 4d8414f5..4196313b 100644 --- a/src/main/java/mods/natura/plugins/imc/TreeCapitatorPulse.java +++ b/src/main/java/mods/natura/plugins/imc/TreeCapitatorPulse.java @@ -1,9 +1,5 @@ package mods.natura.plugins.imc; -import mantle.pulsar.pulse.Handler; -import mantle.pulsar.pulse.Pulse; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.nbt.NBTTagCompound; @@ -12,6 +8,9 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLInterModComms; import cpw.mods.fml.common.registry.GameData; +import mantle.pulsar.pulse.Handler; +import mantle.pulsar.pulse.Pulse; +import mods.natura.common.NContent; @Pulse(id = "Natura TreeCapitator Compatibility", modsRequired = TreeCapitatorPulse.modId) public class TreeCapitatorPulse { diff --git a/src/main/java/mods/natura/plugins/minefactoryreloaded/MFRPulse.java b/src/main/java/mods/natura/plugins/minefactoryreloaded/MFRPulse.java index 9c47d026..4b78fa9f 100644 --- a/src/main/java/mods/natura/plugins/minefactoryreloaded/MFRPulse.java +++ b/src/main/java/mods/natura/plugins/minefactoryreloaded/MFRPulse.java @@ -1,9 +1,9 @@ package mods.natura.plugins.minefactoryreloaded; +import cpw.mods.fml.common.event.FMLInitializationEvent; import mantle.pulsar.pulse.Handler; import mantle.pulsar.pulse.Pulse; import mods.natura.Natura; -import cpw.mods.fml.common.event.FMLInitializationEvent; @Pulse(id = "Natura MFR Compatibility", modsRequired = MFRPulse.modId) public class MFRPulse { diff --git a/src/main/java/mods/natura/plugins/minefactoryreloaded/MRFRegistering.java b/src/main/java/mods/natura/plugins/minefactoryreloaded/MRFRegistering.java index acc71e8a..eb5a9997 100644 --- a/src/main/java/mods/natura/plugins/minefactoryreloaded/MRFRegistering.java +++ b/src/main/java/mods/natura/plugins/minefactoryreloaded/MRFRegistering.java @@ -1,5 +1,9 @@ package mods.natura.plugins.minefactoryreloaded; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + import mods.natura.common.NContent; import mods.natura.common.PHNatura; import mods.natura.plugins.minefactoryreloaded.fertilizables.FertilizableNaturaCrop; @@ -12,11 +16,6 @@ import mods.natura.plugins.minefactoryreloaded.plantables.PlantableNaturaCrop; import mods.natura.plugins.minefactoryreloaded.plantables.PlantableNaturaNetherBerry; import mods.natura.plugins.minefactoryreloaded.plantables.PlantableStandard; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - import powercrystals.minefactoryreloaded.api.FactoryRegistry; import powercrystals.minefactoryreloaded.api.HarvestType; diff --git a/src/main/java/mods/natura/plugins/minefactoryreloaded/harvestables/HarvestableNaturaTreeLeaves.java b/src/main/java/mods/natura/plugins/minefactoryreloaded/harvestables/HarvestableNaturaTreeLeaves.java index 33d65ce9..c36175a1 100644 --- a/src/main/java/mods/natura/plugins/minefactoryreloaded/harvestables/HarvestableNaturaTreeLeaves.java +++ b/src/main/java/mods/natura/plugins/minefactoryreloaded/harvestables/HarvestableNaturaTreeLeaves.java @@ -9,10 +9,10 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import powercrystals.minefactoryreloaded.api.HarvestType; - import com.google.common.collect.Lists; +import powercrystals.minefactoryreloaded.api.HarvestType; + public class HarvestableNaturaTreeLeaves extends HarvestableStandard { public HarvestableNaturaTreeLeaves(Block id) { diff --git a/src/main/java/mods/natura/plugins/minefactoryreloaded/plantables/PlantableNaturaBerry.java b/src/main/java/mods/natura/plugins/minefactoryreloaded/plantables/PlantableNaturaBerry.java index 4961ec1d..25fa8e6a 100644 --- a/src/main/java/mods/natura/plugins/minefactoryreloaded/plantables/PlantableNaturaBerry.java +++ b/src/main/java/mods/natura/plugins/minefactoryreloaded/plantables/PlantableNaturaBerry.java @@ -1,7 +1,5 @@ package mods.natura.plugins.minefactoryreloaded.plantables; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -9,6 +7,8 @@ import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.util.ForgeDirection; +import mods.natura.common.NContent; + public class PlantableNaturaBerry extends PlantableStandard { public PlantableNaturaBerry(Item sourceId, Block plantedBlockId) { diff --git a/src/main/java/mods/natura/plugins/minefactoryreloaded/plantables/PlantableNaturaNetherBerry.java b/src/main/java/mods/natura/plugins/minefactoryreloaded/plantables/PlantableNaturaNetherBerry.java index 67cb2ded..75019cc3 100644 --- a/src/main/java/mods/natura/plugins/minefactoryreloaded/plantables/PlantableNaturaNetherBerry.java +++ b/src/main/java/mods/natura/plugins/minefactoryreloaded/plantables/PlantableNaturaNetherBerry.java @@ -1,7 +1,5 @@ package mods.natura.plugins.minefactoryreloaded.plantables; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.Item; @@ -10,6 +8,8 @@ import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.util.ForgeDirection; +import mods.natura.common.NContent; + public class PlantableNaturaNetherBerry extends PlantableStandard { public PlantableNaturaNetherBerry(Item sourceId, Block plantedBlockId) { diff --git a/src/main/java/mods/natura/plugins/nei/NEIPulse.java b/src/main/java/mods/natura/plugins/nei/NEIPulse.java index 0bf1160b..63e1769d 100644 --- a/src/main/java/mods/natura/plugins/nei/NEIPulse.java +++ b/src/main/java/mods/natura/plugins/nei/NEIPulse.java @@ -1,10 +1,10 @@ package mods.natura.plugins.nei; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.event.FMLInitializationEvent; import mantle.pulsar.pulse.Handler; import mantle.pulsar.pulse.Pulse; import mods.natura.Natura; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.event.FMLInitializationEvent; @Pulse(id = "Natura NEI Compatibility", modsRequired = NEIPulse.modId) public class NEIPulse { diff --git a/src/main/java/mods/natura/plugins/nei/NotEnoughItems.java b/src/main/java/mods/natura/plugins/nei/NotEnoughItems.java index be2aacc7..6a6fb2f9 100644 --- a/src/main/java/mods/natura/plugins/nei/NotEnoughItems.java +++ b/src/main/java/mods/natura/plugins/nei/NotEnoughItems.java @@ -1,15 +1,14 @@ package mods.natura.plugins.nei; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; -import mods.natura.gui.WorkbenchGui; - import net.minecraft.item.ItemStack; import codechicken.nei.api.API; import codechicken.nei.recipe.DefaultOverlayHandler; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; +import mods.natura.gui.WorkbenchGui; public class NotEnoughItems { diff --git a/src/main/java/mods/natura/plugins/te4/TE4Pulse.java b/src/main/java/mods/natura/plugins/te4/TE4Pulse.java index d4b89dc8..0e1110a9 100644 --- a/src/main/java/mods/natura/plugins/te4/TE4Pulse.java +++ b/src/main/java/mods/natura/plugins/te4/TE4Pulse.java @@ -3,13 +3,6 @@ import java.util.Arrays; import java.util.List; -import mantle.pulsar.pulse.Handler; -import mantle.pulsar.pulse.Pulse; -import mods.natura.blocks.trees.Planks; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; -import mods.natura.items.blocks.NDoorItem; - import net.minecraft.block.Block; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -18,6 +11,12 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLInterModComms; import cpw.mods.fml.common.registry.GameRegistry; +import mantle.pulsar.pulse.Handler; +import mantle.pulsar.pulse.Pulse; +import mods.natura.blocks.trees.Planks; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; +import mods.natura.items.blocks.NDoorItem; @Pulse(id = "Natura TE4 Compatibility", modsRequired = TE4Pulse.modId) public class TE4Pulse { diff --git a/src/main/java/mods/natura/plugins/thaumcraft/ThaumcraftPulse.java b/src/main/java/mods/natura/plugins/thaumcraft/ThaumcraftPulse.java index 213c1e83..dfd61000 100644 --- a/src/main/java/mods/natura/plugins/thaumcraft/ThaumcraftPulse.java +++ b/src/main/java/mods/natura/plugins/thaumcraft/ThaumcraftPulse.java @@ -1,19 +1,18 @@ package mods.natura.plugins.thaumcraft; +import net.minecraft.item.ItemStack; + +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLInterModComms; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; import mantle.pulsar.pulse.Handler; import mantle.pulsar.pulse.Pulse; import mods.natura.Natura; import mods.natura.common.NContent; import mods.natura.common.PHNatura; - -import net.minecraft.item.ItemStack; - import thaumcraft.api.ThaumcraftApi; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLInterModComms; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; @Pulse(id = "Natura Thaumcraft Compatibility", modsRequired = ThaumcraftPulse.modId) public class ThaumcraftPulse { diff --git a/src/main/java/mods/natura/plugins/waila/NaturaCropDataProvider.java b/src/main/java/mods/natura/plugins/waila/NaturaCropDataProvider.java index 00566072..568b0c31 100644 --- a/src/main/java/mods/natura/plugins/waila/NaturaCropDataProvider.java +++ b/src/main/java/mods/natura/plugins/waila/NaturaCropDataProvider.java @@ -2,11 +2,6 @@ import java.util.List; -import mcp.mobius.waila.api.IWailaConfigHandler; -import mcp.mobius.waila.api.IWailaDataAccessor; -import mcp.mobius.waila.api.IWailaDataProvider; -import mods.natura.blocks.crops.CropBlock; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; @@ -15,6 +10,11 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; +import mcp.mobius.waila.api.IWailaConfigHandler; +import mcp.mobius.waila.api.IWailaDataAccessor; +import mcp.mobius.waila.api.IWailaDataProvider; +import mods.natura.blocks.crops.CropBlock; + public class NaturaCropDataProvider implements IWailaDataProvider { @Override diff --git a/src/main/java/mods/natura/plugins/waila/WailaPulse.java b/src/main/java/mods/natura/plugins/waila/WailaPulse.java index be6b3e5c..8d655014 100644 --- a/src/main/java/mods/natura/plugins/waila/WailaPulse.java +++ b/src/main/java/mods/natura/plugins/waila/WailaPulse.java @@ -1,10 +1,10 @@ package mods.natura.plugins.waila; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLInterModComms; import mantle.pulsar.pulse.Handler; import mantle.pulsar.pulse.Pulse; import mods.natura.Natura; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLInterModComms; @Pulse(id = "Natura Waila Compatibility", modsRequired = WailaPulse.modId) public class WailaPulse { diff --git a/src/main/java/mods/natura/util/DispenserBehaviorSpawnEgg.java b/src/main/java/mods/natura/util/DispenserBehaviorSpawnEgg.java index 9ecb0257..438be50d 100644 --- a/src/main/java/mods/natura/util/DispenserBehaviorSpawnEgg.java +++ b/src/main/java/mods/natura/util/DispenserBehaviorSpawnEgg.java @@ -1,7 +1,5 @@ package mods.natura.util; -import mods.natura.items.SpawnEgg; - import net.minecraft.block.BlockDispenser; import net.minecraft.dispenser.BehaviorDefaultDispenseItem; import net.minecraft.dispenser.IBlockSource; @@ -9,6 +7,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; +import mods.natura.items.SpawnEgg; + public class DispenserBehaviorSpawnEgg extends BehaviorDefaultDispenseItem { /** diff --git a/src/main/java/mods/natura/util/Util.java b/src/main/java/mods/natura/util/Util.java new file mode 100644 index 00000000..1c5c5de2 --- /dev/null +++ b/src/main/java/mods/natura/util/Util.java @@ -0,0 +1,14 @@ +package mods.natura.util; + +public class Util { + + public static T getWithFallback(T[] array, int index) { + if (array == null || array.length == 0) { + throw new IllegalArgumentException("Cannot fallback to array[0]"); + } + if (index >= 0 && index < array.length) { + return array[index]; + } + return array[0]; + } +} diff --git a/src/main/java/mods/natura/worldgen/BaseCloudWorldgen.java b/src/main/java/mods/natura/worldgen/BaseCloudWorldgen.java index 734c0537..1898d938 100644 --- a/src/main/java/mods/natura/worldgen/BaseCloudWorldgen.java +++ b/src/main/java/mods/natura/worldgen/BaseCloudWorldgen.java @@ -2,15 +2,14 @@ import java.util.Random; -import mods.natura.Natura; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; - import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.IChunkProvider; import cpw.mods.fml.common.IWorldGenerator; +import mods.natura.Natura; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; /* * Generates clouds in every dimension Current clouds: Normal, Dark, Sulfur, Ash Overworld: Normal Nether: Sulfur, Ash diff --git a/src/main/java/mods/natura/worldgen/BaseCropWorldgen.java b/src/main/java/mods/natura/worldgen/BaseCropWorldgen.java index 29d8ea5c..ce04d87a 100644 --- a/src/main/java/mods/natura/worldgen/BaseCropWorldgen.java +++ b/src/main/java/mods/natura/worldgen/BaseCropWorldgen.java @@ -2,16 +2,15 @@ import java.util.Random; -import mods.natura.Natura; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; - import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.IChunkProvider; import cpw.mods.fml.common.IWorldGenerator; +import mods.natura.Natura; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; /* * Adds crops to the overworld Current crops: Barley, Berry bushes diff --git a/src/main/java/mods/natura/worldgen/BaseTreeWorldgen.java b/src/main/java/mods/natura/worldgen/BaseTreeWorldgen.java index cb43e688..8cf16267 100644 --- a/src/main/java/mods/natura/worldgen/BaseTreeWorldgen.java +++ b/src/main/java/mods/natura/worldgen/BaseTreeWorldgen.java @@ -2,10 +2,6 @@ import java.util.Random; -import mods.natura.Natura; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; @@ -13,6 +9,9 @@ import net.minecraft.world.gen.feature.WorldGenerator; import cpw.mods.fml.common.IWorldGenerator; +import mods.natura.Natura; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; public class BaseTreeWorldgen implements IWorldGenerator { diff --git a/src/main/java/mods/natura/worldgen/BerryBushGen.java b/src/main/java/mods/natura/worldgen/BerryBushGen.java index 140f50ac..aee78005 100644 --- a/src/main/java/mods/natura/worldgen/BerryBushGen.java +++ b/src/main/java/mods/natura/worldgen/BerryBushGen.java @@ -2,14 +2,14 @@ import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; + public class BerryBushGen extends WorldGenerator { private int metadata; diff --git a/src/main/java/mods/natura/worldgen/BloodTreeLargeGen.java b/src/main/java/mods/natura/worldgen/BloodTreeLargeGen.java index 172d3d05..6bd1cbc5 100644 --- a/src/main/java/mods/natura/worldgen/BloodTreeLargeGen.java +++ b/src/main/java/mods/natura/worldgen/BloodTreeLargeGen.java @@ -2,13 +2,13 @@ import java.util.Random; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import mods.natura.common.NContent; + public class BloodTreeLargeGen extends WorldGenerator { private int mdWood; diff --git a/src/main/java/mods/natura/worldgen/BushTreeGen.java b/src/main/java/mods/natura/worldgen/BushTreeGen.java index 10cc4cf7..3968234a 100644 --- a/src/main/java/mods/natura/worldgen/BushTreeGen.java +++ b/src/main/java/mods/natura/worldgen/BushTreeGen.java @@ -2,14 +2,14 @@ import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; + public class BushTreeGen extends WorldGenerator { /** The base height of the tree */ diff --git a/src/main/java/mods/natura/worldgen/DarkwoodGen.java b/src/main/java/mods/natura/worldgen/DarkwoodGen.java index 5503ccc9..d52e03fa 100644 --- a/src/main/java/mods/natura/worldgen/DarkwoodGen.java +++ b/src/main/java/mods/natura/worldgen/DarkwoodGen.java @@ -2,15 +2,15 @@ import java.util.Random; -import mods.natura.blocks.trees.NSaplingBlock; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.common.util.ForgeDirection; +import mods.natura.blocks.trees.NSaplingBlock; +import mods.natura.common.NContent; + public class DarkwoodGen extends WorldGenerator { /** The minimum height of a generated tree. */ diff --git a/src/main/java/mods/natura/worldgen/EucalyptusTreeGenShort.java b/src/main/java/mods/natura/worldgen/EucalyptusTreeGenShort.java index b03a19ff..ef44e589 100644 --- a/src/main/java/mods/natura/worldgen/EucalyptusTreeGenShort.java +++ b/src/main/java/mods/natura/worldgen/EucalyptusTreeGenShort.java @@ -2,13 +2,13 @@ import java.util.Random; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import mods.natura.common.NContent; + public class EucalyptusTreeGenShort extends WorldGenerator { private int mdWood; diff --git a/src/main/java/mods/natura/worldgen/FusewoodGen.java b/src/main/java/mods/natura/worldgen/FusewoodGen.java index b070d6d0..9f60b8ed 100644 --- a/src/main/java/mods/natura/worldgen/FusewoodGen.java +++ b/src/main/java/mods/natura/worldgen/FusewoodGen.java @@ -2,15 +2,15 @@ import java.util.Random; -import mods.natura.blocks.trees.NSaplingBlock; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.common.util.ForgeDirection; +import mods.natura.blocks.trees.NSaplingBlock; +import mods.natura.common.NContent; + public class FusewoodGen extends WorldGenerator { /** The minimum height of a generated tree. */ diff --git a/src/main/java/mods/natura/worldgen/GlowshroomGenBlueGreen.java b/src/main/java/mods/natura/worldgen/GlowshroomGenBlueGreen.java index a3949df2..34c62e31 100644 --- a/src/main/java/mods/natura/worldgen/GlowshroomGenBlueGreen.java +++ b/src/main/java/mods/natura/worldgen/GlowshroomGenBlueGreen.java @@ -2,13 +2,13 @@ import java.util.Random; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import mods.natura.common.NContent; + public class GlowshroomGenBlueGreen extends WorldGenerator { int mushroomType = -1; diff --git a/src/main/java/mods/natura/worldgen/GlowshroomGenPurple.java b/src/main/java/mods/natura/worldgen/GlowshroomGenPurple.java index b7958ffa..5aecc539 100644 --- a/src/main/java/mods/natura/worldgen/GlowshroomGenPurple.java +++ b/src/main/java/mods/natura/worldgen/GlowshroomGenPurple.java @@ -2,13 +2,13 @@ import java.util.Random; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import mods.natura.common.NContent; + public class GlowshroomGenPurple extends WorldGenerator { public GlowshroomGenPurple(boolean flag) { diff --git a/src/main/java/mods/natura/worldgen/NetherBerryBushGen.java b/src/main/java/mods/natura/worldgen/NetherBerryBushGen.java index 9aa661b3..92e8ac95 100644 --- a/src/main/java/mods/natura/worldgen/NetherBerryBushGen.java +++ b/src/main/java/mods/natura/worldgen/NetherBerryBushGen.java @@ -2,8 +2,6 @@ import java.util.Random; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; @@ -11,6 +9,8 @@ import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.util.ForgeDirection; +import mods.natura.common.NContent; + public class NetherBerryBushGen extends WorldGenerator { private Block blockGen; diff --git a/src/main/java/mods/natura/worldgen/RareTreeGen.java b/src/main/java/mods/natura/worldgen/RareTreeGen.java index f6386176..cfb20676 100644 --- a/src/main/java/mods/natura/worldgen/RareTreeGen.java +++ b/src/main/java/mods/natura/worldgen/RareTreeGen.java @@ -2,15 +2,15 @@ import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.common.util.ForgeDirection; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; + public class RareTreeGen extends WorldGenerator { public final int minTreeHeight; diff --git a/src/main/java/mods/natura/worldgen/RedwoodTreeGen.java b/src/main/java/mods/natura/worldgen/RedwoodTreeGen.java index ce421c8a..1dcf5690 100644 --- a/src/main/java/mods/natura/worldgen/RedwoodTreeGen.java +++ b/src/main/java/mods/natura/worldgen/RedwoodTreeGen.java @@ -2,15 +2,15 @@ import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; + public class RedwoodTreeGen extends WorldGenerator { /* diff --git a/src/main/java/mods/natura/worldgen/SaguaroGen.java b/src/main/java/mods/natura/worldgen/SaguaroGen.java index 511966bb..ac4c1dce 100644 --- a/src/main/java/mods/natura/worldgen/SaguaroGen.java +++ b/src/main/java/mods/natura/worldgen/SaguaroGen.java @@ -2,8 +2,6 @@ import java.util.Random; -import mods.natura.common.PHNatura; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; @@ -11,6 +9,8 @@ import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.util.ForgeDirection; +import mods.natura.common.PHNatura; + public class SaguaroGen extends WorldGenerator { boolean useHeight; diff --git a/src/main/java/mods/natura/worldgen/SakuraTreeGen.java b/src/main/java/mods/natura/worldgen/SakuraTreeGen.java index 129cd9fb..7eae7f36 100644 --- a/src/main/java/mods/natura/worldgen/SakuraTreeGen.java +++ b/src/main/java/mods/natura/worldgen/SakuraTreeGen.java @@ -2,9 +2,6 @@ import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; - import net.minecraft.block.Block; import net.minecraft.block.BlockSapling; import net.minecraft.init.Blocks; @@ -13,6 +10,9 @@ import net.minecraft.world.gen.feature.WorldGenAbstractTree; import net.minecraftforge.common.util.ForgeDirection; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; + public class SakuraTreeGen extends WorldGenAbstractTree { static final byte[] otherCoordPairs = new byte[] { (byte) 2, (byte) 0, (byte) 0, (byte) 1, (byte) 2, (byte) 1 }; diff --git a/src/main/java/mods/natura/worldgen/WhiteTreeGen.java b/src/main/java/mods/natura/worldgen/WhiteTreeGen.java index 444f3a9b..4b2b11a1 100644 --- a/src/main/java/mods/natura/worldgen/WhiteTreeGen.java +++ b/src/main/java/mods/natura/worldgen/WhiteTreeGen.java @@ -2,8 +2,6 @@ import java.util.Random; -import mods.natura.common.NContent; - import net.minecraft.block.Block; import net.minecraft.block.BlockSapling; import net.minecraft.init.Blocks; @@ -12,6 +10,8 @@ import net.minecraft.world.gen.feature.WorldGenAbstractTree; import net.minecraftforge.common.util.ForgeDirection; +import mods.natura.common.NContent; + public class WhiteTreeGen extends WorldGenAbstractTree { // JAVADOC FIELD $$ field_76507_a diff --git a/src/main/java/mods/natura/worldgen/WillowGen.java b/src/main/java/mods/natura/worldgen/WillowGen.java index 95b7a278..d7ff17d4 100644 --- a/src/main/java/mods/natura/worldgen/WillowGen.java +++ b/src/main/java/mods/natura/worldgen/WillowGen.java @@ -2,15 +2,15 @@ import java.util.Random; -import mods.natura.common.NContent; -import mods.natura.common.PHNatura; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import mods.natura.common.NContent; +import mods.natura.common.PHNatura; + public class WillowGen extends WorldGenerator { public final boolean seekHeight; diff --git a/src/main/java/mods/natura/worldgen/retro/TickHandlerWorld.java b/src/main/java/mods/natura/worldgen/retro/TickHandlerWorld.java index c507e491..4762a8b5 100644 --- a/src/main/java/mods/natura/worldgen/retro/TickHandlerWorld.java +++ b/src/main/java/mods/natura/worldgen/retro/TickHandlerWorld.java @@ -4,14 +4,13 @@ import java.util.HashMap; import java.util.Random; -import mantle.world.ChunkCoord; - import net.minecraft.world.World; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent.Phase; import cpw.mods.fml.common.gameevent.TickEvent.Type; import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent; +import mantle.world.ChunkCoord; public class TickHandlerWorld { diff --git a/src/main/java/mods/natura/worldgen/retro/WorldHandler.java b/src/main/java/mods/natura/worldgen/retro/WorldHandler.java index 5b0f3af2..c5ab43bb 100644 --- a/src/main/java/mods/natura/worldgen/retro/WorldHandler.java +++ b/src/main/java/mods/natura/worldgen/retro/WorldHandler.java @@ -4,15 +4,14 @@ import java.util.HashSet; import java.util.Random; -import mantle.world.ChunkCoord; -import mods.natura.Natura; -import mods.natura.worldgen.BaseTreeWorldgen; - import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraftforge.event.world.ChunkDataEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import mantle.world.ChunkCoord; +import mods.natura.Natura; +import mods.natura.worldgen.BaseTreeWorldgen; public class WorldHandler {