From a40abe88af3f37b1ffb24f7f11609952bcdee094 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Thu, 29 Jun 2017 13:00:11 +0200 Subject: [PATCH] this is completely broken but maybe someone will fix it soon --- build.gradle | 4 +- .../mod/ActuallyAdditions.java | 35 ++------- .../mod/ClientRegistryHandler.java | 44 +++++++++++ .../mod/RegistryHandler.java | 78 +++++++++++++++++++ .../mod/blocks/base/BlockContainerBase.java | 10 +-- .../mod/config/GuiFactory.java | 10 --- .../mod/crafting/BlockCrafting.java | 1 - .../mod/crafting/RecipeBioMash.java | 2 +- .../crafting/RecipePotionRingCharging.java | 2 +- .../mod/gen/village/InitVillager.java | 2 - .../mod/items/ItemFertilizer.java | 2 +- .../mod/misc/SoundHandler.java | 10 +-- .../mod/proxy/ClientProxy.java | 30 +------ .../actuallyadditions/mod/util/ItemUtil.java | 46 +---------- .../mod/util/crafting/IRecipeGrouped.java | 2 +- .../mod/util/crafting/RecipeHandler.java | 6 +- 16 files changed, 148 insertions(+), 136 deletions(-) create mode 100644 src/main/java/de/ellpeck/actuallyadditions/mod/ClientRegistryHandler.java create mode 100644 src/main/java/de/ellpeck/actuallyadditions/mod/RegistryHandler.java diff --git a/build.gradle b/build.gradle index 9babbfefb..7a7702640 100644 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ if(hasProperty('buildnumber')){ } minecraft { - version = "1.12-14.21.0.2331" + version = "1.12-14.21.1.2387" runDir = "idea" mappings = "snapshot_20161220" @@ -48,7 +48,7 @@ repositories { dependencies { compile "net.darkhax.tesla:Tesla-1.12:1.0.59" - deobfCompile "mezz.jei:jei_1.12:4.6.0.61" + deobfCompile "mezz.jei:jei_1.12:4.7.0.68" deobfCompile "org.cyclops.commoncapabilities:CommonCapabilities:1.11.2-1.3.3-115" } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java b/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java index 9bb56fc68..08afad040 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java @@ -11,7 +11,6 @@ package de.ellpeck.actuallyadditions.mod; import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI; -import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks; import de.ellpeck.actuallyadditions.mod.booklet.InitBooklet; import de.ellpeck.actuallyadditions.mod.config.ConfigurationHandler; import de.ellpeck.actuallyadditions.mod.crafting.CrusherCrafting; @@ -21,9 +20,7 @@ import de.ellpeck.actuallyadditions.mod.entity.InitEntities; import de.ellpeck.actuallyadditions.mod.event.CommonEvents; import de.ellpeck.actuallyadditions.mod.fluids.InitFluids; import de.ellpeck.actuallyadditions.mod.gen.OreGen; -import de.ellpeck.actuallyadditions.mod.gen.village.InitVillager; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; -import de.ellpeck.actuallyadditions.mod.items.InitItems; import de.ellpeck.actuallyadditions.mod.items.ItemCoffee; import de.ellpeck.actuallyadditions.mod.items.lens.LensMining; import de.ellpeck.actuallyadditions.mod.items.lens.LensRecipeHandler; @@ -43,11 +40,11 @@ import de.ellpeck.actuallyadditions.mod.recipe.HairyBallHandler; import de.ellpeck.actuallyadditions.mod.recipe.TreasureChestHandler; import de.ellpeck.actuallyadditions.mod.tile.TileEntityBase; import de.ellpeck.actuallyadditions.mod.update.UpdateChecker; -import de.ellpeck.actuallyadditions.mod.util.ItemUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.compat.CompatUtil; import net.minecraft.server.MinecraftServer; import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.Loader; @@ -86,18 +83,13 @@ public class ActuallyAdditions{ teslaLoaded = Loader.isModLoaded("tesla"); commonCapsLoaded = Loader.isModLoaded("commoncapabilities"); + MinecraftForge.EVENT_BUS.register(new RegistryHandler()); + new ConfigurationHandler(event.getSuggestedConfigurationFile()); PacketHandler.init(); InitToolMaterials.init(); InitArmorMaterials.init(); - InitBlocks.init(); InitFluids.init(); - InitItems.init(); - FuelHandler.init(); - BannerHelper.init(); - SoundHandler.init(); - InitOreDict.init(); - InitCrafting.init(); new UpdateChecker(); proxy.preInit(event); @@ -108,6 +100,8 @@ public class ActuallyAdditions{ public void init(FMLInitializationEvent event){ ModUtil.LOGGER.info("Starting Initialization Phase..."); + BannerHelper.init(); + FuelHandler.init(); //InitAchievements.init(); GuiHandler.init(); new OreGen(); @@ -125,7 +119,6 @@ public class ActuallyAdditions{ public void postInit(FMLPostInitializationEvent event){ ModUtil.LOGGER.info("Starting PostInitialization Phase..."); - InitVillager.init(); ItemCoffee.initIngredients(); CrusherCrafting.init(); HairyBallHandler.init(); @@ -155,22 +148,4 @@ public class ActuallyAdditions{ public void serverStopped(FMLServerStoppedEvent event){ WorldData.clear(); } - - @EventHandler - public void missingMapping(FMLMissingMappingsEvent event){ - int totalRemaps = 0; - int workedRemaps = 0; - - for(FMLMissingMappingsEvent.MissingMapping mapping : event.getAll()){ - totalRemaps++; - - if(ItemUtil.remapName(mapping)){ - workedRemaps++; - } - } - - if(totalRemaps > 0){ - ModUtil.LOGGER.info("Successfully remapped "+workedRemaps+" out of "+totalRemaps+" blocks and items to match the 1.11 naming conventions."); - } - } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/ClientRegistryHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/ClientRegistryHandler.java new file mode 100644 index 000000000..004e3c772 --- /dev/null +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/ClientRegistryHandler.java @@ -0,0 +1,44 @@ +package de.ellpeck.actuallyadditions.mod; + +import de.ellpeck.actuallyadditions.mod.fluids.InitFluids; +import de.ellpeck.actuallyadditions.mod.util.FluidStateMapper; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +import java.util.HashMap; +import java.util.Map; + +public class ClientRegistryHandler{ + + public static final Map MODEL_LOCATIONS_FOR_REGISTERING = new HashMap(); + + @SubscribeEvent + public void onModelRegistry(ModelRegistryEvent event){ + for(Map.Entry entry : MODEL_LOCATIONS_FOR_REGISTERING.entrySet()){ + ModelLoader.setCustomModelResourceLocation(entry.getKey().getItem(), entry.getKey().getItemDamage(), entry.getValue()); + } + + registerCustomFluidBlockRenderer(InitFluids.fluidCanolaOil); + registerCustomFluidBlockRenderer(InitFluids.fluidOil); + registerCustomFluidBlockRenderer(InitFluids.fluidCrystalOil); + registerCustomFluidBlockRenderer(InitFluids.fluidEmpoweredOil); + } + + /** + * (Excerpted from Tinkers' Construct with permission, thanks guys!) + */ + private static void registerCustomFluidBlockRenderer(Fluid fluid){ + Block block = fluid.getBlock(); + Item item = Item.getItemFromBlock(block); + FluidStateMapper mapper = new FluidStateMapper(fluid); + ModelLoader.registerItemVariants(item); + ModelLoader.setCustomMeshDefinition(item, mapper); + ModelLoader.setCustomStateMapper(block, mapper); + } +} diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/RegistryHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/RegistryHandler.java new file mode 100644 index 000000000..37a664454 --- /dev/null +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/RegistryHandler.java @@ -0,0 +1,78 @@ +package de.ellpeck.actuallyadditions.mod; + +import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks; +import de.ellpeck.actuallyadditions.mod.crafting.InitCrafting; +import de.ellpeck.actuallyadditions.mod.gen.village.InitVillager; +import de.ellpeck.actuallyadditions.mod.items.InitItems; +import de.ellpeck.actuallyadditions.mod.misc.SoundHandler; +import de.ellpeck.actuallyadditions.mod.ore.InitOreDict; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.crafting.IRecipe; +import net.minecraft.util.SoundEvent; +import net.minecraftforge.event.RegistryEvent.Register; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.registry.VillagerRegistry.VillagerProfession; + +import java.util.ArrayList; +import java.util.List; + +//Class to wrap around the trainwreck that is the new registry system +public class RegistryHandler{ + + public static final List BLOCKS_TO_REGISTER = new ArrayList<>(); + public static final List ITEMS_TO_REGISTER = new ArrayList<>(); + public static final List SOUNDS_TO_REGISTER = new ArrayList<>(); + public static final List RECIPES_TO_REGISTER = new ArrayList<>(); + + @SubscribeEvent + public void onBlockRegistry(Register event){ + InitBlocks.init(); + + for(Block block : BLOCKS_TO_REGISTER){ + event.getRegistry().register(block); + } + BLOCKS_TO_REGISTER.clear(); + } + + @SubscribeEvent + public void onItemRegistry(Register event){ + InitItems.init(); + + for(Item item : ITEMS_TO_REGISTER){ + event.getRegistry().register(item); + } + ITEMS_TO_REGISTER.clear(); + + //Hack to make this register before recipes :> + InitOreDict.init(); + } + + @SubscribeEvent + public void onVillagerRegistry(Register event){ + InitVillager.init(); + + event.getRegistry().register(InitVillager.jamProfession); + event.getRegistry().register(InitVillager.engineerProfession); + } + + @SubscribeEvent + public void onCraftingRegistry(Register event){ + InitCrafting.init(); + + for(IRecipe recipe : RECIPES_TO_REGISTER){ + event.getRegistry().register(recipe); + } + RECIPES_TO_REGISTER.clear(); + } + + @SubscribeEvent + public void onSoundRegistry(Register event){ + SoundHandler.init(); + + for(SoundEvent sound : SOUNDS_TO_REGISTER){ + event.getRegistry().register(sound); + } + SOUNDS_TO_REGISTER.clear(); + } +} diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java index 28bb2c0eb..1f84c980d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java @@ -191,16 +191,8 @@ public abstract class BlockContainerBase extends BlockContainer implements ItemB protected boolean tryUseItemOnTank(EntityPlayer player, EnumHand hand, FluidTank tank){ ItemStack heldItem = player.getHeldItem(hand); + return StackUtil.isValid(heldItem) && FluidUtil.interactWithFluidHandler(player, hand, tank); - if(StackUtil.isValid(heldItem)){ - FluidActionResult result = FluidUtil.interactWithFluidHandler(heldItem, tank, player); - if(result.isSuccess()){ - player.setHeldItem(hand, result.getResult()); - return true; - } - } - - return false; } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/config/GuiFactory.java b/src/main/java/de/ellpeck/actuallyadditions/mod/config/GuiFactory.java index 6e03b6497..1b676feac 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/config/GuiFactory.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/config/GuiFactory.java @@ -33,18 +33,8 @@ public class GuiFactory implements IModGuiFactory{ return new GuiConfiguration(parentScreen); } - @Override - public Class mainConfigGuiClass(){ - return GuiConfiguration.class; - } - @Override public Set runtimeGuiCategories(){ return null; } - - @Override - public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element){ - return null; - } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/BlockCrafting.java b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/BlockCrafting.java index a84041515..0f3d6586c 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/BlockCrafting.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/BlockCrafting.java @@ -104,7 +104,6 @@ public final class BlockCrafting{ RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitBlocks.blockFluidPlacer), new ItemStack(InitBlocks.blockFluidPlacer)); RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitBlocks.blockFluidCollector), new ItemStack(InitBlocks.blockFluidCollector)); - //Battery Box RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitBlocks.blockBatteryBox), new ItemStack(InitBlocks.blockEnergizer), diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeBioMash.java b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeBioMash.java index 0c629536d..c3b7fff79 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeBioMash.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipeBioMash.java @@ -24,7 +24,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; -import net.minecraftforge.fml.common.registry.IForgeRegistryEntry; +import net.minecraftforge.registries.IForgeRegistryEntry; public class RecipeBioMash extends IForgeRegistryEntry.Impl implements IRecipe{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipePotionRingCharging.java b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipePotionRingCharging.java index d23376f24..4f103efc5 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipePotionRingCharging.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/RecipePotionRingCharging.java @@ -21,7 +21,7 @@ import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; -import net.minecraftforge.fml.common.registry.IForgeRegistryEntry; +import net.minecraftforge.registries.IForgeRegistryEntry; public class RecipePotionRingCharging extends IForgeRegistryEntry.Impl implements IRecipe{ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/gen/village/InitVillager.java b/src/main/java/de/ellpeck/actuallyadditions/mod/gen/village/InitVillager.java index f39c7b073..40501688c 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/gen/village/InitVillager.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/gen/village/InitVillager.java @@ -55,7 +55,6 @@ public final class InitVillager{ MapGenStructureIO.registerStructureComponent(VillageComponentEngineerHouse.class, ModUtil.MOD_ID+":engineerHouseStructure"); engineerProfession = new VillagerProfession(ModUtil.MOD_ID+":engineer", ModUtil.MOD_ID+":textures/entity/villager/engineer_villager.png", ModUtil.MOD_ID+":textures/entity/villager/engineer_villager_zombie.png"); - VillagerRegistry.instance().register(engineerProfession); VillagerCareer crystallizer = new VillagerCareer(engineerProfession, ModUtil.MOD_ID+".crystallizer"); crystallizer.addTrade(1, @@ -94,7 +93,6 @@ public final class InitVillager{ private static void initJamVillagePart(){ jamProfession = new VillagerProfession(ModUtil.MOD_ID+":jamGuy", ModUtil.MOD_ID+":textures/entity/villager/jam_villager.png", ModUtil.MOD_ID+":textures/entity/villager/jam_villager_zombie.png"); - VillagerRegistry.instance().register(jamProfession); VillagerCareer career = new VillagerCareer(jamProfession, ModUtil.MOD_ID+".jammer"); career.addTrade(1, diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFertilizer.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFertilizer.java index 3e2f1678f..9912eba35 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFertilizer.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFertilizer.java @@ -35,7 +35,7 @@ public class ItemFertilizer extends ItemBase{ @Override public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float par8, float par9, float par10){ ItemStack stack = player.getHeldItem(hand); - if(ItemDye.applyBonemeal(stack, world, pos, player)){ + if(ItemDye.applyBonemeal(stack, world, pos, player, hand)){ if(!world.isRemote){ world.playEvent(2005, pos, 0); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/SoundHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/SoundHandler.java index 898bfc804..6da13ae53 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/SoundHandler.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/SoundHandler.java @@ -10,6 +10,7 @@ package de.ellpeck.actuallyadditions.mod.misc; +import de.ellpeck.actuallyadditions.mod.RegistryHandler; import de.ellpeck.actuallyadditions.mod.util.ModUtil; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundEvent; @@ -21,11 +22,7 @@ public final class SoundHandler{ public static SoundEvent reconstructor; public static SoundEvent crusher; - private static int size = 0; - public static void init(){ - size = SoundEvent.REGISTRY.getKeys().size(); - duhDuhDuhDuuuh = registerSound("duh_duh_duh_duuuh"); coffeeMachine = registerSound("coffee_machine"); reconstructor = registerSound("reconstructor"); @@ -36,9 +33,8 @@ public final class SoundHandler{ ResourceLocation resLoc = new ResourceLocation(ModUtil.MOD_ID, name); SoundEvent event = new SoundEvent(resLoc); - SoundEvent.REGISTRY.register(size, resLoc, event); - - size++; + event.setRegistryName(resLoc); + RegistryHandler.SOUNDS_TO_REGISTER.add(event); return event; } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java b/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java index 1684789c8..184318967 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.proxy; +import de.ellpeck.actuallyadditions.mod.ClientRegistryHandler; import de.ellpeck.actuallyadditions.mod.blocks.render.*; import de.ellpeck.actuallyadditions.mod.entity.InitEntities; import de.ellpeck.actuallyadditions.mod.event.ClientEvents; @@ -30,6 +31,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.common.event.FMLInitializationEvent; @@ -37,44 +39,22 @@ import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; public class ClientProxy implements IProxy{ private static final List COLOR_PRODIVIDING_ITEMS_FOR_REGISTERING = new ArrayList(); private static final List COLOR_PRODIVIDING_BLOCKS_FOR_REGISTERING = new ArrayList(); - private static final Map MODEL_LOCATIONS_FOR_REGISTERING = new HashMap(); @Override public void preInit(FMLPreInitializationEvent event){ ModUtil.LOGGER.info("PreInitializing ClientProxy..."); - for(Map.Entry entry : MODEL_LOCATIONS_FOR_REGISTERING.entrySet()){ - ModelLoader.setCustomModelResourceLocation(entry.getKey().getItem(), entry.getKey().getItemDamage(), entry.getValue()); - } - - this.registerCustomFluidBlockRenderer(InitFluids.fluidCanolaOil); - this.registerCustomFluidBlockRenderer(InitFluids.fluidOil); - this.registerCustomFluidBlockRenderer(InitFluids.fluidCrystalOil); - this.registerCustomFluidBlockRenderer(InitFluids.fluidEmpoweredOil); + MinecraftForge.EVENT_BUS.register(new ClientRegistryHandler()); InitEntities.initClient(); } - /** - * (Excerpted from Tinkers' Construct with permission, thanks guys!) - */ - private void registerCustomFluidBlockRenderer(Fluid fluid){ - Block block = fluid.getBlock(); - Item item = Item.getItemFromBlock(block); - FluidStateMapper mapper = new FluidStateMapper(fluid); - ModelLoader.registerItemVariants(item); - ModelLoader.setCustomMeshDefinition(item, mapper); - ModelLoader.setCustomStateMapper(block, mapper); - } - @Override public void init(FMLInitializationEvent event){ ModUtil.LOGGER.info("Initializing ClientProxy..."); @@ -96,8 +76,6 @@ public class ClientProxy implements IProxy{ ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaserRelayItemWhitelist.class, laser); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaserRelayFluids.class, laser); - //VillagerRegistry.INSTANCE().registerVillagerSkin(ConfigIntValues.JAM_VILLAGER_ID.getValue(), new ResourceLocation(ModUtil.MOD_ID, "textures/entity/villager/jamVillager.png")); - for(Item item : COLOR_PRODIVIDING_ITEMS_FOR_REGISTERING){ if(item instanceof IColorProvidingItem){ Minecraft.getMinecraft().getItemColors().registerItemColorHandler(((IColorProvidingItem)item).getItemColor(), item); @@ -123,7 +101,7 @@ public class ClientProxy implements IProxy{ @Override public void addRenderRegister(ItemStack stack, ResourceLocation location, String variant){ - MODEL_LOCATIONS_FOR_REGISTERING.put(stack, new ModelResourceLocation(location, variant)); + ClientRegistryHandler.MODEL_LOCATIONS_FOR_REGISTERING.put(stack, new ModelResourceLocation(location, variant)); } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java index e8f570e36..b7a566367 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/ItemUtil.java @@ -11,6 +11,7 @@ package de.ellpeck.actuallyadditions.mod.util; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; +import de.ellpeck.actuallyadditions.mod.RegistryHandler; import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; import de.ellpeck.actuallyadditions.mod.creative.CreativeTab; import de.ellpeck.actuallyadditions.mod.util.compat.IMCHandler; @@ -23,17 +24,11 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.util.EnumHand; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent; -import net.minecraftforge.fml.common.registry.GameRegistry; import java.util.*; - -//TODO Remove the whole registry name mapping thing once the 1.11 fading phase is over public final class ItemUtil{ - private static final Map UNDERSCORELESS_TO_UNDERSCORED_NAMES = new HashMap(); - public static Item getItemFromName(String name){ ResourceLocation resLoc = new ResourceLocation(name); if(Item.REGISTRY.containsKey(resLoc)){ @@ -46,10 +41,10 @@ public final class ItemUtil{ block.setUnlocalizedName(ModUtil.MOD_ID+"."+name); block.setRegistryName(ModUtil.MOD_ID, name); - GameRegistry.register(block); + RegistryHandler.BLOCKS_TO_REGISTER.add(block); itemBlock.setRegistryName(block.getRegistryName()); - GameRegistry.register(itemBlock); + RegistryHandler.ITEMS_TO_REGISTER.add(itemBlock); block.setCreativeTab(addTab ? CreativeTab.INSTANCE : null); @@ -58,15 +53,13 @@ public final class ItemUtil{ if(block instanceof IColorProvidingBlock){ ActuallyAdditions.proxy.addColoredBlock(block); } - - addUnderscoreNameToMapUnderscorelessName(block.getRegistryName()); } public static void registerItem(Item item, String name, boolean addTab){ item.setUnlocalizedName(ModUtil.MOD_ID+"."+name); item.setRegistryName(ModUtil.MOD_ID, name); - GameRegistry.register(item); + RegistryHandler.ITEMS_TO_REGISTER.add(item); item.setCreativeTab(addTab ? CreativeTab.INSTANCE : null); @@ -75,37 +68,6 @@ public final class ItemUtil{ if(item instanceof IColorProvidingItem){ ActuallyAdditions.proxy.addColoredItem(item); } - - addUnderscoreNameToMapUnderscorelessName(item.getRegistryName()); - } - - private static void addUnderscoreNameToMapUnderscorelessName(ResourceLocation name){ - String underscoreless = name.toString().replaceAll("_", ""); - UNDERSCORELESS_TO_UNDERSCORED_NAMES.put(underscoreless, name.toString()); - } - - public static boolean remapName(FMLMissingMappingsEvent.MissingMapping mapping){ - if(mapping != null && mapping.name != null){ - if(mapping.name.toLowerCase(Locale.ROOT).contains("distributor")){ - mapping.ignore(); - return true; - } - - if(UNDERSCORELESS_TO_UNDERSCORED_NAMES.containsKey(mapping.name)){ - String newName = UNDERSCORELESS_TO_UNDERSCORED_NAMES.get(mapping.name); - ResourceLocation newResLoc = new ResourceLocation(newName); - - if(Block.REGISTRY.containsKey(newResLoc) && mapping.type == GameRegistry.Type.BLOCK){ - mapping.remap(Block.REGISTRY.getObject(newResLoc)); - return true; - } - else if(Item.REGISTRY.containsKey(newResLoc) && mapping.type == GameRegistry.Type.ITEM){ - mapping.remap(Item.REGISTRY.getObject(newResLoc)); - return true; - } - } - } - return false; } public static boolean contains(ItemStack[] array, ItemStack stack, boolean checkWildcard){ diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/crafting/IRecipeGrouped.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/crafting/IRecipeGrouped.java index 0352b9f8a..96ee6d8c1 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/crafting/IRecipeGrouped.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/crafting/IRecipeGrouped.java @@ -12,6 +12,6 @@ package de.ellpeck.actuallyadditions.mod.util.crafting; public interface IRecipeGrouped{ - public String getRecipeGroup(); + String getRecipeGroup(); } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/util/crafting/RecipeHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/util/crafting/RecipeHandler.java index d3d7941da..c2eb70536 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/util/crafting/RecipeHandler.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/util/crafting/RecipeHandler.java @@ -13,6 +13,7 @@ package de.ellpeck.actuallyadditions.mod.util.crafting; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import de.ellpeck.actuallyadditions.mod.RegistryHandler; import de.ellpeck.actuallyadditions.mod.crafting.RecipeBioMash; import de.ellpeck.actuallyadditions.mod.crafting.RecipePotionRingCharging; import net.minecraft.block.Block; @@ -23,7 +24,6 @@ import net.minecraft.item.crafting.*; import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.common.Loader; -import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.oredict.OreIngredient; import java.util.*; @@ -132,7 +132,7 @@ public final class RecipeHandler{ } recipe.setRegistryName(res); - GameRegistry.register(recipe); + RegistryHandler.RECIPES_TO_REGISTER.add(recipe); lastRecipe = recipe; } @@ -176,7 +176,7 @@ public final class RecipeHandler{ return namespace+":"+((IRecipeGrouped)item).getRecipeGroup(); } if(item instanceof ItemBlock){ - Block block = ((ItemBlock)item).block; + Block block = ((ItemBlock)item).getBlock(); if(block instanceof IRecipeGrouped){ return namespace+":"+((IRecipeGrouped)block).getRecipeGroup(); }