diff --git a/dependencies.gradle b/dependencies.gradle index f4a365106..041826c01 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,12 +1,12 @@ // Add your dependencies here dependencies { - api('com.github.GTNewHorizons:ForestryMC:4.10.17:dev') - implementation('com.github.GTNewHorizons:GTNHLib:0.7.0:dev') + api('com.github.GTNewHorizons:ForestryMC:4.11.0:dev') + implementation('com.github.GTNewHorizons:GTNHLib:0.7.3:dev') - devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.8.0-GTNH:dev') + devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.8.26-GTNH:dev') - compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.44:api') + compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.45:api') compileOnly('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev') compileOnly("curse.maven:extrabiomesxl-60041:2273301") } diff --git a/gradle.properties b/gradle.properties index 3b3fb1af3..21bd5cd72 100644 --- a/gradle.properties +++ b/gradle.properties @@ -43,6 +43,10 @@ developmentEnvironmentUserName = Developer # See https://github.com/bsideup/jabel for details on how this works. enableModernJavaSyntax = true +# If set, ignores the above setting and compiles with the given toolchain. This may cause unexpected issues, +# and should *not* be used in most situations. -1 disables this. +# forceToolchainVersion = -1 + # Enables injecting missing generics into the decompiled source code for a better coding experience. # Turns most publicly visible List, Map, etc. into proper List, Map types. enableGenericInjection = true @@ -96,7 +100,9 @@ usesMixinDebug = false # Specify the location of your implementation of IMixinConfigPlugin. Leave it empty otherwise. mixinPlugin = -# Specify the package that contains all of your Mixins. You may only place Mixins in this package or the build will fail! +# Specify the package that contains all of your Mixins. The package must exist or +# the build will fail. If you have a package property defined in your mixins..json, +# it must match with this or the build will fail. mixinsPackage = # Specify the core mod entry class if you use a core mod. This class must implement IFMLLoadingPlugin! @@ -172,6 +178,12 @@ curseForgeRelations = # projects. New projects should not use this parameter. customArchiveBaseName = binnie-mods +# Optional parameter to customize the default working directory used by the runClient* tasks. Relative to the project directory. +# runClientWorkingDirectory = run/client + +# Optional parameter to customize the default working directory used by the runServer* tasks. Relative to the project directory. +# runServerWorkingDirectory = run/server + # Optional parameter to have the build automatically fail if an illegal version is used. # This can be useful if you e.g. only want to allow versions in the form of '1.1.xxx'. # The check is ONLY performed if the version is a git tag. diff --git a/gradle/gradle-daemon-jvm.properties b/gradle/gradle-daemon-jvm.properties new file mode 100644 index 000000000..b612cc98f --- /dev/null +++ b/gradle/gradle-daemon-jvm.properties @@ -0,0 +1,12 @@ +#This file is generated by updateDaemonJvm +toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/c5ee947fbfb70bc347d8d531e3a578c4/redirect +toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/5ee463876563a46fff651cce1bc53a4c/redirect +toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/c5ee947fbfb70bc347d8d531e3a578c4/redirect +toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/5ee463876563a46fff651cce1bc53a4c/redirect +toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/e1118b4c7c2858d28154d086dbff010e/redirect +toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/59a9771cad43219260d9aac9a8ec4d6a/redirect +toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/c5ee947fbfb70bc347d8d531e3a578c4/redirect +toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/5ee463876563a46fff651cce1bc53a4c/redirect +toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/832229f0f6f0be60ed817c5a5e5848eb/redirect +toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/b96cb7670c095245220e7d01d5927b58/redirect +toolchainVersion=25 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 9bbc975c7..f8e1ee312 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 37f853b1c..23449a2b5 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-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index faf93008b..adff685a0 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015-2021 the original authors. +# Copyright © 2015 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -114,7 +114,6 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -172,7 +171,6 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -212,8 +210,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/gradlew.bat b/gradlew.bat index 9d21a2183..c4bdd3ab8 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,10 @@ goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/settings.gradle b/settings.gradle index 5da5eee06..2b172cf97 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,5 +17,5 @@ pluginManagement { } plugins { - id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.43' + id 'com.gtnewhorizons.gtnhsettingsconvention' version '2.0.6' } diff --git a/src/main/java/binnie/Binnie.java b/src/main/java/binnie/Binnie.java index bfd4bfb0a..d836e5049 100644 --- a/src/main/java/binnie/Binnie.java +++ b/src/main/java/binnie/Binnie.java @@ -5,7 +5,6 @@ import binnie.core.ManagerBase; import binnie.core.genetics.ManagerGenetics; -import binnie.core.item.ManagerItem; import binnie.core.liquid.ManagerLiquid; import binnie.core.machines.ManagerMachine; import binnie.core.resource.ManagerResource; @@ -16,6 +15,5 @@ public final class Binnie { public static ManagerGenetics Genetics = new ManagerGenetics(); public static ManagerLiquid Liquid = new ManagerLiquid(); public static ManagerMachine Machine = new ManagerMachine(); - public static ManagerItem Item = new ManagerItem(); public static ManagerResource Resource = new ManagerResource(); } diff --git a/src/main/java/binnie/botany/Botany.java b/src/main/java/binnie/botany/Botany.java index 3ae6a9447..c58a8a413 100644 --- a/src/main/java/binnie/botany/Botany.java +++ b/src/main/java/binnie/botany/Botany.java @@ -64,32 +64,37 @@ public class Botany extends AbstractMod { @SidedProxy(clientSide = "binnie.botany.proxy.ProxyClient", serverSide = "binnie.botany.proxy.ProxyServer") public static Proxy proxy; + // Genetics module public static BlockFlower flower; - public static Item seed; + + public static ItemFlower flowerItem; public static Item pollen; + public static Item seed; public static ItemDictionary database; + + // Gardening module public static BlockPlant plant; - public static ItemTrowel trowelWood; - public static ItemTrowel trowelStone; - public static ItemTrowel trowelIron; - public static ItemTrowel trowelDiamond; - public static ItemTrowel trowelGold; public static BlockSoil soil; public static BlockSoil loam; public static BlockSoil flowerbed; public static BlockSoil soilNoWeed; public static BlockSoil loamNoWeed; public static BlockSoil flowerbedNoWeed; - public static ItemInsulatedTube insulatedTube; + public static BlockCeramic ceramic; + public static BlockStained stained; + public static BlockCeramicPatterned ceramicTile; + public static BlockCeramicBrick ceramicBrick; + public static ItemSoilMeter soilMeter; + public static ItemInsulatedTube insulatedTube; + public static ItemTrowel trowelWood; + public static ItemTrowel trowelStone; + public static ItemTrowel trowelIron; + public static ItemTrowel trowelDiamond; + public static ItemTrowel trowelGold; public static ItemMisc misc; - public static ItemFlower flowerItem; public static ItemPigment pigment; public static ItemClay clay; - public static BlockCeramic ceramic; - public static BlockCeramicPatterned ceramicTile; - public static BlockStained stained; - public static BlockCeramicBrick ceramicBrick; public Botany() { Botany.instance = this; diff --git a/src/main/java/binnie/botany/flower/ItemBotany.java b/src/main/java/binnie/botany/flower/ItemBotany.java index adf59c3fc..a0fa48e46 100644 --- a/src/main/java/binnie/botany/flower/ItemBotany.java +++ b/src/main/java/binnie/botany/flower/ItemBotany.java @@ -1,5 +1,7 @@ package binnie.botany.flower; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.block.Block; @@ -39,6 +41,8 @@ public ItemBotany(String name) { setCreativeTab(CreativeTabBotany.instance); setUnlocalizedName(name); hasSubtypes = true; + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/botany/flower/ItemInsulatedTube.java b/src/main/java/binnie/botany/flower/ItemInsulatedTube.java index 068dd7923..73842c5cd 100644 --- a/src/main/java/binnie/botany/flower/ItemInsulatedTube.java +++ b/src/main/java/binnie/botany/flower/ItemInsulatedTube.java @@ -1,5 +1,7 @@ package binnie.botany.flower; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,6 +27,8 @@ public ItemInsulatedTube() { setUnlocalizedName("insulatedTube"); setCreativeTab(CreativeTabBotany.instance); setHasSubtypes(true); + + registerItem(this, getUnlocalizedName().substring(5)); } public static ItemStack getInsulateStack(ItemStack stack) { diff --git a/src/main/java/binnie/botany/gardening/ItemSoilMeter.java b/src/main/java/binnie/botany/gardening/ItemSoilMeter.java index 5173969e7..6aea12854 100644 --- a/src/main/java/binnie/botany/gardening/ItemSoilMeter.java +++ b/src/main/java/binnie/botany/gardening/ItemSoilMeter.java @@ -1,5 +1,7 @@ package binnie.botany.gardening; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -28,6 +30,8 @@ public ItemSoilMeter() { setCreativeTab(CreativeTabBotany.instance); setUnlocalizedName("soilMeter"); setMaxStackSize(1); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/botany/gardening/ItemTrowel.java b/src/main/java/binnie/botany/gardening/ItemTrowel.java index 5a2408c14..01a3cfea6 100644 --- a/src/main/java/binnie/botany/gardening/ItemTrowel.java +++ b/src/main/java/binnie/botany/gardening/ItemTrowel.java @@ -1,5 +1,7 @@ package binnie.botany.gardening; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -28,6 +30,8 @@ public ItemTrowel(Item.ToolMaterial toolMaterial, String material) { setCreativeTab(CreativeTabBotany.instance); setUnlocalizedName("trowel" + material); locName = "trowel" + material; + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/botany/gardening/ModuleGardening.java b/src/main/java/binnie/botany/gardening/ModuleGardening.java index 55bf7a3c2..4f1349647 100644 --- a/src/main/java/binnie/botany/gardening/ModuleGardening.java +++ b/src/main/java/binnie/botany/gardening/ModuleGardening.java @@ -12,7 +12,6 @@ import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; -import binnie.Binnie; import binnie.botany.Botany; import binnie.botany.CreativeTabBotany; import binnie.botany.api.EnumAcidity; @@ -37,6 +36,7 @@ import binnie.core.block.ItemMetadataRenderer; import binnie.core.block.MultipassItemRenderer; import binnie.core.block.TileEntityMetadata; +import binnie.core.item.ItemMisc; import cpw.mods.fml.common.registry.GameRegistry; public class ModuleGardening implements IInitializable { @@ -75,7 +75,7 @@ public void preInit() { Botany.trowelIron = new ItemTrowel(Item.ToolMaterial.IRON, "Iron"); Botany.trowelDiamond = new ItemTrowel(Item.ToolMaterial.EMERALD, "Diamond"); Botany.trowelGold = new ItemTrowel(Item.ToolMaterial.GOLD, "Gold"); - Botany.misc = Binnie.Item.registerMiscItems(BotanyItems.values(), CreativeTabBotany.instance); + Botany.misc = new ItemMisc(CreativeTabBotany.instance, BotanyItems.values()); Botany.pigment = new ItemPigment(); Botany.clay = new ItemClay(); diff --git a/src/main/java/binnie/botany/genetics/ItemDictionary.java b/src/main/java/binnie/botany/genetics/ItemDictionary.java index 7a38f852f..82a868ff8 100644 --- a/src/main/java/binnie/botany/genetics/ItemDictionary.java +++ b/src/main/java/binnie/botany/genetics/ItemDictionary.java @@ -1,5 +1,7 @@ package binnie.botany.genetics; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,6 +27,8 @@ public ItemDictionary() { setCreativeTab(CreativeTabBotany.instance); setUnlocalizedName("database"); setMaxStackSize(1); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/botany/items/ItemClay.java b/src/main/java/binnie/botany/items/ItemClay.java index bc116aea8..e3c2900b4 100644 --- a/src/main/java/binnie/botany/items/ItemClay.java +++ b/src/main/java/binnie/botany/items/ItemClay.java @@ -1,5 +1,7 @@ package binnie.botany.items; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -22,6 +24,8 @@ public ItemClay() { setUnlocalizedName("clay"); setHasSubtypes(true); setCreativeTab(CreativeTabBotany.instance); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/botany/items/ItemPigment.java b/src/main/java/binnie/botany/items/ItemPigment.java index fe2ae7870..cf9bb5753 100644 --- a/src/main/java/binnie/botany/items/ItemPigment.java +++ b/src/main/java/binnie/botany/items/ItemPigment.java @@ -1,5 +1,7 @@ package binnie.botany.items; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -22,6 +24,8 @@ public ItemPigment() { setUnlocalizedName("pigment"); setHasSubtypes(true); setCreativeTab(CreativeTabBotany.instance); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/core/AbstractMod.java b/src/main/java/binnie/core/AbstractMod.java index a5d2054d4..dc3cb53dd 100644 --- a/src/main/java/binnie/core/AbstractMod.java +++ b/src/main/java/binnie/core/AbstractMod.java @@ -1,13 +1,9 @@ package binnie.core; -import java.lang.reflect.Field; import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedHashSet; import java.util.List; import binnie.core.gui.IBinnieGUID; -import binnie.core.mod.parser.FieldParser; import binnie.core.network.BinniePacketHandler; import binnie.core.network.IPacketID; import binnie.core.network.IPacketProvider; @@ -20,11 +16,9 @@ public abstract class AbstractMod implements IPacketProvider, IInitializable { private SimpleNetworkWrapper wrapper; - private final LinkedHashSet fields; protected final List modules; public AbstractMod() { - fields = new LinkedHashSet<>(); modules = new ArrayList<>(); BinnieCore.registerMod(this); } @@ -65,22 +59,6 @@ public void preInit() { for (IInitializable module : modules) { module.preInit(); } - - // TODO what does it mean? - Collections.addAll(fields, getClass().getFields()); - for (Class cls : getClass().getClasses()) { - Collections.addAll(fields, getClass().getFields()); - } - for (IInitializable module : modules) { - Collections.addAll(fields, module.getClass().getFields()); - } - for (Field field4 : fields) { - try { - FieldParser.preInitParse(field4, this); - } catch (Exception e) { - throw new RuntimeException(e); - } - } } @Override @@ -96,14 +74,6 @@ public void init() { for (IInitializable module : modules) { module.init(); } - - for (Field field : fields) { - try { - FieldParser.initParse(field, this); - } catch (Exception e) { - throw new RuntimeException(e); - } - } } @Override @@ -116,14 +86,6 @@ public void postInit() { for (IInitializable module : modules) { module.postInit(); } - - for (Field field : fields) { - try { - FieldParser.postInitParse(field, this); - } catch (Exception e) { - throw new RuntimeException(e); - } - } } protected void addModule(IInitializable init) { diff --git a/src/main/java/binnie/core/BinnieCore.java b/src/main/java/binnie/core/BinnieCore.java index 41128eec1..160684846 100644 --- a/src/main/java/binnie/core/BinnieCore.java +++ b/src/main/java/binnie/core/BinnieCore.java @@ -22,8 +22,6 @@ import binnie.core.liquid.ItemFluidContainer; import binnie.core.machines.MachineGroup; import binnie.core.machines.storage.ModuleStorage; -import binnie.core.mod.parser.FieldParser; -import binnie.core.mod.parser.ItemParser; import binnie.core.network.BinnieCorePacketID; import binnie.core.network.BinniePacketHandler; import binnie.core.network.IPacketID; @@ -110,7 +108,6 @@ public void preInit() { Item item = new ItemFluidContainer(container); GameRegistry.registerItem(item, item.getUnlocalizedName().substring(5)); } - FieldParser.parsers.add(new ItemParser()); super.preInit(); } diff --git a/src/main/java/binnie/core/item/ItemGenesis.java b/src/main/java/binnie/core/item/ItemGenesis.java index cb24faef8..fe7278283 100644 --- a/src/main/java/binnie/core/item/ItemGenesis.java +++ b/src/main/java/binnie/core/item/ItemGenesis.java @@ -1,5 +1,7 @@ package binnie.core.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -25,6 +27,8 @@ public ItemGenesis() { setCreativeTab(Tabs.tabApiculture); setUnlocalizedName("genesis"); setMaxStackSize(1); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/core/item/ItemMisc.java b/src/main/java/binnie/core/item/ItemMisc.java index 05909bf89..b18163610 100644 --- a/src/main/java/binnie/core/item/ItemMisc.java +++ b/src/main/java/binnie/core/item/ItemMisc.java @@ -1,5 +1,7 @@ package binnie.core.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -16,11 +18,13 @@ public class ItemMisc extends Item { private final IItemMisc[] items; - protected ItemMisc(CreativeTabs tab, IItemMisc[] items2) { + public ItemMisc(CreativeTabs tab, IItemMisc[] items) { setCreativeTab(tab); setHasSubtypes(true); setUnlocalizedName("misc"); - items = items2; + this.items = items; + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/core/item/ManagerItem.java b/src/main/java/binnie/core/item/ManagerItem.java deleted file mode 100644 index d9b8d5dfc..000000000 --- a/src/main/java/binnie/core/item/ManagerItem.java +++ /dev/null @@ -1,10 +0,0 @@ -package binnie.core.item; - -import net.minecraft.creativetab.CreativeTabs; - -public class ManagerItem { - - public ItemMisc registerMiscItems(IItemMisc[] items, CreativeTabs tab) { - return new ItemMisc(tab, items); - } -} diff --git a/src/main/java/binnie/core/mod/parser/FieldParser.java b/src/main/java/binnie/core/mod/parser/FieldParser.java deleted file mode 100644 index 3e2886694..000000000 --- a/src/main/java/binnie/core/mod/parser/FieldParser.java +++ /dev/null @@ -1,52 +0,0 @@ -package binnie.core.mod.parser; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Collection; - -import binnie.core.AbstractMod; - -public abstract class FieldParser { - - public static Collection parsers = new ArrayList<>(); - - public abstract boolean isHandled(Field field, AbstractMod mod); - - public void preInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - // ignored - } - - public void init(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - // ignored - } - - public void postInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - // ignored - } - - public static void preInitParse(Field field, AbstractMod mod) - throws IllegalArgumentException, IllegalAccessException { - for (FieldParser parser : FieldParser.parsers) { - if (parser.isHandled(field, mod)) { - parser.preInit(field, mod); - } - } - } - - public static void initParse(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - for (FieldParser parser : FieldParser.parsers) { - if (parser.isHandled(field, mod)) { - parser.init(field, mod); - } - } - } - - public static void postInitParse(Field field, AbstractMod mod) - throws IllegalArgumentException, IllegalAccessException { - for (FieldParser parser : FieldParser.parsers) { - if (parser.isHandled(field, mod)) { - parser.postInit(field, mod); - } - } - } -} diff --git a/src/main/java/binnie/core/mod/parser/ItemParser.java b/src/main/java/binnie/core/mod/parser/ItemParser.java deleted file mode 100644 index 46b7abdaf..000000000 --- a/src/main/java/binnie/core/mod/parser/ItemParser.java +++ /dev/null @@ -1,24 +0,0 @@ -package binnie.core.mod.parser; - -import java.lang.reflect.Field; - -import net.minecraft.item.Item; - -import binnie.core.AbstractMod; -import cpw.mods.fml.common.registry.GameRegistry; - -public class ItemParser extends FieldParser { - - @Override - public boolean isHandled(Field field, AbstractMod mod) { - return Item.class.isAssignableFrom(field.getType()); - } - - @Override - public void preInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - Item item = (Item) field.get(null); - if (item != null) { - GameRegistry.registerItem(item, item.getUnlocalizedName().substring(5)); - } - } -} diff --git a/src/main/java/binnie/extrabees/ExtraBees.java b/src/main/java/binnie/extrabees/ExtraBees.java index 12bcc092a..2da46ef8c 100644 --- a/src/main/java/binnie/extrabees/ExtraBees.java +++ b/src/main/java/binnie/extrabees/ExtraBees.java @@ -2,7 +2,6 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.item.Item; import com.gtnewhorizon.gtnhlib.config.ConfigException; import com.gtnewhorizon.gtnhlib.config.ConfigurationManager; @@ -11,6 +10,7 @@ import binnie.core.BinnieCore; import binnie.core.Tags; import binnie.core.gui.IBinnieGUID; +import binnie.core.item.ItemMisc; import binnie.core.network.BinniePacketHandler; import binnie.core.proxy.IProxyCore; import binnie.extrabees.apiary.ModuleApiary; @@ -18,7 +18,11 @@ import binnie.extrabees.core.ExtraBeeGUID; import binnie.extrabees.core.ModuleCore; import binnie.extrabees.genetics.ModuleGenetics; +import binnie.extrabees.genetics.items.ItemDictionary; import binnie.extrabees.liquids.ModuleLiquids; +import binnie.extrabees.products.ItemHoneyComb; +import binnie.extrabees.products.ItemHoneyDrop; +import binnie.extrabees.products.ItemPropolis; import binnie.extrabees.products.ModuleProducts; import binnie.extrabees.proxy.ExtraBeesProxy; import binnie.extrabees.worldgen.ModuleGeneration; @@ -58,11 +62,11 @@ public class ExtraBees extends AbstractMod { public static Block hive; public static Material materialBeehive; public static Block ectoplasm; - public static Item comb; - public static Item propolis; - public static Item honeyDrop; - public static Item dictionary; - public static Item itemMisc; + public static ItemHoneyComb comb; + public static ItemPropolis propolis; + public static ItemHoneyDrop honeyDrop; + public static ItemDictionary dictionary; + public static ItemMisc itemMisc; public ExtraBees() { ExtraBees.instance = this; diff --git a/src/main/java/binnie/extrabees/core/ModuleCore.java b/src/main/java/binnie/extrabees/core/ModuleCore.java index 3f914f267..d5df65d03 100644 --- a/src/main/java/binnie/extrabees/core/ModuleCore.java +++ b/src/main/java/binnie/extrabees/core/ModuleCore.java @@ -1,7 +1,7 @@ package binnie.extrabees.core; -import binnie.Binnie; import binnie.core.IInitializable; +import binnie.core.item.ItemMisc; import binnie.extrabees.ExtraBees; import forestry.api.core.Tabs; @@ -9,7 +9,7 @@ public class ModuleCore implements IInitializable { @Override public void preInit() { - ExtraBees.itemMisc = Binnie.Item.registerMiscItems(ExtraBeeItems.values(), Tabs.tabApiculture); + ExtraBees.itemMisc = new ItemMisc(Tabs.tabApiculture, ExtraBeeItems.values()); } @Override diff --git a/src/main/java/binnie/extrabees/genetics/items/ItemDictionary.java b/src/main/java/binnie/extrabees/genetics/items/ItemDictionary.java index bbb5df2c2..7e89cf38d 100644 --- a/src/main/java/binnie/extrabees/genetics/items/ItemDictionary.java +++ b/src/main/java/binnie/extrabees/genetics/items/ItemDictionary.java @@ -1,5 +1,7 @@ package binnie.extrabees.genetics.items; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,6 +27,8 @@ public ItemDictionary() { setCreativeTab(Tabs.tabApiculture); setUnlocalizedName("dictionary"); setMaxStackSize(1); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/extrabees/products/ItemHoneyComb.java b/src/main/java/binnie/extrabees/products/ItemHoneyComb.java index fbb1c0efe..581b9e47f 100644 --- a/src/main/java/binnie/extrabees/products/ItemHoneyComb.java +++ b/src/main/java/binnie/extrabees/products/ItemHoneyComb.java @@ -21,9 +21,8 @@ public class ItemHoneyComb extends ItemProduct { protected IIcon icon2; public ItemHoneyComb() { - super(EnumHoneyComb.values()); + super("honeyComb", EnumHoneyComb.values()); setCreativeTab(Tabs.tabApiculture); - setUnlocalizedName("honeyComb"); } public static void addSubtypes() { diff --git a/src/main/java/binnie/extrabees/products/ItemHoneyDrop.java b/src/main/java/binnie/extrabees/products/ItemHoneyDrop.java index 8a44cf03f..3208b7b3b 100644 --- a/src/main/java/binnie/extrabees/products/ItemHoneyDrop.java +++ b/src/main/java/binnie/extrabees/products/ItemHoneyDrop.java @@ -15,9 +15,8 @@ public class ItemHoneyDrop extends ItemProduct { protected IIcon icon2; public ItemHoneyDrop() { - super(EnumHoneyDrop.values()); + super("honeyDrop", EnumHoneyDrop.values()); setCreativeTab(Tabs.tabApiculture); - setUnlocalizedName("honeyDrop"); } @Override diff --git a/src/main/java/binnie/extrabees/products/ItemProduct.java b/src/main/java/binnie/extrabees/products/ItemProduct.java index fed448af9..513bf9cc5 100644 --- a/src/main/java/binnie/extrabees/products/ItemProduct.java +++ b/src/main/java/binnie/extrabees/products/ItemProduct.java @@ -1,5 +1,7 @@ package binnie.extrabees.products; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.creativetab.CreativeTabs; @@ -12,11 +14,14 @@ public class ItemProduct extends Item { protected IItemEnum[] types; - public ItemProduct(IItemEnum[] types) { + public ItemProduct(String name, IItemEnum[] types) { this.types = types; setMaxStackSize(64); setMaxDamage(0); setHasSubtypes(true); + setUnlocalizedName(name); + + registerItem(this, getUnlocalizedName().substring(5)); } public IItemEnum get(ItemStack stack) { diff --git a/src/main/java/binnie/extrabees/products/ItemPropolis.java b/src/main/java/binnie/extrabees/products/ItemPropolis.java index 0278cb9f4..c9b1a0658 100644 --- a/src/main/java/binnie/extrabees/products/ItemPropolis.java +++ b/src/main/java/binnie/extrabees/products/ItemPropolis.java @@ -11,9 +11,8 @@ public class ItemPropolis extends ItemProduct { public ItemPropolis() { - super(EnumPropolis.values()); + super("propolis", EnumPropolis.values()); setCreativeTab(Tabs.tabApiculture); - setUnlocalizedName("propolis"); } @Override diff --git a/src/main/java/binnie/extratrees/ExtraTrees.java b/src/main/java/binnie/extratrees/ExtraTrees.java index 7c43941f0..2e4d65d17 100644 --- a/src/main/java/binnie/extratrees/ExtraTrees.java +++ b/src/main/java/binnie/extratrees/ExtraTrees.java @@ -4,7 +4,6 @@ import static binnie.extratrees.ExtraTrees.ET_MODID; import net.minecraft.block.Block; -import net.minecraft.item.Item; import com.gtnewhorizon.gtnhlib.config.ConfigException; import com.gtnewhorizon.gtnhlib.config.ConfigurationManager; @@ -13,6 +12,7 @@ import binnie.core.BinnieCore; import binnie.core.Tags; import binnie.core.gui.IBinnieGUID; +import binnie.core.item.ItemMisc; import binnie.core.network.BinniePacketHandler; import binnie.core.proxy.IProxyCore; import binnie.extrabees.ExtraBees; @@ -26,6 +26,10 @@ import binnie.extratrees.core.ExtraTreesGUID; import binnie.extratrees.core.ModuleCore; import binnie.extratrees.genetics.ModuleGenetics; +import binnie.extratrees.item.ItemDictionary; +import binnie.extratrees.item.ItemFood; +import binnie.extratrees.item.ItemHammer; +import binnie.extratrees.item.ItemMothDatabase; import binnie.extratrees.item.ModuleItems; import binnie.extratrees.machines.ModuleMachine; import binnie.extratrees.nei.IMCForNEI; @@ -61,10 +65,13 @@ public class ExtraTrees extends AbstractMod { } } - public static Item itemDictionary; - public static Item itemDictionaryLepi; - public static Item itemMisc; - public static Item itemFood; + public static ItemDictionary itemDictionary; + public static ItemMothDatabase itemDictionaryLepi; + public static ItemMisc itemMisc; + public static ItemFood itemFood; + public static ItemHammer itemHammer; + public static ItemHammer itemDurableHammer; + public static Block blockStairs; public static Block blockLog; public static BlockCarpentry blockCarpentry; @@ -75,13 +82,12 @@ public class ExtraTrees extends AbstractMod { public static BlockCarpentry blockPanel; public static Block blockSlab; public static Block blockDoubleSlab; - public static Item itemHammer; - public static Item itemDurableHammer; public static Block blockGate; public static Block blockDoor; public static BlockMultiFence blockMultiFence; public static BlockHedge blockHedge; public static BlockStainedDesign blockStained; + public static int doorRenderId; public static int branchRenderId; public static int fenceID; diff --git a/src/main/java/binnie/extratrees/item/ItemDictionary.java b/src/main/java/binnie/extratrees/item/ItemDictionary.java index 822faff5e..572421de2 100644 --- a/src/main/java/binnie/extratrees/item/ItemDictionary.java +++ b/src/main/java/binnie/extratrees/item/ItemDictionary.java @@ -1,5 +1,7 @@ package binnie.extratrees.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,6 +27,8 @@ public ItemDictionary() { setCreativeTab(Tabs.tabArboriculture); setUnlocalizedName("database"); setMaxStackSize(1); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/extratrees/item/ItemFood.java b/src/main/java/binnie/extratrees/item/ItemFood.java index 712914e08..75998c4b9 100644 --- a/src/main/java/binnie/extratrees/item/ItemFood.java +++ b/src/main/java/binnie/extratrees/item/ItemFood.java @@ -1,5 +1,7 @@ package binnie.extratrees.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -24,6 +26,8 @@ public ItemFood() { setCreativeTab(Tabs.tabArboriculture); setHasSubtypes(true); items = Food.values(); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/extratrees/item/ItemHammer.java b/src/main/java/binnie/extratrees/item/ItemHammer.java index 783e27ee3..00ab0fb69 100644 --- a/src/main/java/binnie/extratrees/item/ItemHammer.java +++ b/src/main/java/binnie/extratrees/item/ItemHammer.java @@ -1,5 +1,7 @@ package binnie.extratrees.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -22,6 +24,8 @@ public ItemHammer(boolean durable) { setUnlocalizedName(durable ? "durableHammer" : "hammer"); setMaxStackSize(1); setMaxDamage(durable ? 1562 : 251); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/extratrees/item/ItemMothDatabase.java b/src/main/java/binnie/extratrees/item/ItemMothDatabase.java index 46c056c26..6d5c2b036 100644 --- a/src/main/java/binnie/extratrees/item/ItemMothDatabase.java +++ b/src/main/java/binnie/extratrees/item/ItemMothDatabase.java @@ -1,5 +1,7 @@ package binnie.extratrees.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,6 +27,8 @@ public ItemMothDatabase() { setCreativeTab(Tabs.tabLepidopterology); setUnlocalizedName("databaseMoth"); setMaxStackSize(1); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/extratrees/item/ModuleItems.java b/src/main/java/binnie/extratrees/item/ModuleItems.java index a884aefd2..23ea53f34 100644 --- a/src/main/java/binnie/extratrees/item/ModuleItems.java +++ b/src/main/java/binnie/extratrees/item/ModuleItems.java @@ -28,7 +28,7 @@ public class ModuleItems implements IInitializable { @Override public void preInit() { - ExtraTrees.itemMisc = Binnie.Item.registerMiscItems(ExtraTreeItems.values(), Tabs.tabArboriculture); + ExtraTrees.itemMisc = new ItemMisc(Tabs.tabArboriculture, ExtraTreeItems.values()); ExtraTrees.itemDictionary = new ItemDictionary(); if (BinnieCore.isLepidopteryActive()) { ExtraTrees.itemDictionaryLepi = new ItemMothDatabase(); diff --git a/src/main/java/binnie/genetics/Genetics.java b/src/main/java/binnie/genetics/Genetics.java index 441236478..48a4e585a 100644 --- a/src/main/java/binnie/genetics/Genetics.java +++ b/src/main/java/binnie/genetics/Genetics.java @@ -1,10 +1,9 @@ package binnie.genetics; -import net.minecraft.item.Item; - import binnie.core.AbstractMod; import binnie.core.Tags; import binnie.core.gui.IBinnieGUID; +import binnie.core.item.ItemMisc; import binnie.core.machines.MachineGroup; import binnie.core.network.BinniePacketHandler; import binnie.core.network.IPacketID; @@ -13,6 +12,10 @@ import binnie.genetics.core.GeneticsPacket; import binnie.genetics.item.ItemAnalyst; import binnie.genetics.item.ItemDatabase; +import binnie.genetics.item.ItemMasterRegistry; +import binnie.genetics.item.ItemRegistry; +import binnie.genetics.item.ItemSequence; +import binnie.genetics.item.ItemSerum; import binnie.genetics.item.ItemSerumArray; import binnie.genetics.item.ModuleItem; import binnie.genetics.machine.ModuleMachine; @@ -38,18 +41,20 @@ public class Genetics extends AbstractMod { @SidedProxy(clientSide = "binnie.genetics.proxy.ProxyClient", serverSide = "binnie.genetics.proxy.ProxyServer") public static Proxy proxy; - public static ItemSerumArray itemSerumArray = null; public static final String CHANNEL = "GEN"; - public static Item itemGenetics; - public static Item itemSerum; - public static Item itemSequencer; + + public static ItemSerumArray itemSerumArray = null; + public static ItemMisc itemGenetics; + public static ItemSerum itemSerum; + public static ItemSequence itemSequencer; + public static ItemDatabase database; + public static ItemAnalyst analyst; + public static ItemRegistry registry; + public static ItemMasterRegistry masterRegistry; + public static MachineGroup packageGenetic; public static MachineGroup packageAdvGenetic; public static MachineGroup packageLabMachine; - public static ItemDatabase database; - public static ItemAnalyst analyst; - public static Item registry; - public static Item masterRegistry; public Genetics() { Genetics.instance = this; diff --git a/src/main/java/binnie/genetics/item/GeneticsItems.java b/src/main/java/binnie/genetics/item/GeneticsItems.java index 7a6b24db3..5078cbe63 100644 --- a/src/main/java/binnie/genetics/item/GeneticsItems.java +++ b/src/main/java/binnie/genetics/item/GeneticsItems.java @@ -56,9 +56,6 @@ public String getName(ItemStack itemStack) { @Override public ItemStack get(int count) { - if (Genetics.itemGenetics == null) { - return null; - } return new ItemStack(Genetics.itemGenetics, count, ordinal()); } diff --git a/src/main/java/binnie/genetics/item/ItemAnalyst.java b/src/main/java/binnie/genetics/item/ItemAnalyst.java index c58f9231b..53e6bf1c9 100644 --- a/src/main/java/binnie/genetics/item/ItemAnalyst.java +++ b/src/main/java/binnie/genetics/item/ItemAnalyst.java @@ -1,5 +1,7 @@ package binnie.genetics.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -19,6 +21,8 @@ public ItemAnalyst() { setCreativeTab(GeneticsCreativeTab.instance); setUnlocalizedName("analyst"); setMaxStackSize(1); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/genetics/item/ItemDatabase.java b/src/main/java/binnie/genetics/item/ItemDatabase.java index a2a3ab80f..d9a7fa829 100644 --- a/src/main/java/binnie/genetics/item/ItemDatabase.java +++ b/src/main/java/binnie/genetics/item/ItemDatabase.java @@ -1,5 +1,7 @@ package binnie.genetics.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,6 +27,8 @@ public ItemDatabase() { setCreativeTab(GeneticsCreativeTab.instance); setUnlocalizedName("database"); setMaxStackSize(1); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/genetics/item/ItemFieldKit.java b/src/main/java/binnie/genetics/item/ItemFieldKit.java index 547605c4b..42c3617e0 100644 --- a/src/main/java/binnie/genetics/item/ItemFieldKit.java +++ b/src/main/java/binnie/genetics/item/ItemFieldKit.java @@ -1,5 +1,7 @@ package binnie.genetics.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -29,6 +31,8 @@ public ItemFieldKit() { setCreativeTab(GeneticsCreativeTab.instance); setMaxStackSize(1); setMaxDamage(64); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/genetics/item/ItemGene.java b/src/main/java/binnie/genetics/item/ItemGene.java index b25e52383..6034ef652 100644 --- a/src/main/java/binnie/genetics/item/ItemGene.java +++ b/src/main/java/binnie/genetics/item/ItemGene.java @@ -1,5 +1,7 @@ package binnie.genetics.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -26,6 +28,8 @@ public ItemGene(String unlocName) { setMaxDamage(16); setUnlocalizedName(unlocName); setCreativeTab(GeneticsCreativeTab.instance); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/genetics/item/ItemMasterRegistry.java b/src/main/java/binnie/genetics/item/ItemMasterRegistry.java index 6a861e458..e5a6808de 100644 --- a/src/main/java/binnie/genetics/item/ItemMasterRegistry.java +++ b/src/main/java/binnie/genetics/item/ItemMasterRegistry.java @@ -1,5 +1,7 @@ package binnie.genetics.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -19,6 +21,8 @@ public ItemMasterRegistry() { setCreativeTab(GeneticsCreativeTab.instance); setUnlocalizedName("masterRegistry"); setMaxStackSize(1); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/genetics/item/ItemRegistry.java b/src/main/java/binnie/genetics/item/ItemRegistry.java index f3f83cbde..2659b5b3e 100644 --- a/src/main/java/binnie/genetics/item/ItemRegistry.java +++ b/src/main/java/binnie/genetics/item/ItemRegistry.java @@ -1,5 +1,7 @@ package binnie.genetics.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -19,6 +21,8 @@ public ItemRegistry() { setCreativeTab(GeneticsCreativeTab.instance); setUnlocalizedName("registry"); setMaxStackSize(1); + + registerItem(this, getUnlocalizedName().substring(5)); } @Override diff --git a/src/main/java/binnie/genetics/item/ItemSequence.java b/src/main/java/binnie/genetics/item/ItemSequence.java index d07e27e6d..077256934 100644 --- a/src/main/java/binnie/genetics/item/ItemSequence.java +++ b/src/main/java/binnie/genetics/item/ItemSequence.java @@ -1,5 +1,7 @@ package binnie.genetics.item; +import static cpw.mods.fml.common.registry.GameRegistry.registerItem; + import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; @@ -31,6 +33,8 @@ public ItemSequence() { setMaxDamage(5); setUnlocalizedName("sequence"); setCreativeTab(GeneticsCreativeTab.instance); + + registerItem(this, getUnlocalizedName().substring(5)); } public static ItemStack create(IGene gene) { diff --git a/src/main/java/binnie/genetics/item/ModuleItem.java b/src/main/java/binnie/genetics/item/ModuleItem.java index dffd7e875..1546642c7 100644 --- a/src/main/java/binnie/genetics/item/ModuleItem.java +++ b/src/main/java/binnie/genetics/item/ModuleItem.java @@ -12,6 +12,7 @@ import binnie.core.BinnieCore; import binnie.core.IInitializable; import binnie.core.Mods; +import binnie.core.item.ItemMisc; import binnie.core.liquid.ItemFluidContainer; import binnie.core.resource.BinnieIcon; import binnie.extrabees.ExtraBees; @@ -44,7 +45,7 @@ public void preInit() { Genetics.itemSerum = new ItemSerum(); Genetics.itemSerumArray = new ItemSerumArray(); Genetics.itemSequencer = new ItemSequence(); - Genetics.itemGenetics = Binnie.Item.registerMiscItems(GeneticsItems.values(), GeneticsCreativeTab.instance); + Genetics.itemGenetics = new ItemMisc(GeneticsCreativeTab.instance, GeneticsItems.values()); Genetics.database = new ItemDatabase(); Genetics.analyst = new ItemAnalyst(); Genetics.registry = new ItemRegistry();