diff --git a/build.gradle b/build.gradle index fe8a2e7..17e7501 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1675110695 +//version: 1682616243 /* 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,23 @@ 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.7' } 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 +126,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 +150,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 +198,32 @@ 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' 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 +235,7 @@ if (enableModernJavaSyntax.toBoolean()) { javaCompiler.set(javaToolchains.compilerFor { languageVersion.set(JavaLanguageVersion.of(17)) - vendor.set(JvmVendorSpec.ADOPTIUM) + vendor.set(JvmVendorSpec.AZUL) }) } } @@ -234,12 +267,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 +402,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 +438,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 +477,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 +524,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 +562,49 @@ repositories { } } +def mixinProviderGroup = "io.github.legacymoddingmc" +def mixinProviderModule = "unimixins" +def mixinProviderVersion = "0.1.6" +def mixinProviderSpecNoClassifer = "${mixinProviderGroup}:${mixinProviderModule}:${mixinProviderVersion}" +def mixinProviderSpec = "${mixinProviderSpecNoClassifer}:dev" + 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,9 +700,146 @@ 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) + } +} + +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() { def manifestAttributes = [:] if (!containsMixinsAndOrCoreModOnly.toBoolean() && (usesMixins.toBoolean() || coreModClass)) { @@ -667,11 +871,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 +885,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 +905,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 +943,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 +967,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 +998,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 +1009,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 +1021,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 +1141,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 +1185,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 +1219,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 +1246,9 @@ 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") + } } } @@ -1101,7 +1389,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 +1431,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 +1439,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 +1447,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 a7ff23d..da6e08b 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,9 +2,11 @@ dependencies { compile('com.github.GTNewHorizons:ForestryMC:4.6.6:dev') - compile('com.github.GTNewHorizons:Baubles:1.0.1.14:dev') + compileOnly('com.github.GTNewHorizons:BloodMagic:1.4.0:dev') + compileOnly('com.github.GTNewHorizons:Baubles:1.0.1.16:dev') {transitive = false} compileOnly('com.github.GTNewHorizons:Botania:1.9.17-GTNH:api') {transitive = false} compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev') {transitive = false} + } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index ccebba7..943f0cb 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 f398c33..37aef8d 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/gradlew b/gradlew index 79a61d4..65dcd68 100755 --- a/gradlew +++ b/gradlew @@ -144,7 +144,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +152,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac diff --git a/src/main/java/magicbees/bees/Allele.java b/src/main/java/magicbees/bees/Allele.java index ea33ad1..2bfc752 100644 --- a/src/main/java/magicbees/bees/Allele.java +++ b/src/main/java/magicbees/bees/Allele.java @@ -1,5 +1,17 @@ package magicbees.bees; +import net.minecraft.potion.Potion; + +import forestry.api.apiculture.EnumBeeChromosome; +import forestry.api.apiculture.IAlleleBeeEffect; +import forestry.api.apiculture.IAlleleBeeSpecies; +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IAlleleEffect; +import forestry.api.genetics.IAlleleFlowers; +import forestry.api.genetics.IAlleleRegistry; +import forestry.api.genetics.IChromosomeType; +import forestry.api.genetics.IFlowerProvider; import magicbees.api.MagicBeesAPI; import magicbees.bees.allele.effect.AlleleEffectCrumbling; import magicbees.bees.allele.effect.AlleleEffectCure; @@ -27,20 +39,7 @@ import magicbees.main.utils.compat.ArsMagicaHelper; import magicbees.main.utils.compat.BotaniaHelper; import magicbees.main.utils.compat.ThaumcraftHelper; import magicbees.main.utils.compat.ThermalModsHelper; - -import net.minecraft.potion.Potion; - import thaumcraft.api.nodes.NodeType; -import forestry.api.apiculture.EnumBeeChromosome; -import forestry.api.apiculture.IAlleleBeeEffect; -import forestry.api.apiculture.IAlleleBeeSpecies; -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IAlleleEffect; -import forestry.api.genetics.IAlleleFlowers; -import forestry.api.genetics.IAlleleRegistry; -import forestry.api.genetics.IChromosomeType; -import forestry.api.genetics.IFlowerProvider; public class Allele implements IAllele { diff --git a/src/main/java/magicbees/bees/BeeClassification.java b/src/main/java/magicbees/bees/BeeClassification.java index a715c42..d22e5dc 100644 --- a/src/main/java/magicbees/bees/BeeClassification.java +++ b/src/main/java/magicbees/bees/BeeClassification.java @@ -2,10 +2,10 @@ package magicbees.bees; import java.util.ArrayList; -import magicbees.main.utils.LocalizationManager; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IClassification; +import magicbees.main.utils.LocalizationManager; public enum BeeClassification implements IClassification { diff --git a/src/main/java/magicbees/bees/BeeGenomeManager.java b/src/main/java/magicbees/bees/BeeGenomeManager.java index d0fb2fa..7ce2f7e 100644 --- a/src/main/java/magicbees/bees/BeeGenomeManager.java +++ b/src/main/java/magicbees/bees/BeeGenomeManager.java @@ -1,8 +1,5 @@ package magicbees.bees; -import magicbees.main.utils.ItemInterface; -import magicbees.main.utils.compat.ExtraBeesHelper; - import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; @@ -10,6 +7,8 @@ import net.minecraft.nbt.NBTTagList; import forestry.api.apiculture.EnumBeeChromosome; import forestry.api.apiculture.EnumBeeType; import forestry.api.genetics.IAllele; +import magicbees.main.utils.ItemInterface; +import magicbees.main.utils.compat.ExtraBeesHelper; /** * Simply a class to hold all the functions to manage species' default genomes. diff --git a/src/main/java/magicbees/bees/BeeIconProvider.java b/src/main/java/magicbees/bees/BeeIconProvider.java index 0d6ddd6..f599cde 100644 --- a/src/main/java/magicbees/bees/BeeIconProvider.java +++ b/src/main/java/magicbees/bees/BeeIconProvider.java @@ -2,8 +2,6 @@ package magicbees.bees; import java.util.Locale; -import magicbees.main.CommonProxy; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; @@ -11,6 +9,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.apiculture.EnumBeeType; import forestry.api.apiculture.IBeeIconProvider; +import magicbees.main.CommonProxy; public enum BeeIconProvider implements IBeeIconProvider { diff --git a/src/main/java/magicbees/bees/BeeManager.java b/src/main/java/magicbees/bees/BeeManager.java index f762f7f..d8ccff5 100644 --- a/src/main/java/magicbees/bees/BeeManager.java +++ b/src/main/java/magicbees/bees/BeeManager.java @@ -5,12 +5,6 @@ import java.util.Collections; import java.util.List; import java.util.Random; -import magicbees.block.types.HiveType; -import magicbees.item.types.DropType; -import magicbees.main.Config; -import magicbees.main.utils.Tuple; -import magicbees.main.utils.compat.ExtraBeesHelper; - import net.minecraft.item.ItemStack; import forestry.api.apiculture.EnumBeeType; @@ -20,6 +14,11 @@ import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeRoot; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAllele; +import magicbees.block.types.HiveType; +import magicbees.item.types.DropType; +import magicbees.main.Config; +import magicbees.main.utils.Tuple; +import magicbees.main.utils.compat.ExtraBeesHelper; public class BeeManager { diff --git a/src/main/java/magicbees/bees/BeeMutation.java b/src/main/java/magicbees/bees/BeeMutation.java index 1bc9df7..57fc68a 100644 --- a/src/main/java/magicbees/bees/BeeMutation.java +++ b/src/main/java/magicbees/bees/BeeMutation.java @@ -1,5 +1,13 @@ package magicbees.bees; +import net.minecraft.init.Blocks; +import net.minecraftforge.common.BiomeDictionary; +import net.minecraftforge.common.BiomeDictionary.Type; +import net.minecraftforge.oredict.OreDictionary; + +import forestry.api.apiculture.IAlleleBeeSpecies; +import forestry.api.apiculture.IBeeMutationCustom; +import forestry.api.apiculture.IBeeMutationFactory; import magicbees.main.utils.LogHelper; import magicbees.main.utils.MoonPhase; import magicbees.main.utils.compat.AppliedEnergisticsHelper; @@ -12,15 +20,6 @@ import magicbees.main.utils.compat.RedstoneArsenalHelper; import magicbees.main.utils.compat.ThaumcraftHelper; import magicbees.main.utils.compat.ThermalModsHelper; -import net.minecraft.init.Blocks; -import net.minecraftforge.common.BiomeDictionary; -import net.minecraftforge.common.BiomeDictionary.Type; -import net.minecraftforge.oredict.OreDictionary; - -import forestry.api.apiculture.IAlleleBeeSpecies; -import forestry.api.apiculture.IBeeMutationCustom; -import forestry.api.apiculture.IBeeMutationFactory; - public class BeeMutation { private static IBeeMutationFactory beeMutationFactory = forestry.api.apiculture.BeeManager.beeMutationFactory; diff --git a/src/main/java/magicbees/bees/BeeProductHelper.java b/src/main/java/magicbees/bees/BeeProductHelper.java index eadb997..a559a14 100644 --- a/src/main/java/magicbees/bees/BeeProductHelper.java +++ b/src/main/java/magicbees/bees/BeeProductHelper.java @@ -2,6 +2,11 @@ package magicbees.bees; import static magicbees.bees.BeeSpecies.*; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; + import magicbees.item.types.CombType; import magicbees.item.types.DropType; import magicbees.item.types.NuggetType; @@ -20,11 +25,6 @@ import magicbees.main.utils.compat.RedstoneArsenalHelper; import magicbees.main.utils.compat.ThaumcraftHelper; import magicbees.main.utils.compat.ThermalModsHelper; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - public class BeeProductHelper { public static void initBaseProducts() { diff --git a/src/main/java/magicbees/bees/BeeSpecies.java b/src/main/java/magicbees/bees/BeeSpecies.java index 76f4083..1fa0be9 100644 --- a/src/main/java/magicbees/bees/BeeSpecies.java +++ b/src/main/java/magicbees/bees/BeeSpecies.java @@ -1,13 +1,5 @@ package magicbees.bees; -import magicbees.main.utils.compat.AppliedEnergisticsHelper; -import magicbees.main.utils.compat.ArsMagicaHelper; -import magicbees.main.utils.compat.BotaniaHelper; -import magicbees.main.utils.compat.EquivalentExchangeHelper; -import magicbees.main.utils.compat.RedstoneArsenalHelper; -import magicbees.main.utils.compat.ThaumcraftHelper; -import magicbees.main.utils.compat.ThermalModsHelper; - import net.minecraft.item.ItemStack; import forestry.api.apiculture.EnumBeeChromosome; @@ -24,6 +16,13 @@ import forestry.api.genetics.EnumTolerance; import forestry.api.genetics.IAllele; import forestry.api.genetics.IAlleleTolerance; import forestry.api.genetics.IClassification; +import magicbees.main.utils.compat.AppliedEnergisticsHelper; +import magicbees.main.utils.compat.ArsMagicaHelper; +import magicbees.main.utils.compat.BotaniaHelper; +import magicbees.main.utils.compat.EquivalentExchangeHelper; +import magicbees.main.utils.compat.RedstoneArsenalHelper; +import magicbees.main.utils.compat.ThaumcraftHelper; +import magicbees.main.utils.compat.ThermalModsHelper; public enum BeeSpecies { diff --git a/src/main/java/magicbees/bees/HiveDescription.java b/src/main/java/magicbees/bees/HiveDescription.java index a36f7b2..781e980 100644 --- a/src/main/java/magicbees/bees/HiveDescription.java +++ b/src/main/java/magicbees/bees/HiveDescription.java @@ -5,15 +5,6 @@ import java.util.List; import java.util.Locale; import java.util.Random; -import magicbees.block.types.HiveType; -import magicbees.main.Config; -import magicbees.main.utils.BlockUtil; -import magicbees.main.utils.LogHelper; -import magicbees.world.feature.FeatureOreVein; -import magicbees.world.feature.HiveGenNether; -import magicbees.world.feature.HiveGenOblivion; -import magicbees.world.feature.HiveGenUnderground; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; @@ -25,6 +16,14 @@ import forestry.api.apiculture.hives.IHiveDescription; import forestry.api.apiculture.hives.IHiveGen; import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; +import magicbees.block.types.HiveType; +import magicbees.main.Config; +import magicbees.main.utils.BlockUtil; +import magicbees.main.utils.LogHelper; +import magicbees.world.feature.FeatureOreVein; +import magicbees.world.feature.HiveGenNether; +import magicbees.world.feature.HiveGenOblivion; +import magicbees.world.feature.HiveGenUnderground; public enum HiveDescription implements IHiveDescription { diff --git a/src/main/java/magicbees/bees/MoonPhaseMutationBonus.java b/src/main/java/magicbees/bees/MoonPhaseMutationBonus.java index 4de2258..eeea1ac 100644 --- a/src/main/java/magicbees/bees/MoonPhaseMutationBonus.java +++ b/src/main/java/magicbees/bees/MoonPhaseMutationBonus.java @@ -1,14 +1,13 @@ package magicbees.bees; -import magicbees.main.utils.LocalizationManager; -import magicbees.main.utils.MoonPhase; - import net.minecraft.world.World; import forestry.api.core.IClimateProvider; import forestry.api.genetics.IAllele; import forestry.api.genetics.IGenome; import forestry.api.genetics.IMutationCondition; +import magicbees.main.utils.LocalizationManager; +import magicbees.main.utils.MoonPhase; // There is a bonus to this mutation during moon phases... public class MoonPhaseMutationBonus implements IMutationCondition { diff --git a/src/main/java/magicbees/bees/MoonPhaseMutationRestriction.java b/src/main/java/magicbees/bees/MoonPhaseMutationRestriction.java index 2a812ff..50f1955 100644 --- a/src/main/java/magicbees/bees/MoonPhaseMutationRestriction.java +++ b/src/main/java/magicbees/bees/MoonPhaseMutationRestriction.java @@ -1,14 +1,13 @@ package magicbees.bees; -import magicbees.main.utils.LocalizationManager; -import magicbees.main.utils.MoonPhase; - import net.minecraft.world.World; import forestry.api.core.IClimateProvider; import forestry.api.genetics.IAllele; import forestry.api.genetics.IGenome; import forestry.api.genetics.IMutationCondition; +import magicbees.main.utils.LocalizationManager; +import magicbees.main.utils.MoonPhase; public class MoonPhaseMutationRestriction implements IMutationCondition { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectCrumbling.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectCrumbling.java index b65bd22..518b330 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectCrumbling.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectCrumbling.java @@ -2,9 +2,6 @@ package magicbees.bees.allele.effect; import java.util.HashMap; -import magicbees.bees.AlleleEffect; -import magicbees.bees.BeeManager; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; @@ -16,6 +13,8 @@ import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; import forestry.api.apiculture.IBeeModifier; import forestry.api.genetics.IEffectData; +import magicbees.bees.AlleleEffect; +import magicbees.bees.BeeManager; public class AlleleEffectCrumbling extends AlleleEffect { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectCure.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectCure.java index dd3c28f..0fbf0b6 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectCure.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectCure.java @@ -2,8 +2,6 @@ package magicbees.bees.allele.effect; import java.util.List; -import magicbees.bees.AlleleEffect; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -11,6 +9,7 @@ import net.minecraft.item.ItemStack; import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; import forestry.api.genetics.IEffectData; +import magicbees.bees.AlleleEffect; public class AlleleEffectCure extends AlleleEffect { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectEmpowering.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectEmpowering.java index c062107..ec87323 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectEmpowering.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectEmpowering.java @@ -7,24 +7,23 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import magicbees.bees.AlleleEffect; -import magicbees.bees.BeeManager; -import magicbees.main.Config; -import magicbees.main.utils.BlockUtil; -import magicbees.main.utils.compat.thaumcraft.NodeHelper; - import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; -import thaumcraft.api.nodes.INode; import forestry.api.apiculture.IAlleleBeeAcceleratableEffect; import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; import forestry.api.apiculture.IBeeModifier; import forestry.api.genetics.IEffectData; +import magicbees.bees.AlleleEffect; +import magicbees.bees.BeeManager; +import magicbees.main.Config; +import magicbees.main.utils.BlockUtil; +import magicbees.main.utils.compat.thaumcraft.NodeHelper; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.nodes.INode; public class AlleleEffectEmpowering extends AlleleEffect implements IAlleleBeeAcceleratableEffect { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeConversion.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeConversion.java index 22f3996..a397cd9 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeConversion.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeConversion.java @@ -2,20 +2,19 @@ package magicbees.bees.allele.effect; import java.util.List; -import magicbees.bees.AlleleEffect; -import magicbees.bees.BeeManager; -import magicbees.main.utils.BlockUtil; -import magicbees.main.utils.compat.thaumcraft.NodeHelper; - import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; -import thaumcraft.api.nodes.NodeType; import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; import forestry.api.apiculture.IBeeModifier; import forestry.api.genetics.IEffectData; +import magicbees.bees.AlleleEffect; +import magicbees.bees.BeeManager; +import magicbees.main.utils.BlockUtil; +import magicbees.main.utils.compat.thaumcraft.NodeHelper; +import thaumcraft.api.nodes.NodeType; public class AlleleEffectNodeConversion extends AlleleEffect { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeRepair.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeRepair.java index 55dd3f3..67e658e 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeRepair.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeRepair.java @@ -2,11 +2,6 @@ package magicbees.bees.allele.effect; import java.util.List; -import magicbees.bees.AlleleEffect; -import magicbees.bees.BeeManager; -import magicbees.main.utils.BlockUtil; -import magicbees.main.utils.compat.thaumcraft.NodeHelper; - import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; @@ -15,6 +10,10 @@ import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; import forestry.api.apiculture.IBeeModifier; import forestry.api.genetics.IEffectData; +import magicbees.bees.AlleleEffect; +import magicbees.bees.BeeManager; +import magicbees.main.utils.BlockUtil; +import magicbees.main.utils.compat.thaumcraft.NodeHelper; public class AlleleEffectNodeRepair extends AlleleEffect { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectPlaceholder.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectPlaceholder.java index 271b3f9..64a9637 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectPlaceholder.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectPlaceholder.java @@ -1,9 +1,9 @@ package magicbees.bees.allele.effect; -import magicbees.bees.AlleleEffect; import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; import forestry.api.genetics.IEffectData; +import magicbees.bees.AlleleEffect; public class AlleleEffectPlaceholder extends AlleleEffect { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectPotion.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectPotion.java index 80190c8..9857d46 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectPotion.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectPotion.java @@ -2,8 +2,6 @@ package magicbees.bees.allele.effect; import java.util.List; -import magicbees.bees.AlleleEffect; - import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; @@ -13,6 +11,7 @@ import forestry.api.apiculture.BeeManager; import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; import forestry.api.genetics.IEffectData; +import magicbees.bees.AlleleEffect; public class AlleleEffectPotion extends AlleleEffect { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectRecharge.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectRecharge.java index e5aefb6..e9377e3 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectRecharge.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectRecharge.java @@ -4,23 +4,22 @@ import static magicbees.main.utils.compat.thaumcraft.NodeHelper.updateNode; import java.util.*; -import magicbees.bees.AlleleEffect; -import magicbees.bees.BeeManager; -import magicbees.main.utils.BlockUtil; -import magicbees.main.utils.compat.thaumcraft.NodeHelper; - import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; -import thaumcraft.api.nodes.INode; import forestry.api.apiculture.IAlleleBeeAcceleratableEffect; import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; import forestry.api.apiculture.IBeeModifier; import forestry.api.genetics.IEffectData; +import magicbees.bees.AlleleEffect; +import magicbees.bees.BeeManager; +import magicbees.main.utils.BlockUtil; +import magicbees.main.utils.compat.thaumcraft.NodeHelper; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.nodes.INode; public class AlleleEffectRecharge extends AlleleEffect implements IAlleleBeeAcceleratableEffect { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMob.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMob.java index d0ef58d..e1b80fc 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMob.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMob.java @@ -2,9 +2,6 @@ package magicbees.bees.allele.effect; import java.util.List; -import magicbees.bees.AlleleEffect; -import magicbees.bees.BeeManager; - import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -17,6 +14,8 @@ import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; import forestry.api.apiculture.IBeeModifier; import forestry.api.genetics.IEffectData; +import magicbees.bees.AlleleEffect; +import magicbees.bees.BeeManager; public class AlleleEffectSpawnMob extends AlleleEffect { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMobWeighted.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMobWeighted.java index 4447f9d..d1b87dd 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMobWeighted.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMobWeighted.java @@ -1,8 +1,5 @@ package magicbees.bees.allele.effect; -import magicbees.bees.AlleleEffect; -import magicbees.bees.BeeManager; - import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; @@ -13,6 +10,8 @@ import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; import forestry.api.apiculture.IBeeModifier; import forestry.api.genetics.IEffectData; +import magicbees.bees.AlleleEffect; +import magicbees.bees.BeeManager; public class AlleleEffectSpawnMobWeighted extends AlleleEffect { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnWisp.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnWisp.java index 30594f5..a90cd8c 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnWisp.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnWisp.java @@ -2,8 +2,6 @@ package magicbees.bees.allele.effect; import java.lang.reflect.Field; -import magicbees.main.utils.compat.ThaumcraftHelper; - import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -14,6 +12,7 @@ import net.minecraft.world.World; import forestry.api.apiculture.BeeManager; import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; +import magicbees.main.utils.compat.ThaumcraftHelper; public class AlleleEffectSpawnWisp extends AlleleEffectSpawnMob { diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectTransmuting.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectTransmuting.java index 1dd013f..5e4b93d 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectTransmuting.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectTransmuting.java @@ -1,8 +1,5 @@ package magicbees.bees.allele.effect; -import magicbees.bees.AlleleEffect; -import magicbees.bees.BeeManager; - import net.minecraft.item.ItemStack; import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; @@ -12,6 +9,8 @@ import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; import forestry.api.apiculture.IBeeModifier; import forestry.api.genetics.IEffectData; +import magicbees.bees.AlleleEffect; +import magicbees.bees.BeeManager; public class AlleleEffectTransmuting extends AlleleEffect { diff --git a/src/main/java/magicbees/bees/allele/effect/TransmutationEffectController.java b/src/main/java/magicbees/bees/allele/effect/TransmutationEffectController.java index d943bbd..3016b2e 100644 --- a/src/main/java/magicbees/bees/allele/effect/TransmutationEffectController.java +++ b/src/main/java/magicbees/bees/allele/effect/TransmutationEffectController.java @@ -4,14 +4,14 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import magicbees.api.bees.ITransmutationEffectController; -import magicbees.api.bees.ITransmutationEffectLogic; -import magicbees.main.utils.LogHelper; - import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; +import magicbees.api.bees.ITransmutationEffectController; +import magicbees.api.bees.ITransmutationEffectLogic; +import magicbees.main.utils.LogHelper; + public class TransmutationEffectController implements ITransmutationEffectController { private List logicObjects; diff --git a/src/main/java/magicbees/bees/allele/effect/TransmutationEffectLBotaniaLiving.java b/src/main/java/magicbees/bees/allele/effect/TransmutationEffectLBotaniaLiving.java index 70911d2..81b1c7f 100644 --- a/src/main/java/magicbees/bees/allele/effect/TransmutationEffectLBotaniaLiving.java +++ b/src/main/java/magicbees/bees/allele/effect/TransmutationEffectLBotaniaLiving.java @@ -1,13 +1,13 @@ package magicbees.bees.allele.effect; -import magicbees.api.bees.ITransmutationEffectLogic; -import magicbees.main.utils.compat.BotaniaHelper; - import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.oredict.OreDictionary; +import magicbees.api.bees.ITransmutationEffectLogic; +import magicbees.main.utils.compat.BotaniaHelper; + public class TransmutationEffectLBotaniaLiving implements ITransmutationEffectLogic { @Override diff --git a/src/main/java/magicbees/bees/allele/effect/TransmutationEffectRailcraft.java b/src/main/java/magicbees/bees/allele/effect/TransmutationEffectRailcraft.java index 30942fc..c5a6b23 100644 --- a/src/main/java/magicbees/bees/allele/effect/TransmutationEffectRailcraft.java +++ b/src/main/java/magicbees/bees/allele/effect/TransmutationEffectRailcraft.java @@ -2,8 +2,6 @@ package magicbees.bees.allele.effect; import java.util.Locale; -import magicbees.api.bees.ITransmutationEffectLogic; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; @@ -13,6 +11,7 @@ import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.oredict.OreDictionary; import cpw.mods.fml.common.registry.GameRegistry; +import magicbees.api.bees.ITransmutationEffectLogic; public class TransmutationEffectRailcraft implements ITransmutationEffectLogic { diff --git a/src/main/java/magicbees/bees/allele/effect/TransmutationEffectVanilla.java b/src/main/java/magicbees/bees/allele/effect/TransmutationEffectVanilla.java index 03eb784..f98f186 100644 --- a/src/main/java/magicbees/bees/allele/effect/TransmutationEffectVanilla.java +++ b/src/main/java/magicbees/bees/allele/effect/TransmutationEffectVanilla.java @@ -1,7 +1,5 @@ package magicbees.bees.allele.effect; -import magicbees.api.bees.ITransmutationEffectLogic; - import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -9,6 +7,8 @@ import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.oredict.OreDictionary; +import magicbees.api.bees.ITransmutationEffectLogic; + public class TransmutationEffectVanilla implements ITransmutationEffectLogic { @Override diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderArsMagicaFlower.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderArsMagicaFlower.java index b6754db..e38cb99 100644 --- a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderArsMagicaFlower.java +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderArsMagicaFlower.java @@ -1,8 +1,5 @@ package magicbees.bees.allele.flowerProvider; -import magicbees.main.utils.LocalizationManager; -import magicbees.main.utils.compat.ArsMagicaHelper; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; @@ -13,6 +10,8 @@ import forestry.api.genetics.IFlowerGrowthRule; import forestry.api.genetics.IFlowerRegistry; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; +import magicbees.main.utils.LocalizationManager; +import magicbees.main.utils.compat.ArsMagicaHelper; public class FlowerProviderArsMagicaFlower extends FlowerProvider implements IFlowerGrowthRule { diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java index 5ca2fe5..e36718b 100644 --- a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java @@ -1,13 +1,12 @@ package magicbees.bees.allele.flowerProvider; -import magicbees.main.utils.LocalizationManager; -import magicbees.main.utils.compat.ThaumcraftHelper; - import net.minecraft.item.ItemStack; import net.minecraft.world.World; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; +import magicbees.main.utils.LocalizationManager; +import magicbees.main.utils.compat.ThaumcraftHelper; public class FlowerProviderAuraNode extends FlowerProvider { diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBookshelf.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBookshelf.java index 7e66986..e08f070 100644 --- a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBookshelf.java +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBookshelf.java @@ -2,8 +2,6 @@ package magicbees.bees.allele.flowerProvider; import java.util.EnumSet; -import magicbees.main.utils.LocalizationManager; - import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -12,6 +10,7 @@ import net.minecraftforge.oredict.OreDictionary; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; +import magicbees.main.utils.LocalizationManager; public class FlowerProviderBookshelf extends FlowerProvider { diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBotania.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBotania.java index 2db787a..344d44d 100644 --- a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBotania.java +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBotania.java @@ -1,8 +1,5 @@ package magicbees.bees.allele.flowerProvider; -import magicbees.main.utils.LocalizationManager; -import magicbees.main.utils.compat.BotaniaHelper; - import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.oredict.OreDictionary; @@ -12,6 +9,8 @@ import forestry.api.genetics.IFlowerGrowthRule; import forestry.api.genetics.IFlowerRegistry; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; +import magicbees.main.utils.LocalizationManager; +import magicbees.main.utils.compat.BotaniaHelper; public class FlowerProviderBotania extends FlowerProvider implements IFlowerGrowthRule { diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderThaumcraftFlower.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderThaumcraftFlower.java index 326d451..d25dcdc 100644 --- a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderThaumcraftFlower.java +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderThaumcraftFlower.java @@ -1,8 +1,5 @@ package magicbees.bees.allele.flowerProvider; -import magicbees.main.utils.LocalizationManager; -import magicbees.main.utils.compat.ThaumcraftHelper; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; @@ -13,6 +10,8 @@ import forestry.api.genetics.IFlowerGrowthRule; import forestry.api.genetics.IFlowerRegistry; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; +import magicbees.main.utils.LocalizationManager; +import magicbees.main.utils.compat.ThaumcraftHelper; public class FlowerProviderThaumcraftFlower extends FlowerProvider implements IFlowerGrowthRule { diff --git a/src/main/java/magicbees/block/BlockEffectJar.java b/src/main/java/magicbees/block/BlockEffectJar.java index cfe46c2..52381f1 100644 --- a/src/main/java/magicbees/block/BlockEffectJar.java +++ b/src/main/java/magicbees/block/BlockEffectJar.java @@ -1,11 +1,5 @@ package magicbees.block; -import magicbees.client.gui.UIScreens; -import magicbees.main.CommonProxy; -import magicbees.main.MagicBees; -import magicbees.main.utils.TabMagicBees; -import magicbees.tileentity.TileEntityEffectJar; - import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -19,6 +13,11 @@ import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.client.gui.UIScreens; +import magicbees.main.CommonProxy; +import magicbees.main.MagicBees; +import magicbees.main.utils.TabMagicBees; +import magicbees.tileentity.TileEntityEffectJar; public class BlockEffectJar extends BlockContainer { diff --git a/src/main/java/magicbees/block/BlockEnchantedEarth.java b/src/main/java/magicbees/block/BlockEnchantedEarth.java index 8b26cd0..60bdc2d 100644 --- a/src/main/java/magicbees/block/BlockEnchantedEarth.java +++ b/src/main/java/magicbees/block/BlockEnchantedEarth.java @@ -2,9 +2,6 @@ package magicbees.block; import java.util.Random; -import magicbees.main.CommonProxy; -import magicbees.main.utils.TabMagicBees; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -16,6 +13,8 @@ import net.minecraftforge.common.util.ForgeDirection; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.main.CommonProxy; +import magicbees.main.utils.TabMagicBees; public class BlockEnchantedEarth extends Block { diff --git a/src/main/java/magicbees/block/BlockHive.java b/src/main/java/magicbees/block/BlockHive.java index 1f4a687..d06a2df 100644 --- a/src/main/java/magicbees/block/BlockHive.java +++ b/src/main/java/magicbees/block/BlockHive.java @@ -3,9 +3,6 @@ package magicbees.block; import java.util.ArrayList; import java.util.List; -import magicbees.block.types.HiveType; -import magicbees.main.Config; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -20,6 +17,8 @@ import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import magicbees.block.types.HiveType; +import magicbees.main.Config; public class BlockHive extends Block { diff --git a/src/main/java/magicbees/block/BlockMagicApiary.java b/src/main/java/magicbees/block/BlockMagicApiary.java index 184e9fc..816de93 100644 --- a/src/main/java/magicbees/block/BlockMagicApiary.java +++ b/src/main/java/magicbees/block/BlockMagicApiary.java @@ -1,11 +1,5 @@ package magicbees.block; -import magicbees.client.gui.UIScreens; -import magicbees.main.CommonProxy; -import magicbees.main.MagicBees; -import magicbees.main.utils.TabMagicBees; -import magicbees.tileentity.TileEntityMagicApiary; - import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -20,6 +14,11 @@ import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.client.gui.UIScreens; +import magicbees.main.CommonProxy; +import magicbees.main.MagicBees; +import magicbees.main.utils.TabMagicBees; +import magicbees.tileentity.TileEntityMagicApiary; public class BlockMagicApiary extends BlockContainer { diff --git a/src/main/java/magicbees/block/BlockManaAuraProvider.java b/src/main/java/magicbees/block/BlockManaAuraProvider.java index f32a831..db65857 100644 --- a/src/main/java/magicbees/block/BlockManaAuraProvider.java +++ b/src/main/java/magicbees/block/BlockManaAuraProvider.java @@ -1,9 +1,5 @@ package magicbees.block; -import magicbees.main.CommonProxy; -import magicbees.main.utils.TabMagicBees; -import magicbees.tileentity.TileEntityManaAuraProvider; - import net.minecraft.block.Block; import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material; @@ -14,6 +10,9 @@ import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.main.CommonProxy; +import magicbees.main.utils.TabMagicBees; +import magicbees.tileentity.TileEntityManaAuraProvider; public class BlockManaAuraProvider extends Block implements ITileEntityProvider { diff --git a/src/main/java/magicbees/block/BlockVisAuraProvider.java b/src/main/java/magicbees/block/BlockVisAuraProvider.java index aad48db..b864b2c 100644 --- a/src/main/java/magicbees/block/BlockVisAuraProvider.java +++ b/src/main/java/magicbees/block/BlockVisAuraProvider.java @@ -1,9 +1,5 @@ package magicbees.block; -import magicbees.main.CommonProxy; -import magicbees.main.utils.TabMagicBees; -import magicbees.tileentity.TileEntityVisAuraProvider; - import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -13,6 +9,9 @@ import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.main.CommonProxy; +import magicbees.main.utils.TabMagicBees; +import magicbees.tileentity.TileEntityVisAuraProvider; public class BlockVisAuraProvider extends BlockContainer { diff --git a/src/main/java/magicbees/block/types/HiveType.java b/src/main/java/magicbees/block/types/HiveType.java index 05291f1..386c6ab 100644 --- a/src/main/java/magicbees/block/types/HiveType.java +++ b/src/main/java/magicbees/block/types/HiveType.java @@ -3,14 +3,6 @@ package magicbees.block.types; import java.util.ArrayList; import java.util.Collections; -import magicbees.bees.BeeGenomeManager; -import magicbees.bees.BeeSpecies; -import magicbees.bees.HiveDrop; -import magicbees.item.types.CombType; -import magicbees.main.CommonProxy; -import magicbees.main.Config; -import magicbees.main.utils.compat.ForestryHelper; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -20,6 +12,13 @@ import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.apiculture.IHiveDrop; +import magicbees.bees.BeeGenomeManager; +import magicbees.bees.BeeSpecies; +import magicbees.bees.HiveDrop; +import magicbees.item.types.CombType; +import magicbees.main.CommonProxy; +import magicbees.main.Config; +import magicbees.main.utils.compat.ForestryHelper; public enum HiveType { diff --git a/src/main/java/magicbees/client/gui/ContainerEffectJar.java b/src/main/java/magicbees/client/gui/ContainerEffectJar.java index d504f10..ce6de3a 100644 --- a/src/main/java/magicbees/client/gui/ContainerEffectJar.java +++ b/src/main/java/magicbees/client/gui/ContainerEffectJar.java @@ -1,7 +1,5 @@ package magicbees.client.gui; -import magicbees.tileentity.TileEntityEffectJar; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ICrafting; @@ -11,6 +9,7 @@ import net.minecraft.item.ItemStack; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.tileentity.TileEntityEffectJar; public class ContainerEffectJar extends Container { diff --git a/src/main/java/magicbees/client/gui/ContainerEffectRing.java b/src/main/java/magicbees/client/gui/ContainerEffectRing.java index 56030ec..a258f0b 100644 --- a/src/main/java/magicbees/client/gui/ContainerEffectRing.java +++ b/src/main/java/magicbees/client/gui/ContainerEffectRing.java @@ -1,11 +1,10 @@ package magicbees.client.gui; -import magicbees.itemInventories.InventoryBeeRing; - import net.minecraft.entity.player.InventoryPlayer; import cpw.mods.fml.common.registry.GameRegistry; import forestry.core.gui.ContainerItemInventory; +import magicbees.main.utils.compat.baubles.InventoryBeeRing; public class ContainerEffectRing extends ContainerItemInventory { diff --git a/src/main/java/magicbees/client/gui/ContainerMagicApiary.java b/src/main/java/magicbees/client/gui/ContainerMagicApiary.java index d86c8e5..dceb545 100644 --- a/src/main/java/magicbees/client/gui/ContainerMagicApiary.java +++ b/src/main/java/magicbees/client/gui/ContainerMagicApiary.java @@ -1,9 +1,5 @@ package magicbees.client.gui; -import magicbees.bees.BeeManager; -import magicbees.main.utils.ItemInterface; -import magicbees.tileentity.TileEntityMagicApiary; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.ICrafting; @@ -11,6 +7,9 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import forestry.api.apiculture.IHiveFrame; +import magicbees.bees.BeeManager; +import magicbees.main.utils.ItemInterface; +import magicbees.tileentity.TileEntityMagicApiary; public class ContainerMagicApiary extends ContainerMB { diff --git a/src/main/java/magicbees/client/gui/GUIEffectJar.java b/src/main/java/magicbees/client/gui/GUIEffectJar.java index 87242f7..5918272 100644 --- a/src/main/java/magicbees/client/gui/GUIEffectJar.java +++ b/src/main/java/magicbees/client/gui/GUIEffectJar.java @@ -1,14 +1,14 @@ package magicbees.client.gui; -import magicbees.main.CommonProxy; -import magicbees.tileentity.TileEntityEffectJar; - import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; +import magicbees.main.CommonProxy; +import magicbees.tileentity.TileEntityEffectJar; + public class GUIEffectJar extends GuiContainer { public static final String BACKGROUND_FILE = "jarScreen.png"; diff --git a/src/main/java/magicbees/client/gui/GUIEffectRing.java b/src/main/java/magicbees/client/gui/GUIEffectRing.java index 02ea052..422e00a 100644 --- a/src/main/java/magicbees/client/gui/GUIEffectRing.java +++ b/src/main/java/magicbees/client/gui/GUIEffectRing.java @@ -1,8 +1,5 @@ package magicbees.client.gui; -import magicbees.itemInventories.InventoryBeeRing; -import magicbees.main.CommonProxy; - import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.util.ResourceLocation; @@ -10,6 +7,8 @@ import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; import forestry.core.gui.GuiForestry; +import magicbees.main.CommonProxy; +import magicbees.main.utils.compat.baubles.InventoryBeeRing; public class GUIEffectRing extends GuiForestry { diff --git a/src/main/java/magicbees/client/gui/GUIHandler.java b/src/main/java/magicbees/client/gui/GUIHandler.java index 36e7a92..83f52cb 100644 --- a/src/main/java/magicbees/client/gui/GUIHandler.java +++ b/src/main/java/magicbees/client/gui/GUIHandler.java @@ -1,13 +1,12 @@ package magicbees.client.gui; -import magicbees.itemInventories.InventoryBeeRing; -import magicbees.tileentity.TileEntityEffectJar; -import magicbees.tileentity.TileEntityMagicApiary; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; import cpw.mods.fml.common.network.IGuiHandler; +import magicbees.main.utils.compat.baubles.InventoryBeeRing; +import magicbees.tileentity.TileEntityEffectJar; +import magicbees.tileentity.TileEntityMagicApiary; public class GUIHandler implements IGuiHandler { diff --git a/src/main/java/magicbees/client/gui/GuiMagicApiary.java b/src/main/java/magicbees/client/gui/GuiMagicApiary.java index e58f933..ae8cfa1 100644 --- a/src/main/java/magicbees/client/gui/GuiMagicApiary.java +++ b/src/main/java/magicbees/client/gui/GuiMagicApiary.java @@ -1,8 +1,5 @@ package magicbees.client.gui; -import magicbees.main.CommonProxy; -import magicbees.tileentity.TileEntityMagicApiary; - import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; @@ -12,6 +9,8 @@ import org.lwjgl.opengl.GL11; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.main.CommonProxy; +import magicbees.tileentity.TileEntityMagicApiary; @SideOnly(Side.CLIENT) public class GuiMagicApiary extends GuiContainer { diff --git a/src/main/java/magicbees/client/gui/ModGuiConfig.java b/src/main/java/magicbees/client/gui/ModGuiConfig.java index f76dc47..65fb05a 100644 --- a/src/main/java/magicbees/client/gui/ModGuiConfig.java +++ b/src/main/java/magicbees/client/gui/ModGuiConfig.java @@ -3,15 +3,14 @@ package magicbees.client.gui; import java.util.ArrayList; import java.util.List; -import magicbees.main.Config; -import magicbees.main.utils.VersionInfo; - import net.minecraft.client.gui.GuiScreen; import net.minecraftforge.common.config.ConfigElement; import cpw.mods.fml.client.config.DummyConfigElement; import cpw.mods.fml.client.config.GuiConfig; import cpw.mods.fml.client.config.IConfigElement; +import magicbees.main.Config; +import magicbees.main.utils.VersionInfo; public class ModGuiConfig extends GuiConfig { diff --git a/src/main/java/magicbees/client/model/ModelEffectJar.java b/src/main/java/magicbees/client/model/ModelEffectJar.java index ad4ded1..093f852 100644 --- a/src/main/java/magicbees/client/model/ModelEffectJar.java +++ b/src/main/java/magicbees/client/model/ModelEffectJar.java @@ -1,7 +1,5 @@ package magicbees.client.model; -import magicbees.main.CommonProxy; - import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.IModelCustom; @@ -10,6 +8,7 @@ import org.lwjgl.opengl.GL11; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.main.CommonProxy; @SideOnly(Side.CLIENT) public class ModelEffectJar { diff --git a/src/main/java/magicbees/client/model/ModelVisAuraProvider.java b/src/main/java/magicbees/client/model/ModelVisAuraProvider.java index 456a368..95b6232 100644 --- a/src/main/java/magicbees/client/model/ModelVisAuraProvider.java +++ b/src/main/java/magicbees/client/model/ModelVisAuraProvider.java @@ -1,7 +1,5 @@ package magicbees.client.model; -import magicbees.main.CommonProxy; - import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.IModelCustom; @@ -10,6 +8,7 @@ import org.lwjgl.opengl.GL11; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.main.CommonProxy; @SideOnly(Side.CLIENT) public class ModelVisAuraProvider { diff --git a/src/main/java/magicbees/client/render/RendererEffectJar.java b/src/main/java/magicbees/client/render/RendererEffectJar.java index ea78952..b7bd591 100644 --- a/src/main/java/magicbees/client/render/RendererEffectJar.java +++ b/src/main/java/magicbees/client/render/RendererEffectJar.java @@ -1,8 +1,5 @@ package magicbees.client.render; -import magicbees.client.model.ModelEffectJar; -import magicbees.tileentity.TileEntityEffectJar; - import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -11,6 +8,8 @@ import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; import cpw.mods.fml.client.FMLClientHandler; +import magicbees.client.model.ModelEffectJar; +import magicbees.tileentity.TileEntityEffectJar; public class RendererEffectJar extends TileEntitySpecialRenderer implements IItemRenderer { diff --git a/src/main/java/magicbees/client/render/RendererVisAuraProvider.java b/src/main/java/magicbees/client/render/RendererVisAuraProvider.java index 25f0869..3e8b991 100644 --- a/src/main/java/magicbees/client/render/RendererVisAuraProvider.java +++ b/src/main/java/magicbees/client/render/RendererVisAuraProvider.java @@ -1,8 +1,5 @@ package magicbees.client.render; -import magicbees.client.model.ModelVisAuraProvider; -import magicbees.tileentity.TileEntityVisAuraProvider; - import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -11,6 +8,8 @@ import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; import cpw.mods.fml.client.FMLClientHandler; +import magicbees.client.model.ModelVisAuraProvider; +import magicbees.tileentity.TileEntityVisAuraProvider; public class RendererVisAuraProvider extends TileEntitySpecialRenderer implements IItemRenderer { diff --git a/src/main/java/magicbees/item/ItemCapsule.java b/src/main/java/magicbees/item/ItemCapsule.java index 8d77629..32cb1c2 100644 --- a/src/main/java/magicbees/item/ItemCapsule.java +++ b/src/main/java/magicbees/item/ItemCapsule.java @@ -2,11 +2,6 @@ package magicbees.item; import java.util.List; -import magicbees.item.types.CapsuleType; -import magicbees.item.types.FluidType; -import magicbees.main.CommonProxy; -import magicbees.main.utils.TabMagicBees; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -16,6 +11,10 @@ import net.minecraft.util.IIcon; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.item.types.CapsuleType; +import magicbees.item.types.FluidType; +import magicbees.main.CommonProxy; +import magicbees.main.utils.TabMagicBees; public class ItemCapsule extends Item { diff --git a/src/main/java/magicbees/item/ItemComb.java b/src/main/java/magicbees/item/ItemComb.java index 428c45f..04b68e4 100644 --- a/src/main/java/magicbees/item/ItemComb.java +++ b/src/main/java/magicbees/item/ItemComb.java @@ -2,10 +2,6 @@ package magicbees.item; import java.util.List; -import magicbees.item.types.CombType; -import magicbees.main.Config; -import magicbees.main.utils.compat.ForestryHelper; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -16,6 +12,9 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import magicbees.item.types.CombType; +import magicbees.main.Config; +import magicbees.main.utils.compat.ForestryHelper; public class ItemComb extends Item { diff --git a/src/main/java/magicbees/item/ItemDrop.java b/src/main/java/magicbees/item/ItemDrop.java index caa3c9b..6db3125 100644 --- a/src/main/java/magicbees/item/ItemDrop.java +++ b/src/main/java/magicbees/item/ItemDrop.java @@ -2,9 +2,6 @@ package magicbees.item; import java.util.List; -import magicbees.item.types.DropType; -import magicbees.main.utils.compat.ForestryHelper; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -15,6 +12,8 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import magicbees.item.types.DropType; +import magicbees.main.utils.compat.ForestryHelper; public class ItemDrop extends Item { diff --git a/src/main/java/magicbees/item/ItemGrafter.java b/src/main/java/magicbees/item/ItemGrafter.java index c33753b..996e61a 100644 --- a/src/main/java/magicbees/item/ItemGrafter.java +++ b/src/main/java/magicbees/item/ItemGrafter.java @@ -1,8 +1,5 @@ package magicbees.item; -import magicbees.main.Config; -import magicbees.main.utils.compat.ThaumcraftHelper; - import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -12,6 +9,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import forestry.api.arboriculture.IToolGrafter; +import magicbees.main.Config; +import magicbees.main.utils.compat.ThaumcraftHelper; public class ItemGrafter extends Item implements IToolGrafter { diff --git a/src/main/java/magicbees/item/ItemMagicHive.java b/src/main/java/magicbees/item/ItemMagicHive.java index 2a04933..47a0481 100644 --- a/src/main/java/magicbees/item/ItemMagicHive.java +++ b/src/main/java/magicbees/item/ItemMagicHive.java @@ -1,7 +1,5 @@ package magicbees.item; -import magicbees.block.types.HiveType; - import net.minecraft.block.Block; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; @@ -9,6 +7,7 @@ import net.minecraft.util.IIcon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.block.types.HiveType; /** * Created by Allen on 7/29/2014. diff --git a/src/main/java/magicbees/item/ItemMagicHiveFrame.java b/src/main/java/magicbees/item/ItemMagicHiveFrame.java index e75b838..ff9d4ae 100644 --- a/src/main/java/magicbees/item/ItemMagicHiveFrame.java +++ b/src/main/java/magicbees/item/ItemMagicHiveFrame.java @@ -1,9 +1,5 @@ package magicbees.item; -import magicbees.item.types.HiveFrameType; -import magicbees.main.CommonProxy; -import magicbees.main.utils.TabMagicBees; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -15,6 +11,9 @@ import forestry.api.apiculture.IBee; import forestry.api.apiculture.IBeeHousing; import forestry.api.apiculture.IBeeModifier; import forestry.api.apiculture.IHiveFrame; +import magicbees.item.types.HiveFrameType; +import magicbees.main.CommonProxy; +import magicbees.main.utils.TabMagicBees; public class ItemMagicHiveFrame extends Item implements IHiveFrame { diff --git a/src/main/java/magicbees/item/ItemManasteelGrafter.java b/src/main/java/magicbees/item/ItemManasteelGrafter.java index f80b8d3..eadc2bf 100644 --- a/src/main/java/magicbees/item/ItemManasteelGrafter.java +++ b/src/main/java/magicbees/item/ItemManasteelGrafter.java @@ -1,18 +1,17 @@ package magicbees.item; -import magicbees.main.CommonProxy; -import magicbees.main.utils.compat.BotaniaHelper; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import vazkii.botania.api.mana.IManaUsingItem; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.main.CommonProxy; +import magicbees.main.utils.compat.BotaniaHelper; +import vazkii.botania.api.mana.IManaUsingItem; @Optional.InterfaceList({ @Optional.Interface( iface = "vazkii.botania.api.mana.IManaUsingItem", diff --git a/src/main/java/magicbees/item/ItemManasteelScoop.java b/src/main/java/magicbees/item/ItemManasteelScoop.java index f302a28..7cd9211 100644 --- a/src/main/java/magicbees/item/ItemManasteelScoop.java +++ b/src/main/java/magicbees/item/ItemManasteelScoop.java @@ -1,8 +1,5 @@ package magicbees.item; -import magicbees.main.CommonProxy; -import magicbees.main.utils.compat.BotaniaHelper; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; @@ -12,11 +9,13 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import vazkii.botania.api.mana.IManaUsingItem; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.IToolScoop; +import magicbees.main.CommonProxy; +import magicbees.main.utils.compat.BotaniaHelper; +import vazkii.botania.api.mana.IManaUsingItem; @Optional.InterfaceList({ @Optional.Interface( iface = "vazkii.botania.api.mana.IManaUsingItem", diff --git a/src/main/java/magicbees/item/ItemMiscResources.java b/src/main/java/magicbees/item/ItemMiscResources.java index 1bfa1ae..7028b38 100644 --- a/src/main/java/magicbees/item/ItemMiscResources.java +++ b/src/main/java/magicbees/item/ItemMiscResources.java @@ -2,10 +2,6 @@ package magicbees.item; import java.util.List; -import magicbees.item.types.ResourceType; -import magicbees.main.CommonProxy; -import magicbees.main.utils.TabMagicBees; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -15,6 +11,9 @@ import net.minecraft.util.IIcon; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.item.types.ResourceType; +import magicbees.main.CommonProxy; +import magicbees.main.utils.TabMagicBees; public class ItemMiscResources extends Item { diff --git a/src/main/java/magicbees/item/ItemMoonDial.java b/src/main/java/magicbees/item/ItemMoonDial.java index 7f2997e..689b4d2 100644 --- a/src/main/java/magicbees/item/ItemMoonDial.java +++ b/src/main/java/magicbees/item/ItemMoonDial.java @@ -2,11 +2,6 @@ package magicbees.item; import java.util.List; -import magicbees.main.CommonProxy; -import magicbees.main.Config; -import magicbees.main.utils.MoonPhase; -import magicbees.main.utils.TabMagicBees; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -16,6 +11,10 @@ import net.minecraft.util.IIcon; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.main.CommonProxy; +import magicbees.main.Config; +import magicbees.main.utils.MoonPhase; +import magicbees.main.utils.TabMagicBees; public class ItemMoonDial extends Item { diff --git a/src/main/java/magicbees/item/ItemMysteriousMagnet.java b/src/main/java/magicbees/item/ItemMysteriousMagnet.java index e3242e0..e7f0482 100644 --- a/src/main/java/magicbees/item/ItemMysteriousMagnet.java +++ b/src/main/java/magicbees/item/ItemMysteriousMagnet.java @@ -2,11 +2,6 @@ package magicbees.item; import java.util.List; -import magicbees.main.CommonProxy; -import magicbees.main.Config; -import magicbees.main.utils.LocalizationManager; -import magicbees.main.utils.TabMagicBees; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; @@ -27,6 +22,10 @@ import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.main.CommonProxy; +import magicbees.main.Config; +import magicbees.main.utils.LocalizationManager; +import magicbees.main.utils.TabMagicBees; @Optional.Interface(modid = "Baubles", iface = "baubles.api.IBauble") public class ItemMysteriousMagnet extends Item implements IBauble { diff --git a/src/main/java/magicbees/item/ItemNugget.java b/src/main/java/magicbees/item/ItemNugget.java index 34b6d46..80bcd9b 100644 --- a/src/main/java/magicbees/item/ItemNugget.java +++ b/src/main/java/magicbees/item/ItemNugget.java @@ -2,9 +2,6 @@ package magicbees.item; import java.util.List; -import magicbees.item.types.NuggetType; -import magicbees.main.CommonProxy; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -13,6 +10,8 @@ import net.minecraft.util.IIcon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.item.types.NuggetType; +import magicbees.main.CommonProxy; public class ItemNugget extends Item { diff --git a/src/main/java/magicbees/item/ItemPollen.java b/src/main/java/magicbees/item/ItemPollen.java index 8d4c89a..d5b3c73 100644 --- a/src/main/java/magicbees/item/ItemPollen.java +++ b/src/main/java/magicbees/item/ItemPollen.java @@ -2,9 +2,6 @@ package magicbees.item; import java.util.List; -import magicbees.item.types.PollenType; -import magicbees.main.utils.compat.ForestryHelper; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -15,6 +12,8 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import magicbees.item.types.PollenType; +import magicbees.main.utils.compat.ForestryHelper; public class ItemPollen extends Item { diff --git a/src/main/java/magicbees/item/ItemPropolis.java b/src/main/java/magicbees/item/ItemPropolis.java index 548d8f1..7d81a1a 100644 --- a/src/main/java/magicbees/item/ItemPropolis.java +++ b/src/main/java/magicbees/item/ItemPropolis.java @@ -2,9 +2,6 @@ package magicbees.item; import java.util.List; -import magicbees.item.types.PropolisType; -import magicbees.main.utils.compat.ForestryHelper; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -14,6 +11,8 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import magicbees.item.types.PropolisType; +import magicbees.main.utils.compat.ForestryHelper; public class ItemPropolis extends Item { diff --git a/src/main/java/magicbees/item/ItemThaumiumGrafter.java b/src/main/java/magicbees/item/ItemThaumiumGrafter.java index c4daebf..fe0e416 100644 --- a/src/main/java/magicbees/item/ItemThaumiumGrafter.java +++ b/src/main/java/magicbees/item/ItemThaumiumGrafter.java @@ -1,8 +1,5 @@ package magicbees.item; -import magicbees.main.CommonProxy; -import magicbees.main.utils.compat.ThaumcraftHelper; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -11,11 +8,13 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.IRepairableExtended; -import thaumcraft.api.ThaumcraftApi; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.main.CommonProxy; +import magicbees.main.utils.compat.ThaumcraftHelper; +import thaumcraft.api.IRepairableExtended; +import thaumcraft.api.ThaumcraftApi; @Optional.InterfaceList({ @Optional.Interface( iface = "thaumcraft.api.IRepairableExtended", diff --git a/src/main/java/magicbees/item/ItemThaumiumScoop.java b/src/main/java/magicbees/item/ItemThaumiumScoop.java index 1c1be3f..138f9d8 100644 --- a/src/main/java/magicbees/item/ItemThaumiumScoop.java +++ b/src/main/java/magicbees/item/ItemThaumiumScoop.java @@ -1,8 +1,5 @@ package magicbees.item; -import magicbees.main.CommonProxy; -import magicbees.main.utils.compat.ThaumcraftHelper; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; @@ -13,12 +10,14 @@ import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.IRepairable; -import thaumcraft.api.ThaumcraftApi; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.IToolScoop; +import magicbees.main.CommonProxy; +import magicbees.main.utils.compat.ThaumcraftHelper; +import thaumcraft.api.IRepairable; +import thaumcraft.api.ThaumcraftApi; @Optional.InterfaceList({ @Optional.Interface(iface = "thaumcraft.api.IRepairable", modid = ThaumcraftHelper.Name, striprefs = true) }) diff --git a/src/main/java/magicbees/item/ItemVoidGrafter.java b/src/main/java/magicbees/item/ItemVoidGrafter.java index bd3c87a..72df25e 100644 --- a/src/main/java/magicbees/item/ItemVoidGrafter.java +++ b/src/main/java/magicbees/item/ItemVoidGrafter.java @@ -1,8 +1,5 @@ package magicbees.item; -import magicbees.main.CommonProxy; -import magicbees.main.utils.compat.ThaumcraftHelper; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; @@ -17,12 +14,14 @@ import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.IRepairableExtended; -import thaumcraft.api.IWarpingGear; -import thaumcraft.api.ThaumcraftApi; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.main.CommonProxy; +import magicbees.main.utils.compat.ThaumcraftHelper; +import thaumcraft.api.IRepairableExtended; +import thaumcraft.api.IWarpingGear; +import thaumcraft.api.ThaumcraftApi; @Optional.InterfaceList({ @Optional.Interface( diff --git a/src/main/java/magicbees/item/ItemVoidScoop.java b/src/main/java/magicbees/item/ItemVoidScoop.java index 25aa93b..9a8e60b 100644 --- a/src/main/java/magicbees/item/ItemVoidScoop.java +++ b/src/main/java/magicbees/item/ItemVoidScoop.java @@ -1,8 +1,5 @@ package magicbees.item; -import magicbees.main.CommonProxy; -import magicbees.main.utils.compat.ThaumcraftHelper; - import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; @@ -18,13 +15,15 @@ import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.IRepairable; -import thaumcraft.api.IWarpingGear; -import thaumcraft.api.ThaumcraftApi; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.IToolScoop; +import magicbees.main.CommonProxy; +import magicbees.main.utils.compat.ThaumcraftHelper; +import thaumcraft.api.IRepairable; +import thaumcraft.api.IWarpingGear; +import thaumcraft.api.ThaumcraftApi; @Optional.InterfaceList({ @Optional.Interface(iface = "thaumcraft.api.IRepairable", modid = ThaumcraftHelper.Name, striprefs = true), diff --git a/src/main/java/magicbees/item/ItemWax.java b/src/main/java/magicbees/item/ItemWax.java index 723a1b9..3887262 100644 --- a/src/main/java/magicbees/item/ItemWax.java +++ b/src/main/java/magicbees/item/ItemWax.java @@ -2,9 +2,6 @@ package magicbees.item; import java.util.List; -import magicbees.item.types.WaxType; -import magicbees.main.CommonProxy; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -15,6 +12,8 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import magicbees.item.types.WaxType; +import magicbees.main.CommonProxy; public class ItemWax extends Item { diff --git a/src/main/java/magicbees/item/types/FluidType.java b/src/main/java/magicbees/item/types/FluidType.java index 64f2bbd..bc97210 100644 --- a/src/main/java/magicbees/item/types/FluidType.java +++ b/src/main/java/magicbees/item/types/FluidType.java @@ -1,9 +1,9 @@ package magicbees.item.types; -import magicbees.main.utils.LocalizationManager; - import net.minecraft.util.IIcon; +import magicbees.main.utils.LocalizationManager; + public enum FluidType { // Incidentally, Item meta is the liquid ID. diff --git a/src/main/java/magicbees/item/types/HiveFrameType.java b/src/main/java/magicbees/item/types/HiveFrameType.java index f822993..247ac53 100644 --- a/src/main/java/magicbees/item/types/HiveFrameType.java +++ b/src/main/java/magicbees/item/types/HiveFrameType.java @@ -1,8 +1,8 @@ package magicbees.item.types; -import magicbees.main.utils.LocalizationManager; import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeModifier; +import magicbees.main.utils.LocalizationManager; public enum HiveFrameType implements IBeeModifier { @@ -12,7 +12,7 @@ public enum HiveFrameType implements IBeeModifier { METABOLIC("Metabolic", 130, 1f, 1.8f, 1f, 1.2f, 1f), NECROTIC("Necrotic", 280, 1f, 1f, 0.3f, 0.75f, 1.2f), TEMPORAL("Temporal", 300, 1f, 1f, 2.5f, 1f, 0.8f), - OBLIVION("Oblivion", 50, 1f, 1f, 0.0001f, 0f, 1f),; + OBLIVION("Oblivion", 50, 1f, 1f, 0.0001f, 0f, 1f); private final String frameName; public final int maxDamage; diff --git a/src/main/java/magicbees/item/types/NuggetType.java b/src/main/java/magicbees/item/types/NuggetType.java index c8053fb..01a2755 100644 --- a/src/main/java/magicbees/item/types/NuggetType.java +++ b/src/main/java/magicbees/item/types/NuggetType.java @@ -1,9 +1,9 @@ package magicbees.item.types; -import magicbees.main.utils.LocalizationManager; - import net.minecraft.item.Item; +import magicbees.main.utils.LocalizationManager; + public enum NuggetType { IRON, diff --git a/src/main/java/magicbees/main/ClientProxy.java b/src/main/java/magicbees/main/ClientProxy.java index 74e32ad..6d16fa0 100644 --- a/src/main/java/magicbees/main/ClientProxy.java +++ b/src/main/java/magicbees/main/ClientProxy.java @@ -1,10 +1,5 @@ package magicbees.main; -import magicbees.client.render.RendererEffectJar; -import magicbees.client.render.RendererVisAuraProvider; -import magicbees.tileentity.TileEntityEffectJar; -import magicbees.tileentity.TileEntityVisAuraProvider; - import net.minecraft.item.Item; import net.minecraftforge.client.MinecraftForgeClient; @@ -12,6 +7,10 @@ import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.client.render.RendererEffectJar; +import magicbees.client.render.RendererVisAuraProvider; +import magicbees.tileentity.TileEntityEffectJar; +import magicbees.tileentity.TileEntityVisAuraProvider; @SideOnly(Side.CLIENT) public class ClientProxy extends CommonProxy { diff --git a/src/main/java/magicbees/main/Config.java b/src/main/java/magicbees/main/Config.java index 7105d21..840e258 100644 --- a/src/main/java/magicbees/main/Config.java +++ b/src/main/java/magicbees/main/Config.java @@ -3,6 +3,23 @@ package magicbees.main; import java.io.File; import java.lang.reflect.Field; +import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraftforge.common.ChestGenHooks; +import net.minecraftforge.common.config.Configuration; +import net.minecraftforge.common.config.Property; +import net.minecraftforge.oredict.OreDictionary; + +import cpw.mods.fml.client.event.ConfigChangedEvent; +import cpw.mods.fml.common.event.FMLInterModComms; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.registry.GameRegistry; +import forestry.api.apiculture.BeeManager; +import forestry.api.storage.BackpackManager; +import forestry.api.storage.EnumBackpackType; import magicbees.block.BlockEffectJar; import magicbees.block.BlockEnchantedEarth; import magicbees.block.BlockHive; @@ -27,24 +44,6 @@ import magicbees.tileentity.TileEntityMagicApiary; import magicbees.tileentity.TileEntityManaAuraProvider; import magicbees.tileentity.TileEntityVisAuraProvider; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraftforge.common.ChestGenHooks; -import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.common.config.Property; -import net.minecraftforge.oredict.OreDictionary; - -import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.common.event.FMLInterModComms; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.registry.GameRegistry; -import forestry.api.apiculture.BeeManager; -import forestry.api.storage.BackpackManager; -import forestry.api.storage.EnumBackpackType; - /** * A class to hold some data related to mod state & functions. * @@ -75,6 +74,7 @@ public class Config { public static int thaumcraftNodeMaxSize; public static boolean arsMagicaActive; + public static boolean baublesActive; public static boolean bloodMagicActive; public static boolean equivalentExchangeActive; public static boolean extraBeesActive; @@ -111,7 +111,6 @@ public class Config { public static ItemNugget nuggets; public static ItemMoonDial moonDial; public static ItemMysteriousMagnet magnet; - public static ItemBeeRing beeRing; public static Item voidScoop; public static Item voidGrafter; @@ -183,7 +182,6 @@ public class Config { miscResources = new ItemMiscResources(); pollen = new ItemPollen(); moonDial = new ItemMoonDial(); - beeRing = new ItemBeeRing(); setupJellyBaby(); setupNuggets(); @@ -233,6 +231,9 @@ public class Config { p = configuration.get(CATEGORY_MODULES, "ArsMagica", true); arsMagicaActive = p.getBoolean(); + p = configuration.get(CATEGORY_MODULES, "Baubles", true); + baublesActive = p.getBoolean(); + p = configuration.get(CATEGORY_MODULES, "BloodMagic", true); bloodMagicActive = p.getBoolean(); diff --git a/src/main/java/magicbees/main/MagicBees.java b/src/main/java/magicbees/main/MagicBees.java index 0f5770c..c1e3af8 100644 --- a/src/main/java/magicbees/main/MagicBees.java +++ b/src/main/java/magicbees/main/MagicBees.java @@ -1,13 +1,5 @@ package magicbees.main; -import magicbees.bees.BeeManager; -import magicbees.client.gui.GUIHandler; -import magicbees.main.utils.CraftingManager; -import magicbees.main.utils.IMCManager; -import magicbees.main.utils.LogHelper; -import magicbees.main.utils.VersionInfo; -import magicbees.main.utils.compat.ModHelperManager; -import magicbees.main.utils.net.NetworkEventHandler; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; @@ -18,6 +10,14 @@ import cpw.mods.fml.common.event.FMLMissingMappingsEvent.MissingMapping; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; +import magicbees.bees.BeeManager; +import magicbees.client.gui.GUIHandler; +import magicbees.main.utils.CraftingManager; +import magicbees.main.utils.IMCManager; +import magicbees.main.utils.LogHelper; +import magicbees.main.utils.VersionInfo; +import magicbees.main.utils.compat.ModHelperManager; +import magicbees.main.utils.net.NetworkEventHandler; @Mod( modid = VersionInfo.ModName, diff --git a/src/main/java/magicbees/main/utils/CraftingManager.java b/src/main/java/magicbees/main/utils/CraftingManager.java index 21effaf..d4d42e0 100644 --- a/src/main/java/magicbees/main/utils/CraftingManager.java +++ b/src/main/java/magicbees/main/utils/CraftingManager.java @@ -3,6 +3,17 @@ package magicbees.main.utils; import java.util.Hashtable; import java.util.Map; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidContainerRegistry; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.oredict.OreDictionary; +import net.minecraftforge.oredict.ShapedOreRecipe; + +import cpw.mods.fml.common.registry.GameRegistry; +import forestry.api.recipes.RecipeManagers; import magicbees.item.ItemCapsule; import magicbees.item.types.CombType; import magicbees.item.types.DropType; @@ -18,18 +29,6 @@ import magicbees.main.utils.compat.ForestryHelper; import magicbees.main.utils.compat.ThaumcraftHelper; import magicbees.main.utils.compat.ThermalModsHelper; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.ShapedOreRecipe; - -import cpw.mods.fml.common.registry.GameRegistry; -import forestry.api.recipes.RecipeManagers; - public class CraftingManager { public static void registerLiquidContainers() { diff --git a/src/main/java/magicbees/main/utils/IMCManager.java b/src/main/java/magicbees/main/utils/IMCManager.java index 47d3731..5ad007b 100644 --- a/src/main/java/magicbees/main/utils/IMCManager.java +++ b/src/main/java/magicbees/main/utils/IMCManager.java @@ -1,7 +1,5 @@ package magicbees.main.utils; -import magicbees.bees.allele.effect.AlleleEffectCrumbling; - import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; @@ -9,6 +7,7 @@ import net.minecraft.nbt.NBTTagCompound; import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.event.FMLInterModComms.IMCEvent; import cpw.mods.fml.common.event.FMLInterModComms.IMCMessage; +import magicbees.bees.allele.effect.AlleleEffectCrumbling; public class IMCManager { diff --git a/src/main/java/magicbees/main/utils/TabMagicBees.java b/src/main/java/magicbees/main/utils/TabMagicBees.java index 1f1b262..a379664 100644 --- a/src/main/java/magicbees/main/utils/TabMagicBees.java +++ b/src/main/java/magicbees/main/utils/TabMagicBees.java @@ -1,11 +1,11 @@ package magicbees.main.utils; -import magicbees.item.types.ResourceType; -import magicbees.main.Config; - import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; +import magicbees.item.types.ResourceType; +import magicbees.main.Config; + public class TabMagicBees extends CreativeTabs { public static TabMagicBees tabMagicBees = new TabMagicBees(); diff --git a/src/main/java/magicbees/main/utils/VersionInfo.java b/src/main/java/magicbees/main/utils/VersionInfo.java index 8b41142..92ce70c 100644 --- a/src/main/java/magicbees/main/utils/VersionInfo.java +++ b/src/main/java/magicbees/main/utils/VersionInfo.java @@ -11,5 +11,5 @@ public class VersionInfo { public static final String Version = "GRADLETOKEN_VERSION"; public static final String GUI_FACTORY_CLASS = "magicbees.client.gui.GuiFactory"; public static final String Logo = "/gfx/magicbees/logo.png"; - public static final String Depends = "required-after:Forestry@[4.2.5,);after:Thaumcraft;after:ExtraBees;after:EE3;after:ArsMagica;after:TConstruct;after:Railcraft;after:ThermalFoundation;after:ThermalExpansion;after:RedstoneArsenal;after:AWWayofTime;after:Botania;after:appliedenergistics2"; + public static final String Depends = "required-after:Forestry@[4.2.5,);after:Baubles;after:Thaumcraft;after:ExtraBees;after:EE3;after:ArsMagica;after:TConstruct;after:Railcraft;after:ThermalFoundation;after:ThermalExpansion;after:RedstoneArsenal;after:AWWayofTime;after:Botania;after:appliedenergistics2"; } diff --git a/src/main/java/magicbees/main/utils/compat/AppliedEnergisticsHelper.java b/src/main/java/magicbees/main/utils/compat/AppliedEnergisticsHelper.java index dec3b65..9bdf0cc 100644 --- a/src/main/java/magicbees/main/utils/compat/AppliedEnergisticsHelper.java +++ b/src/main/java/magicbees/main/utils/compat/AppliedEnergisticsHelper.java @@ -1,11 +1,10 @@ package magicbees.main.utils.compat; -import magicbees.main.Config; - import net.minecraft.block.Block; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; +import magicbees.main.Config; public class AppliedEnergisticsHelper implements IModHelper { diff --git a/src/main/java/magicbees/main/utils/compat/ArsMagicaHelper.java b/src/main/java/magicbees/main/utils/compat/ArsMagicaHelper.java index b62bc14..b86b3d2 100644 --- a/src/main/java/magicbees/main/utils/compat/ArsMagicaHelper.java +++ b/src/main/java/magicbees/main/utils/compat/ArsMagicaHelper.java @@ -1,13 +1,12 @@ package magicbees.main.utils.compat; -import magicbees.main.Config; -import magicbees.main.utils.BlockInterface; -import magicbees.main.utils.ItemInterface; - import net.minecraft.block.Block; import net.minecraft.item.Item; import cpw.mods.fml.common.Loader; +import magicbees.main.Config; +import magicbees.main.utils.BlockInterface; +import magicbees.main.utils.ItemInterface; public class ArsMagicaHelper implements IModHelper { diff --git a/src/main/java/magicbees/main/utils/compat/BaublesHelper.java b/src/main/java/magicbees/main/utils/compat/BaublesHelper.java new file mode 100644 index 0000000..6405ee6 --- /dev/null +++ b/src/main/java/magicbees/main/utils/compat/BaublesHelper.java @@ -0,0 +1,42 @@ +package magicbees.main.utils.compat; + +import net.minecraft.item.Item; + +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.Optional; +import magicbees.main.Config; +import magicbees.main.utils.compat.baubles.ItemBeeRing; + +public class BaublesHelper implements IModHelper { + + private static final String Name = "Baubles"; + private static boolean isModActive = false; + + public static Item beeRing; + + public static boolean isActive() { + return BaublesHelper.isModActive; + } + + @Override + public void preInit() { + if (Loader.isModLoaded(Name) && Config.baublesActive) { + isModActive = true; + } + } + + @Override + public void init() { + if (isActive()) { + getItems(); + } + } + + @Override + public void postInit() {} + + @Optional.Method(modid = Name) + private static void getItems() { + beeRing = new ItemBeeRing(); + } +} diff --git a/src/main/java/magicbees/main/utils/compat/BloodHelper.java b/src/main/java/magicbees/main/utils/compat/BloodHelper.java new file mode 100644 index 0000000..b30c508 --- /dev/null +++ b/src/main/java/magicbees/main/utils/compat/BloodHelper.java @@ -0,0 +1,144 @@ +package magicbees.main.utils.compat; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import WayofTime.alchemicalWizardry.ModItems; +import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipeRegistry; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.Optional; +import cpw.mods.fml.common.registry.GameRegistry; +import magicbees.main.CommonProxy; +import magicbees.main.Config; +import magicbees.main.utils.compat.bloodmagic.ItemBloodBaseFrame; +import magicbees.main.utils.compat.bloodmagic.ItemBloodFrame; +import magicbees.main.utils.compat.bloodmagic.ItemFrenziedFrame; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.crafting.IArcaneRecipe; +import thaumcraft.api.research.ResearchCategories; +import thaumcraft.api.research.ResearchItem; +import thaumcraft.api.research.ResearchPage; +import thaumcraft.common.config.ConfigItems; + +public class BloodHelper implements IModHelper { + + public static Item hiveFrameBlood; + public static Item hiveFrameFrenzy; + public static Item hiveFrameBloodBase; + + private static boolean isBloodMagicActive = false; + public static final String Name = "AWWayofTime"; + + public static boolean isActive() { + return isBloodMagicActive; + } + + @Override + public void preInit() { + if (Loader.isModLoaded(Name) && Config.bloodMagicActive) { + isBloodMagicActive = true; + } + } + + @Override + public void init() { + if (isActive()) { + getItems(); + } + } + + @Override + public void postInit() { + if (isActive()) { + getRecipes(); + if (ThaumcraftHelper.isActive()) { + thaumRecipes(); + thaumResearch(); + } + } + } + + @Optional.Method(modid = Name) + private static void getItems() { + hiveFrameBloodBase = new ItemBloodBaseFrame(); + GameRegistry.registerItem(hiveFrameBloodBase, hiveFrameBloodBase.getUnlocalizedName(), CommonProxy.DOMAIN); + + hiveFrameBlood = new ItemBloodFrame(); + GameRegistry.registerItem(hiveFrameBlood, hiveFrameBlood.getUnlocalizedName(), CommonProxy.DOMAIN); + + hiveFrameFrenzy = new ItemFrenziedFrame(); + GameRegistry.registerItem(hiveFrameFrenzy, hiveFrameFrenzy.getUnlocalizedName(), CommonProxy.DOMAIN); + } + + public static void getRecipes() { + AltarRecipeRegistry.registerAltarRecipe( + new ItemStack(hiveFrameBloodBase), + new ItemStack(Config.hiveFrameMagic), + 1, + 5000, + 20, + 20, + false); + } + + public static void thaumRecipes() { + ThaumcraftHelper.bloodFrame = ThaumcraftApi.addArcaneCraftingRecipe( + "MB_BloodFrame", + new ItemStack(hiveFrameBlood), + new AspectList().add(Aspect.AIR, 50).add(Aspect.FIRE, 50).add(Aspect.WATER, 50).add(Aspect.EARTH, 50) + .add(Aspect.ORDER, 50).add(Aspect.ENTROPY, 50), + new Object[] { "sbs", "bFb", "sbs", 's', ModItems.imbuedSlate, 'b', ModItems.bucketLife, 'F', + hiveFrameBloodBase }); + + ThaumcraftHelper.frenziedFrame = ThaumcraftApi.addArcaneCraftingRecipe( + "MB_FrenziedFrame", + new ItemStack(hiveFrameFrenzy), + new AspectList().add(Aspect.AIR, 50).add(Aspect.FIRE, 50).add(Aspect.WATER, 50).add(Aspect.EARTH, 50) + .add(Aspect.ORDER, 50).add(Aspect.ENTROPY, 50), + new Object[] { "sns", "nFn", "sns", 's', ModItems.imbuedSlate, 'n', + new ItemStack(ConfigItems.itemResource, 1, 1), 'F', hiveFrameBloodBase }); + + } + + public static void thaumResearch() { + if (ThaumcraftHelper.isActive()) { + ThaumcraftHelper.bloodFrame1 = new ResearchPage("bloodFrame.1"); + ThaumcraftHelper.bloodFrame2 = new ResearchPage((IArcaneRecipe) ThaumcraftHelper.bloodFrame); + + ThaumcraftHelper.bloodFramePage = new ResearchItem( + "MB_BloodFrame", + "MAGICBEES", + new AspectList().add(Aspect.LIFE, 1).add(Aspect.ORDER, 1).add(Aspect.HEAL, 1) + .add(Aspect.EXCHANGE, 1).add(Aspect.GREED, 1), + -4, + 3, + 1, + new ItemStack(BloodHelper.hiveFrameBlood)); + + ThaumcraftHelper.frenzyFrame1 = new ResearchPage("frenziedFrame.1"); + ThaumcraftHelper.frenzyFrame2 = new ResearchPage((IArcaneRecipe) ThaumcraftHelper.frenziedFrame); + + ThaumcraftHelper.frenzyFramePage = new ResearchItem( + "MB_FrenziedFrame", + "MAGICBEES", + new AspectList().add(Aspect.LIFE, 1).add(Aspect.ORDER, 1).add(Aspect.HEAL, 1) + .add(Aspect.EXCHANGE, 1).add(Aspect.GREED, 1), + -5, + 3, + 1, + new ItemStack(BloodHelper.hiveFrameFrenzy)); + + ThaumcraftHelper.bloodFramePage.setPages(ThaumcraftHelper.bloodFrame1, ThaumcraftHelper.bloodFrame2); + ThaumcraftHelper.bloodFramePage.setParents("MB_FrameMagic"); + + ThaumcraftHelper.frenzyFramePage.setPages(ThaumcraftHelper.frenzyFrame1, ThaumcraftHelper.frenzyFrame2); + ThaumcraftHelper.frenzyFramePage.setParents("MB_FrameMagic"); + + ResearchCategories.addResearch(ThaumcraftHelper.bloodFramePage); + ResearchCategories.addResearch(ThaumcraftHelper.frenzyFramePage); + } + } + +} diff --git a/src/main/java/magicbees/main/utils/compat/BotaniaHelper.java b/src/main/java/magicbees/main/utils/compat/BotaniaHelper.java index d018b5e..7a67042 100644 --- a/src/main/java/magicbees/main/utils/compat/BotaniaHelper.java +++ b/src/main/java/magicbees/main/utils/compat/BotaniaHelper.java @@ -1,12 +1,5 @@ package magicbees.main.utils.compat; -import magicbees.bees.BeeManager; -import magicbees.item.types.PollenType; -import magicbees.main.Config; -import magicbees.main.utils.BlockInterface; -import magicbees.main.utils.ItemInterface; -import magicbees.main.utils.compat.botania.BotaniaAPIDistanceHelper; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -19,11 +12,17 @@ import net.minecraft.util.IIcon; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.config.Property; -import vazkii.botania.api.mana.ManaItemHandler; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import magicbees.bees.BeeManager; +import magicbees.item.types.PollenType; +import magicbees.main.Config; +import magicbees.main.utils.BlockInterface; +import magicbees.main.utils.ItemInterface; +import magicbees.main.utils.compat.botania.BotaniaAPIDistanceHelper; +import vazkii.botania.api.mana.ManaItemHandler; public class BotaniaHelper implements IModHelper { diff --git a/src/main/java/magicbees/main/utils/compat/EquivalentExchangeHelper.java b/src/main/java/magicbees/main/utils/compat/EquivalentExchangeHelper.java index 1971097..9b25f8f 100644 --- a/src/main/java/magicbees/main/utils/compat/EquivalentExchangeHelper.java +++ b/src/main/java/magicbees/main/utils/compat/EquivalentExchangeHelper.java @@ -1,11 +1,10 @@ package magicbees.main.utils.compat; -import magicbees.main.Config; -import magicbees.main.utils.ItemInterface; - import net.minecraft.item.Item; import cpw.mods.fml.common.Loader; +import magicbees.main.Config; +import magicbees.main.utils.ItemInterface; public class EquivalentExchangeHelper implements IModHelper { diff --git a/src/main/java/magicbees/main/utils/compat/ExtraBeesHelper.java b/src/main/java/magicbees/main/utils/compat/ExtraBeesHelper.java index bc2af47..4207f18 100644 --- a/src/main/java/magicbees/main/utils/compat/ExtraBeesHelper.java +++ b/src/main/java/magicbees/main/utils/compat/ExtraBeesHelper.java @@ -1,11 +1,10 @@ package magicbees.main.utils.compat; -import magicbees.main.Config; -import magicbees.main.utils.BlockInterface; - import net.minecraft.block.Block; import cpw.mods.fml.common.Loader; +import magicbees.main.Config; +import magicbees.main.utils.BlockInterface; public class ExtraBeesHelper implements IModHelper { diff --git a/src/main/java/magicbees/main/utils/compat/ForestryHelper.java b/src/main/java/magicbees/main/utils/compat/ForestryHelper.java index 173fee9..ca108a8 100644 --- a/src/main/java/magicbees/main/utils/compat/ForestryHelper.java +++ b/src/main/java/magicbees/main/utils/compat/ForestryHelper.java @@ -2,13 +2,6 @@ package magicbees.main.utils.compat; import java.util.Locale; -import magicbees.bees.BeeManager; -import magicbees.bees.HiveDescription; -import magicbees.main.Config; -import magicbees.main.utils.BlockInterface; -import magicbees.main.utils.ItemInterface; -import magicbees.main.utils.VersionInfo; - import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -21,6 +14,12 @@ import forestry.api.apiculture.hives.IHiveRegistry; import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; import forestry.api.genetics.IAllele; +import magicbees.bees.BeeManager; +import magicbees.bees.HiveDescription; +import magicbees.main.Config; +import magicbees.main.utils.BlockInterface; +import magicbees.main.utils.ItemInterface; +import magicbees.main.utils.VersionInfo; public class ForestryHelper implements IModHelper { diff --git a/src/main/java/magicbees/main/utils/compat/ModHelperManager.java b/src/main/java/magicbees/main/utils/compat/ModHelperManager.java index c40d60b..7920acd 100644 --- a/src/main/java/magicbees/main/utils/compat/ModHelperManager.java +++ b/src/main/java/magicbees/main/utils/compat/ModHelperManager.java @@ -39,5 +39,7 @@ public class ModHelperManager { helpers.add(new RedstoneArsenalHelper()); helpers.add(new BotaniaHelper()); helpers.add(new AppliedEnergisticsHelper()); + helpers.add(new BaublesHelper()); + helpers.add(new BloodHelper()); } } diff --git a/src/main/java/magicbees/main/utils/compat/RedstoneArsenalHelper.java b/src/main/java/magicbees/main/utils/compat/RedstoneArsenalHelper.java index 754dfea..fe1e9b0 100644 --- a/src/main/java/magicbees/main/utils/compat/RedstoneArsenalHelper.java +++ b/src/main/java/magicbees/main/utils/compat/RedstoneArsenalHelper.java @@ -1,11 +1,10 @@ package magicbees.main.utils.compat; -import magicbees.main.Config; -import magicbees.main.utils.ItemInterface; - import net.minecraft.item.ItemStack; import cpw.mods.fml.common.Loader; +import magicbees.main.Config; +import magicbees.main.utils.ItemInterface; public class RedstoneArsenalHelper implements IModHelper { diff --git a/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java b/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java index 9560364..abf9dba 100644 --- a/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java +++ b/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java @@ -2,17 +2,6 @@ package magicbees.main.utils.compat; import java.util.ArrayList; -import magicbees.api.MagicBeesAPI; -import magicbees.item.types.PollenType; -import magicbees.item.types.PropolisType; -import magicbees.item.types.ResourceType; -import magicbees.item.types.WaxType; -import magicbees.main.CommonProxy; -import magicbees.main.Config; -import magicbees.main.utils.BlockInterface; -import magicbees.main.utils.ItemInterface; -import magicbees.main.utils.LocalizationManager; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -23,6 +12,18 @@ import net.minecraft.item.crafting.ShapelessRecipes; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.registry.GameRegistry; +import magicbees.api.MagicBeesAPI; +import magicbees.item.types.PollenType; +import magicbees.item.types.PropolisType; +import magicbees.item.types.ResourceType; +import magicbees.item.types.WaxType; +import magicbees.main.CommonProxy; +import magicbees.main.Config; +import magicbees.main.utils.BlockInterface; +import magicbees.main.utils.ItemInterface; +import magicbees.main.utils.LocalizationManager; import thaumcraft.api.ThaumcraftApi; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; @@ -32,8 +33,6 @@ import thaumcraft.api.crafting.InfusionRecipe; import thaumcraft.api.research.ResearchCategories; import thaumcraft.api.research.ResearchItem; import thaumcraft.api.research.ResearchPage; -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.registry.GameRegistry; public class ThaumcraftHelper implements IModHelper { @@ -203,6 +202,14 @@ public class ThaumcraftHelper implements IModHelper { public static Item nuggetPork; public static Item zombieBrain; + public static ResearchItem bloodFramePage; + public static ResearchPage bloodFrame1; + public static ResearchPage bloodFrame2; + + public static ResearchItem frenzyFramePage; + public static ResearchPage frenzyFrame1; + public static ResearchPage frenzyFrame2; + public static Class nodeClass; public static final String Name = "Thaumcraft"; @@ -265,6 +272,9 @@ public class ThaumcraftHelper implements IModHelper { private static Object essenceOblivion; private static Object visAuraProvider; + public static Object bloodFrame; + public static Object frenziedFrame; + private static Object voidScoop; private static Object voidGrafter; @@ -520,7 +530,6 @@ public class ThaumcraftHelper implements IModHelper { .setPages(getResearchPage("MB_GrafterVoid.1"), new ResearchPage((IArcaneRecipe) voidGrafter)) .setParents("MB_Grafter").setParentsHidden("VOIDMETAL").setSecondary().setConcealed() .registerResearchItem(); - // new ResearchItem( "MB_FrameMagic", @@ -676,6 +685,7 @@ public class ThaumcraftHelper implements IModHelper { getResearchPage("MB_VisAuraProvider.1"), new ResearchPage((IArcaneRecipe) visAuraProvider)) .setParentsHidden("VISPOWER").registerResearchItem(); + } private static ResearchPage getResearchPage(String ident) { @@ -871,5 +881,6 @@ public class ThaumcraftHelper implements IModHelper { item, new int[] { item.getItemDamage() }, new AspectList().add(Aspect.VOID, 6).add((Aspect) aspectTime, 8)); + } } diff --git a/src/main/java/magicbees/main/utils/compat/ThermalModsHelper.java b/src/main/java/magicbees/main/utils/compat/ThermalModsHelper.java index 7ba8b31..9bbd60d 100644 --- a/src/main/java/magicbees/main/utils/compat/ThermalModsHelper.java +++ b/src/main/java/magicbees/main/utils/compat/ThermalModsHelper.java @@ -1,8 +1,5 @@ package magicbees.main.utils.compat; -import magicbees.item.types.DropType; -import magicbees.main.Config; - import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidRegistry; @@ -11,6 +8,8 @@ import net.minecraftforge.fluids.FluidStack; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.event.FMLInterModComms; import cpw.mods.fml.common.registry.GameRegistry; +import magicbees.item.types.DropType; +import magicbees.main.Config; public class ThermalModsHelper implements IModHelper { diff --git a/src/main/java/magicbees/itemInventories/InventoryBeeRing.java b/src/main/java/magicbees/main/utils/compat/baubles/InventoryBeeRing.java similarity index 98% rename from src/main/java/magicbees/itemInventories/InventoryBeeRing.java rename to src/main/java/magicbees/main/utils/compat/baubles/InventoryBeeRing.java index 7a9c9bf..fa7608f 100644 --- a/src/main/java/magicbees/itemInventories/InventoryBeeRing.java +++ b/src/main/java/magicbees/main/utils/compat/baubles/InventoryBeeRing.java @@ -1,4 +1,4 @@ -package magicbees.itemInventories; +package magicbees.main.utils.compat.baubles; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; diff --git a/src/main/java/magicbees/item/ItemBeeRing.java b/src/main/java/magicbees/main/utils/compat/baubles/ItemBeeRing.java similarity index 87% rename from src/main/java/magicbees/item/ItemBeeRing.java rename to src/main/java/magicbees/main/utils/compat/baubles/ItemBeeRing.java index 46bdd16..91c8493 100644 --- a/src/main/java/magicbees/item/ItemBeeRing.java +++ b/src/main/java/magicbees/main/utils/compat/baubles/ItemBeeRing.java @@ -1,17 +1,9 @@ -package magicbees.item; +package magicbees.main.utils.compat.baubles; import java.util.HashMap; import java.util.Map; import java.util.UUID; -import magicbees.bees.BeeManager; -import magicbees.client.gui.UIScreens; -import magicbees.itemInventories.InventoryBeeRing; -import magicbees.main.CommonProxy; -import magicbees.main.MagicBees; -import magicbees.main.utils.TabMagicBees; -import magicbees.tileentity.RingHousing; - import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -25,6 +17,11 @@ import baubles.common.lib.PlayerHandler; import cpw.mods.fml.common.registry.GameRegistry; import forestry.api.apiculture.IBee; import forestry.api.genetics.IEffectData; +import magicbees.bees.BeeManager; +import magicbees.client.gui.UIScreens; +import magicbees.main.CommonProxy; +import magicbees.main.MagicBees; +import magicbees.main.utils.TabMagicBees; public class ItemBeeRing extends Item implements IBauble { @@ -77,19 +74,17 @@ public class ItemBeeRing extends Item implements IBauble { @Override public void onWornTick(ItemStack itemStack, EntityLivingBase entityLivingBase) { - if (entityLivingBase.worldObj.getWorldTime() % 20 == 0) { - if (!(entityLivingBase instanceof EntityPlayer)) { - return; - } + if (!(entityLivingBase instanceof EntityPlayer)) { + return; + } - EntityPlayer player = (EntityPlayer) entityLivingBase; - InventoryBeeRing inventoryBeeRing = new InventoryBeeRing(itemStack, player); + EntityPlayer player = (EntityPlayer) entityLivingBase; + InventoryBeeRing inventoryBeeRing = new InventoryBeeRing(itemStack, player); - if (inventoryBeeRing.hasQueen()) { - tickQueen(player, inventoryBeeRing); - } else if (inventoryBeeRing.hasDrone()) { - createQueenFromDrone(inventoryBeeRing); - } + if (inventoryBeeRing.hasQueen()) { + tickQueen(player, inventoryBeeRing); + } else if (inventoryBeeRing.hasDrone()) { + createQueenFromDrone(inventoryBeeRing); } } @@ -126,12 +121,6 @@ public class ItemBeeRing extends Item implements IBauble { int index = inventoryBeeRing.getRingSlotIndex(); RingHousing housingLogic = new RingHousing(player, inventoryBeeRing); effects[index] = queen.doEffect(effects[index], housingLogic); - - try { - effects[index][0].setInteger(0, effects[index][0].getInteger(index) + 20); - effects[index][1].setInteger(0, effects[index][1].getInteger(index) + 20); - } catch (Exception ignored) {} - if (player.worldObj.isRemote && player.worldObj.getWorldTime() % 5 == 0) { effects[index] = queen.doFX(effects[index], housingLogic); } @@ -151,7 +140,7 @@ public class ItemBeeRing extends Item implements IBauble { inventoryBeeRing.setQueen(queenStack); } } else { - inventoryBeeRing.setThrottle(throttle + 20); + inventoryBeeRing.setThrottle(throttle + 1); } } diff --git a/src/main/java/magicbees/tileentity/RingHousing.java b/src/main/java/magicbees/main/utils/compat/baubles/RingHousing.java similarity index 98% rename from src/main/java/magicbees/tileentity/RingHousing.java rename to src/main/java/magicbees/main/utils/compat/baubles/RingHousing.java index a738589..10f6663 100644 --- a/src/main/java/magicbees/tileentity/RingHousing.java +++ b/src/main/java/magicbees/main/utils/compat/baubles/RingHousing.java @@ -1,12 +1,9 @@ -package magicbees.tileentity; +package magicbees.main.utils.compat.baubles; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import magicbees.bees.BeeManager; -import magicbees.itemInventories.InventoryBeeRing; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.ChunkCoordinates; @@ -22,6 +19,7 @@ import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; import forestry.api.core.IErrorLogic; import forestry.api.core.IErrorState; +import magicbees.bees.BeeManager; // Class that simulates a BeeHouse using both player data and info from InventoryBeeRing public class RingHousing implements IBeeHousing { diff --git a/src/main/java/magicbees/main/utils/compat/bloodmagic/ItemBloodBaseFrame.java b/src/main/java/magicbees/main/utils/compat/bloodmagic/ItemBloodBaseFrame.java new file mode 100644 index 0000000..cce4bf0 --- /dev/null +++ b/src/main/java/magicbees/main/utils/compat/bloodmagic/ItemBloodBaseFrame.java @@ -0,0 +1,137 @@ +package magicbees.main.utils.compat.bloodmagic; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; +import WayofTime.alchemicalWizardry.common.items.EnergyItems; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import forestry.api.apiculture.*; +import magicbees.main.CommonProxy; +import magicbees.main.utils.TabMagicBees; + +public class ItemBloodBaseFrame extends EnergyItems implements IHiveFrame { + + private final IBeeModifier beeModifier = new BloodFrameBaseBeeModifier(); + int energyUsed = 1000; + + public ItemBloodBaseFrame() { + super(); + this.maxStackSize = 1; + this.setMaxDamage(1); + setEnergyUsed(energyUsed); + setCreativeTab(TabMagicBees.tabMagicBees); + this.setUnlocalizedName("bloodSoakedFrame"); + } + + private static class BloodFrameBaseBeeModifier implements IBeeModifier { + + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return 1; + } + + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return 1; + } + + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + return 2; + } + + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + return 1; + } + + @Override + public float getGeneticDecay(IBeeGenome genome, float currentModifier) { + return (float) 0.8; + } + + @Override + public boolean isSealed() { + return false; + } + + @Override + public boolean isSelfLighted() { + return false; + } + + @Override + public boolean isSunlightSimulated() { + return false; + } + + @Override + public boolean isHellish() { + return false; + } + + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + return 1; + } + } + + @Override + @SuppressWarnings({ "unchecked", "rawtypes" }) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + par3List.add(StatCollector.translateToLocal("You feel gross touching this")); + par3List.add(StatCollector.translateToLocal("Uses " + String.valueOf(energyUsed) + " LP per cycle")); + + if (par1ItemStack.hasTagCompound()) { + par3List.add( + StatCollector.translateToLocal("tooltip.owner.currentowner") + " " + + par1ItemStack.getTagCompound().getString("ownerName")); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(CommonProxy.DOMAIN + ":bloodSoakedFrame"); + } + + @Override + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + + if (EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer)) { + if (par1ItemStack.getItemDamage() > 0) { + if (EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) { + par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1); + } + } + } + + return par1ItemStack; + } + + @Override + public ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear) { + if (EnergyItems.canSyphonInContainer(frame, getEnergyUsed() * wear)) { + SoulNetworkHandler.syphonFromNetwork(frame, getEnergyUsed() * wear); + } else { + frame.setItemDamage(frame.getItemDamage() + wear); + if (frame.getItemDamage() >= frame.getMaxDamage()) { + return null; + } + } + return frame; + } + + @Override + public IBeeModifier getBeeModifier() { + return beeModifier; + } +} diff --git a/src/main/java/magicbees/main/utils/compat/bloodmagic/ItemBloodFrame.java b/src/main/java/magicbees/main/utils/compat/bloodmagic/ItemBloodFrame.java new file mode 100644 index 0000000..61879a0 --- /dev/null +++ b/src/main/java/magicbees/main/utils/compat/bloodmagic/ItemBloodFrame.java @@ -0,0 +1,137 @@ +package magicbees.main.utils.compat.bloodmagic; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; +import WayofTime.alchemicalWizardry.common.items.EnergyItems; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import forestry.api.apiculture.*; +import magicbees.main.CommonProxy; +import magicbees.main.utils.TabMagicBees; + +public class ItemBloodFrame extends EnergyItems implements IHiveFrame { + + private final IBeeModifier beeModifier = new BloodFrameBeeModifier(); + int energyUsed = 1000; + + public ItemBloodFrame() { + super(); + this.maxStackSize = 1; + this.setMaxDamage(1); + setEnergyUsed(energyUsed); + setCreativeTab(TabMagicBees.tabMagicBees); + this.setUnlocalizedName("bloodFrame"); + } + + private static class BloodFrameBeeModifier implements IBeeModifier { + + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return 1; + } + + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return 0.0001f; + } + + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + return 0; + } + + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + return 1; + } + + @Override + public float getGeneticDecay(IBeeGenome genome, float currentModifier) { + return 1; + } + + @Override + public boolean isSealed() { + return false; + } + + @Override + public boolean isSelfLighted() { + return false; + } + + @Override + public boolean isSunlightSimulated() { + return false; + } + + @Override + public boolean isHellish() { + return false; + } + + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + return 1; + } + } + + @Override + @SuppressWarnings({ "unchecked", "rawtypes" }) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + par3List.add(StatCollector.translateToLocal("tooltip.bloodframe.desc")); + par3List.add(StatCollector.translateToLocal("Uses " + String.valueOf(energyUsed) + " LP per cycle")); + + if (par1ItemStack.hasTagCompound()) { + par3List.add( + StatCollector.translateToLocal("tooltip.owner.currentowner") + " " + + par1ItemStack.getTagCompound().getString("ownerName")); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(CommonProxy.DOMAIN + ":bloodFrame"); + } + + @Override + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + + if (EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer)) { + if (par1ItemStack.getItemDamage() > 0) { + if (EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) { + par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1); + } + } + } + + return par1ItemStack; + } + + @Override + public ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear) { + if (EnergyItems.canSyphonInContainer(frame, getEnergyUsed() * wear)) { + SoulNetworkHandler.syphonFromNetwork(frame, getEnergyUsed() * wear); + } else { + frame.setItemDamage(frame.getItemDamage() + wear); + if (frame.getItemDamage() >= frame.getMaxDamage()) { + return null; + } + } + return frame; + } + + @Override + public IBeeModifier getBeeModifier() { + return beeModifier; + } +} diff --git a/src/main/java/magicbees/main/utils/compat/bloodmagic/ItemFrenziedFrame.java b/src/main/java/magicbees/main/utils/compat/bloodmagic/ItemFrenziedFrame.java new file mode 100644 index 0000000..fafb8fe --- /dev/null +++ b/src/main/java/magicbees/main/utils/compat/bloodmagic/ItemFrenziedFrame.java @@ -0,0 +1,136 @@ +package magicbees.main.utils.compat.bloodmagic; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; +import WayofTime.alchemicalWizardry.common.items.EnergyItems; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import forestry.api.apiculture.*; +import magicbees.main.CommonProxy; +import magicbees.main.utils.TabMagicBees; + +public class ItemFrenziedFrame extends EnergyItems implements IHiveFrame { + + private final IBeeModifier beeModifier = new FrenziedFrameBeeModifier(); + int energyUsed = 1000; + + public ItemFrenziedFrame() { + super(); + this.maxStackSize = 1; + this.setMaxDamage(1); + setEnergyUsed(energyUsed); + setCreativeTab(TabMagicBees.tabMagicBees); + this.setUnlocalizedName("frenziedFrame"); + } + + private static class FrenziedFrameBeeModifier implements IBeeModifier { + + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return 10; + } + + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return 0.0001f; + } + + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + return 0; + } + + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + return 0; + } + + @Override + public float getGeneticDecay(IBeeGenome genome, float currentModifier) { + return 10; + } + + @Override + public boolean isSealed() { + return false; + } + + @Override + public boolean isSelfLighted() { + return true; + } + + @Override + public boolean isSunlightSimulated() { + return false; + } + + @Override + public boolean isHellish() { + return false; + } + + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + return 1; + } + } + + @Override + @SuppressWarnings({ "unchecked", "rawtypes" }) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + par3List.add(StatCollector.translateToLocal("MAY CHAOS TAKE THE WORLD")); + par3List.add(StatCollector.translateToLocal("Uses " + String.valueOf(energyUsed) + " LP per cycle")); + + if (par1ItemStack.hasTagCompound()) { + par3List.add( + StatCollector.translateToLocal("tooltip.owner.currentowner") + " " + + par1ItemStack.getTagCompound().getString("ownerName")); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(CommonProxy.DOMAIN + ":frenziedFrame"); + } + + @Override + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + + if (EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer)) { + if (par1ItemStack.getItemDamage() > 0) { + if (EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed())) { + par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1); + } + } + } + + return par1ItemStack; + } + + @Override + public ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear) { + if (EnergyItems.canSyphonInContainer(frame, getEnergyUsed() * wear)) { + SoulNetworkHandler.syphonFromNetwork(frame, getEnergyUsed() * wear); + } else { + frame.setItemDamage(frame.getItemDamage() + wear); + if (frame.getItemDamage() >= frame.getMaxDamage()) { + return null; + } + } + return frame; + } + + @Override + public IBeeModifier getBeeModifier() { + return beeModifier; + } +} diff --git a/src/main/java/magicbees/main/utils/compat/botania/BotaniaAPIDistanceHelper.java b/src/main/java/magicbees/main/utils/compat/botania/BotaniaAPIDistanceHelper.java index b842626..b8447a8 100644 --- a/src/main/java/magicbees/main/utils/compat/botania/BotaniaAPIDistanceHelper.java +++ b/src/main/java/magicbees/main/utils/compat/botania/BotaniaAPIDistanceHelper.java @@ -1,19 +1,18 @@ package magicbees.main.utils.compat.botania; +import net.minecraft.item.ItemStack; + +import forestry.api.apiculture.EnumBeeType; import magicbees.bees.BeeSpecies; import magicbees.main.Config; import magicbees.main.utils.compat.BotaniaHelper; import magicbees.main.utils.compat.BotaniaHelper.ManaResource; import magicbees.main.utils.compat.BotaniaHelper.Rune; - -import net.minecraft.item.ItemStack; - import vazkii.botania.api.BotaniaAPI; import vazkii.botania.api.lexicon.LexiconEntry; import vazkii.botania.api.recipe.RecipeElvenTrade; import vazkii.botania.api.recipe.RecipeManaInfusion; import vazkii.botania.api.recipe.RecipePetals; -import forestry.api.apiculture.EnumBeeType; /** * Subordinate helper to the Botania Helper that has references to Botania API stuff that will cause diff --git a/src/main/java/magicbees/main/utils/compat/botania/SpeciesRecipeElvenTrade.java b/src/main/java/magicbees/main/utils/compat/botania/SpeciesRecipeElvenTrade.java index a0ec201..e9a5187 100644 --- a/src/main/java/magicbees/main/utils/compat/botania/SpeciesRecipeElvenTrade.java +++ b/src/main/java/magicbees/main/utils/compat/botania/SpeciesRecipeElvenTrade.java @@ -3,15 +3,14 @@ package magicbees.main.utils.compat.botania; import java.util.LinkedList; import java.util.List; -import magicbees.bees.BeeManager; -import magicbees.bees.BeeSpecies; - import net.minecraft.item.ItemStack; -import vazkii.botania.api.recipe.RecipeElvenTrade; import forestry.api.apiculture.EnumBeeType; import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.apiculture.IBee; +import magicbees.bees.BeeManager; +import magicbees.bees.BeeSpecies; +import vazkii.botania.api.recipe.RecipeElvenTrade; public class SpeciesRecipeElvenTrade extends RecipeElvenTrade { diff --git a/src/main/java/magicbees/main/utils/compat/botania/SpeciesRecipeManaInfusion.java b/src/main/java/magicbees/main/utils/compat/botania/SpeciesRecipeManaInfusion.java index 14b4d6b..267df33 100644 --- a/src/main/java/magicbees/main/utils/compat/botania/SpeciesRecipeManaInfusion.java +++ b/src/main/java/magicbees/main/utils/compat/botania/SpeciesRecipeManaInfusion.java @@ -1,15 +1,14 @@ package magicbees.main.utils.compat.botania; -import magicbees.bees.BeeManager; -import magicbees.bees.BeeSpecies; -import magicbees.main.utils.compat.ForestryHelper; - import net.minecraft.item.ItemStack; -import vazkii.botania.api.recipe.RecipeManaInfusion; import forestry.api.apiculture.EnumBeeType; import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.apiculture.IBee; +import magicbees.bees.BeeManager; +import magicbees.bees.BeeSpecies; +import magicbees.main.utils.compat.ForestryHelper; +import vazkii.botania.api.recipe.RecipeManaInfusion; public class SpeciesRecipeManaInfusion extends RecipeManaInfusion { diff --git a/src/main/java/magicbees/main/utils/compat/botania/SubTileBeegonia.java b/src/main/java/magicbees/main/utils/compat/botania/SubTileBeegonia.java index f735b0d..120841b 100644 --- a/src/main/java/magicbees/main/utils/compat/botania/SubTileBeegonia.java +++ b/src/main/java/magicbees/main/utils/compat/botania/SubTileBeegonia.java @@ -2,21 +2,20 @@ package magicbees.main.utils.compat.botania; import java.util.List; -import magicbees.bees.BeeManager; -import magicbees.main.utils.compat.BotaniaHelper; - import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.IIcon; -import vazkii.botania.api.BotaniaAPI; -import vazkii.botania.api.subtile.SubTileGenerating; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.apiculture.IBee; +import magicbees.bees.BeeManager; +import magicbees.main.utils.compat.BotaniaHelper; +import vazkii.botania.api.BotaniaAPI; +import vazkii.botania.api.subtile.SubTileGenerating; public class SubTileBeegonia extends SubTileGenerating { diff --git a/src/main/java/magicbees/main/utils/compat/botania/SubTileHibeescus.java b/src/main/java/magicbees/main/utils/compat/botania/SubTileHibeescus.java index a30a805..23a35f8 100644 --- a/src/main/java/magicbees/main/utils/compat/botania/SubTileHibeescus.java +++ b/src/main/java/magicbees/main/utils/compat/botania/SubTileHibeescus.java @@ -4,21 +4,20 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; -import magicbees.bees.BeeManager; -import magicbees.main.utils.compat.BotaniaHelper; - import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.IIcon; -import vazkii.botania.api.BotaniaAPI; -import vazkii.botania.api.subtile.SubTileFunctional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.apiculture.EnumBeeType; import forestry.api.apiculture.IBee; +import magicbees.bees.BeeManager; +import magicbees.main.utils.compat.BotaniaHelper; +import vazkii.botania.api.BotaniaAPI; +import vazkii.botania.api.subtile.SubTileFunctional; public class SubTileHibeescus extends SubTileFunctional { diff --git a/src/main/java/magicbees/main/utils/compat/botania/SubTileHiveacynth.java b/src/main/java/magicbees/main/utils/compat/botania/SubTileHiveacynth.java index 9c448be..9c86098 100644 --- a/src/main/java/magicbees/main/utils/compat/botania/SubTileHiveacynth.java +++ b/src/main/java/magicbees/main/utils/compat/botania/SubTileHiveacynth.java @@ -2,19 +2,18 @@ package magicbees.main.utils.compat.botania; import java.util.Random; -import magicbees.bees.BeeManager; -import magicbees.main.utils.compat.BotaniaHelper; - import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import vazkii.botania.api.BotaniaAPI; -import vazkii.botania.api.subtile.SubTileFunctional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.apiculture.EnumBeeType; import forestry.api.apiculture.IBee; +import magicbees.bees.BeeManager; +import magicbees.main.utils.compat.BotaniaHelper; +import vazkii.botania.api.BotaniaAPI; +import vazkii.botania.api.subtile.SubTileFunctional; public class SubTileHiveacynth extends SubTileFunctional { diff --git a/src/main/java/magicbees/main/utils/compat/thaumcraft/NodeHelper.java b/src/main/java/magicbees/main/utils/compat/thaumcraft/NodeHelper.java index 94bf226..c782531 100644 --- a/src/main/java/magicbees/main/utils/compat/thaumcraft/NodeHelper.java +++ b/src/main/java/magicbees/main/utils/compat/thaumcraft/NodeHelper.java @@ -7,14 +7,13 @@ import java.util.List; import java.util.Map; import java.util.Random; -import magicbees.main.Config; - import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Vec3; import net.minecraft.world.ChunkPosition; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; +import magicbees.main.Config; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.api.nodes.INode; diff --git a/src/main/java/magicbees/main/utils/net/EventAuraChargeUpdate.java b/src/main/java/magicbees/main/utils/net/EventAuraChargeUpdate.java index 2564fdf..111e9cf 100644 --- a/src/main/java/magicbees/main/utils/net/EventAuraChargeUpdate.java +++ b/src/main/java/magicbees/main/utils/net/EventAuraChargeUpdate.java @@ -4,17 +4,16 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.tileentity.TileEntity; + +import cpw.mods.fml.client.FMLClientHandler; import magicbees.main.utils.ChunkCoords; import magicbees.main.utils.LogHelper; import magicbees.main.utils.net.NetworkEventHandler.EventType; import magicbees.tileentity.AuraCharges; import magicbees.tileentity.ITileEntityAuraCharged; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.tileentity.TileEntity; - -import cpw.mods.fml.client.FMLClientHandler; - public class EventAuraChargeUpdate extends EventCoords { private int flags; diff --git a/src/main/java/magicbees/main/utils/net/EventBase.java b/src/main/java/magicbees/main/utils/net/EventBase.java index 1afa085..3c97b86 100644 --- a/src/main/java/magicbees/main/utils/net/EventBase.java +++ b/src/main/java/magicbees/main/utils/net/EventBase.java @@ -6,8 +6,6 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import magicbees.main.utils.LogHelper; - import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -17,6 +15,7 @@ import net.minecraft.nbt.NBTTagCompound; import cpw.mods.fml.common.network.internal.FMLProxyPacket; import cpw.mods.fml.common.registry.GameData; import io.netty.buffer.Unpooled; +import magicbees.main.utils.LogHelper; public class EventBase { diff --git a/src/main/java/magicbees/main/utils/net/EventFlagsUpdate.java b/src/main/java/magicbees/main/utils/net/EventFlagsUpdate.java index 2c63a7a..43dcf0c 100644 --- a/src/main/java/magicbees/main/utils/net/EventFlagsUpdate.java +++ b/src/main/java/magicbees/main/utils/net/EventFlagsUpdate.java @@ -4,15 +4,14 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import magicbees.main.utils.ChunkCoords; -import magicbees.main.utils.LogHelper; -import magicbees.main.utils.net.NetworkEventHandler.EventType; -import magicbees.tileentity.ITileEntityFlags; - import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.tileentity.TileEntity; import cpw.mods.fml.client.FMLClientHandler; +import magicbees.main.utils.ChunkCoords; +import magicbees.main.utils.LogHelper; +import magicbees.main.utils.net.NetworkEventHandler.EventType; +import magicbees.tileentity.ITileEntityFlags; public class EventFlagsUpdate extends EventCoords { diff --git a/src/main/java/magicbees/main/utils/net/EventInventoryUpdate.java b/src/main/java/magicbees/main/utils/net/EventInventoryUpdate.java index 1284ed3..e0b025b 100644 --- a/src/main/java/magicbees/main/utils/net/EventInventoryUpdate.java +++ b/src/main/java/magicbees/main/utils/net/EventInventoryUpdate.java @@ -4,15 +4,14 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import magicbees.main.utils.ChunkCoords; -import magicbees.main.utils.LogHelper; - import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import cpw.mods.fml.client.FMLClientHandler; +import magicbees.main.utils.ChunkCoords; +import magicbees.main.utils.LogHelper; public class EventInventoryUpdate extends EventCoords { diff --git a/src/main/java/magicbees/main/utils/net/NetworkEventHandler.java b/src/main/java/magicbees/main/utils/net/NetworkEventHandler.java index 0954eb8..fdaf308 100644 --- a/src/main/java/magicbees/main/utils/net/NetworkEventHandler.java +++ b/src/main/java/magicbees/main/utils/net/NetworkEventHandler.java @@ -3,14 +3,6 @@ package magicbees.main.utils.net; import java.io.DataInputStream; import java.io.IOException; -import magicbees.main.MagicBees; -import magicbees.main.utils.ChunkCoords; -import magicbees.main.utils.LogHelper; -import magicbees.main.utils.VersionInfo; -import magicbees.main.utils.error.InvalidEventTypeIndexException; -import magicbees.tileentity.AuraCharges; -import magicbees.tileentity.ITileEntityAuraCharged; - import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.network.NetHandlerPlayServer; @@ -25,6 +17,13 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.internal.FMLProxyPacket; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufInputStream; +import magicbees.main.MagicBees; +import magicbees.main.utils.ChunkCoords; +import magicbees.main.utils.LogHelper; +import magicbees.main.utils.VersionInfo; +import magicbees.main.utils.error.InvalidEventTypeIndexException; +import magicbees.tileentity.AuraCharges; +import magicbees.tileentity.ITileEntityAuraCharged; public class NetworkEventHandler { diff --git a/src/main/java/magicbees/tileentity/AuraCharges.java b/src/main/java/magicbees/tileentity/AuraCharges.java index b2b1d15..36e25e1 100644 --- a/src/main/java/magicbees/tileentity/AuraCharges.java +++ b/src/main/java/magicbees/tileentity/AuraCharges.java @@ -3,11 +3,11 @@ package magicbees.tileentity; import java.util.HashMap; import java.util.Map; -import magicbees.bees.AuraCharge; - import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; +import magicbees.bees.AuraCharge; + public class AuraCharges { private static final String auraChargesTagName = "AuraCharges"; diff --git a/src/main/java/magicbees/tileentity/EffectJarHousing.java b/src/main/java/magicbees/tileentity/EffectJarHousing.java index dfe0aff..ebe7995 100644 --- a/src/main/java/magicbees/tileentity/EffectJarHousing.java +++ b/src/main/java/magicbees/tileentity/EffectJarHousing.java @@ -4,8 +4,6 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import magicbees.bees.BeeManager; - import net.minecraft.item.ItemStack; import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.Vec3; @@ -26,6 +24,7 @@ import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; import forestry.api.core.IErrorLogic; import forestry.api.core.IErrorState; +import magicbees.bees.BeeManager; /** * Simulates enough of a bee house to fire the bee effects. =D diff --git a/src/main/java/magicbees/tileentity/TileEntityEffectJar.java b/src/main/java/magicbees/tileentity/TileEntityEffectJar.java index be69667..e2e0e40 100644 --- a/src/main/java/magicbees/tileentity/TileEntityEffectJar.java +++ b/src/main/java/magicbees/tileentity/TileEntityEffectJar.java @@ -1,7 +1,5 @@ package magicbees.tileentity; -import magicbees.main.CommonProxy; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -14,6 +12,7 @@ import com.mojang.authlib.GameProfile; import forestry.api.apiculture.IBee; import forestry.api.genetics.IEffectData; +import magicbees.main.CommonProxy; public class TileEntityEffectJar extends TileEntity implements IInventory { diff --git a/src/main/java/magicbees/tileentity/TileEntityMagicApiary.java b/src/main/java/magicbees/tileentity/TileEntityMagicApiary.java index 8def485..4dad701 100644 --- a/src/main/java/magicbees/tileentity/TileEntityMagicApiary.java +++ b/src/main/java/magicbees/tileentity/TileEntityMagicApiary.java @@ -6,15 +6,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; -import magicbees.api.bees.IMagicApiaryAuraProvider; -import magicbees.bees.AuraCharge; -import magicbees.bees.BeeManager; -import magicbees.main.CommonProxy; -import magicbees.main.utils.ChunkCoords; -import magicbees.main.utils.ItemStackUtils; -import magicbees.main.utils.net.EventAuraChargeUpdate; -import magicbees.main.utils.net.NetworkEventHandler; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ICrafting; @@ -50,6 +41,14 @@ import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; import forestry.api.core.ForestryAPI; import forestry.api.core.IErrorLogic; +import magicbees.api.bees.IMagicApiaryAuraProvider; +import magicbees.bees.AuraCharge; +import magicbees.bees.BeeManager; +import magicbees.main.CommonProxy; +import magicbees.main.utils.ChunkCoords; +import magicbees.main.utils.ItemStackUtils; +import magicbees.main.utils.net.EventAuraChargeUpdate; +import magicbees.main.utils.net.NetworkEventHandler; public class TileEntityMagicApiary extends TileEntity implements ISidedInventory, IBeeHousing, ITileEntityAuraCharged { diff --git a/src/main/java/magicbees/tileentity/TileEntityManaAuraProvider.java b/src/main/java/magicbees/tileentity/TileEntityManaAuraProvider.java index f2a782a..5819881 100644 --- a/src/main/java/magicbees/tileentity/TileEntityManaAuraProvider.java +++ b/src/main/java/magicbees/tileentity/TileEntityManaAuraProvider.java @@ -3,19 +3,18 @@ package magicbees.tileentity; import java.util.HashMap; import java.util.Map; -import magicbees.api.bees.AuraChargeType; -import magicbees.api.bees.IMagicApiaryAuraProvider; -import magicbees.bees.AuraCharge; -import magicbees.main.CommonProxy; -import magicbees.main.utils.compat.BotaniaHelper; - import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; -import vazkii.botania.api.mana.IManaReceiver; import cpw.mods.fml.common.Optional; +import magicbees.api.bees.AuraChargeType; +import magicbees.api.bees.IMagicApiaryAuraProvider; +import magicbees.bees.AuraCharge; +import magicbees.main.CommonProxy; +import magicbees.main.utils.compat.BotaniaHelper; +import vazkii.botania.api.mana.IManaReceiver; @Optional.InterfaceList({ @Optional.Interface(iface = "vazkii.botania.api.mana.IManaReceiver", modid = BotaniaHelper.Name) }) diff --git a/src/main/java/magicbees/tileentity/TileEntityVisAuraProvider.java b/src/main/java/magicbees/tileentity/TileEntityVisAuraProvider.java index a1290cf..5bc0f27 100644 --- a/src/main/java/magicbees/tileentity/TileEntityVisAuraProvider.java +++ b/src/main/java/magicbees/tileentity/TileEntityVisAuraProvider.java @@ -3,14 +3,13 @@ package magicbees.tileentity; import java.util.HashMap; import java.util.Map; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; + import magicbees.api.bees.AuraChargeType; import magicbees.api.bees.IMagicApiaryAuraProvider; import magicbees.bees.AuraCharge; import magicbees.main.CommonProxy; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; - import thaumcraft.api.aspects.Aspect; import thaumcraft.api.visnet.VisNetHandler; diff --git a/src/main/java/magicbees/world/feature/FeatureOreVein.java b/src/main/java/magicbees/world/feature/FeatureOreVein.java index 9a4fcd8..19326d1 100644 --- a/src/main/java/magicbees/world/feature/FeatureOreVein.java +++ b/src/main/java/magicbees/world/feature/FeatureOreVein.java @@ -2,12 +2,12 @@ package magicbees.world.feature; import java.util.Random; -import magicbees.main.utils.BlockUtil; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; +import magicbees.main.utils.BlockUtil; + public class FeatureOreVein { public static final FeatureOreVein redstoneGen; diff --git a/src/main/java/magicbees/world/feature/HiveGenOblivion.java b/src/main/java/magicbees/world/feature/HiveGenOblivion.java index b1f0ead..4891671 100644 --- a/src/main/java/magicbees/world/feature/HiveGenOblivion.java +++ b/src/main/java/magicbees/world/feature/HiveGenOblivion.java @@ -1,12 +1,11 @@ package magicbees.world.feature; -import magicbees.main.utils.BlockUtil; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import forestry.api.apiculture.hives.IHiveGen; +import magicbees.main.utils.BlockUtil; public class HiveGenOblivion implements IHiveGen { diff --git a/src/main/java/magicbees/world/feature/HiveGenUnderground.java b/src/main/java/magicbees/world/feature/HiveGenUnderground.java index de33ef5..d70638d 100644 --- a/src/main/java/magicbees/world/feature/HiveGenUnderground.java +++ b/src/main/java/magicbees/world/feature/HiveGenUnderground.java @@ -1,12 +1,11 @@ package magicbees.world.feature; -import magicbees.main.utils.BlockUtil; - import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import forestry.api.apiculture.hives.IHiveGen; +import magicbees.main.utils.BlockUtil; public class HiveGenUnderground implements IHiveGen { diff --git a/src/main/resources/assets/magicbees/lang/en_US.lang b/src/main/resources/assets/magicbees/lang/en_US.lang index 5348712..bec079d 100644 --- a/src/main/resources/assets/magicbees/lang/en_US.lang +++ b/src/main/resources/assets/magicbees/lang/en_US.lang @@ -145,6 +145,9 @@ item.frameMetabolic.name=Metabolic Frame item.frameNecrotic.name=Necrotic Frame item.frameTemporal.name=Temporal Frame item.frameOblivion.name=Oblivion Frame +item.bloodFrame.name=Sanguis Artus +item.frenziedFrame.name=Maddening Frame of Frenzy +item.bloodSoakedFrame.name=Blood Frame #Capsules capsule.magic=%s Magic Capsule @@ -227,6 +230,16 @@ research.node.dark=Dark research.node.chaotic=Chaotic research.block.crystals=Crystal Cluster + +#Blood Magic Compat +tc.research_name.MB_BloodFrame=Sanguis Artus +tc.research_text.MB_BloodFrame=Welcome, honored guest. To the birthplace of our Dynasty! +tc.research_name.MB_FrenziedFrame=Maddening Frame of Frenzy +tc.research_text.MB_FrenziedFrame=May chaos take the world! May chaos take the world! +frenziedFrame.1=You don't know how it came to you... madness, is it not?
You remember yourself swearing to others that you heard some kind of voice in the back of your mind, almost silently... screaming? You can vaguely remember its ghastly call, screaming for you to burn the world in the purifying flames of chaos.
You took it into your hands, and you distinctly remember feeling the chaotic energies burning through your body, singeing your very mind in its fire.

But... surely you didn't, that would be madness after all... +bloodFrame.1=You feel a shiver pulse through your very soul as you hold this frame. You feel... horrified.
You aren't quite sure what you created while you were entranced in a blood-enraged frenzy, but you can only watch in abject terror as your bees slowly crumble before your very eyes, only to be replaced in a flash by grotesque simulacrum.
You almost swear you can see it... beating? As if somehow it were alive?
But... surely not, that would be madness after all... + + #Species magicbees.speciesMystical=Mystical magicbees.speciesMystical.description=Common in many parts of the world, these bees have a little extra whimsy about them.|Apinomicon diff --git a/src/main/resources/assets/magicbees/textures/items/bloodFrame.png b/src/main/resources/assets/magicbees/textures/items/bloodFrame.png new file mode 100644 index 0000000..f418658 Binary files /dev/null and b/src/main/resources/assets/magicbees/textures/items/bloodFrame.png differ diff --git a/src/main/resources/assets/magicbees/textures/items/bloodSoakedFrame.png b/src/main/resources/assets/magicbees/textures/items/bloodSoakedFrame.png new file mode 100644 index 0000000..717f240 Binary files /dev/null and b/src/main/resources/assets/magicbees/textures/items/bloodSoakedFrame.png differ diff --git a/src/main/resources/assets/magicbees/textures/items/frenziedFrame.png b/src/main/resources/assets/magicbees/textures/items/frenziedFrame.png new file mode 100644 index 0000000..00e9e18 Binary files /dev/null and b/src/main/resources/assets/magicbees/textures/items/frenziedFrame.png differ