Jump to content

[1.12.2]NPE when registering blocks


darthvader45

Recommended Posts

Much like the poster here:

I am having trouble registering blocks, as I've hit a wall with this NPE:Can't use a null-name for the registry, object Block{null}.  However, unlike him, I have done debugging and found nothing with Block{null}.

 

Full crash report: https://pastebin.com/juwDijLt

 

My code:

package gruntpie224.wintercraft.init;

import java.util.ArrayList;

import gruntpie224.wintercraft.WintercraftReference;
import gruntpie224.wintercraft.blocks.BlockBasic;
import gruntpie224.wintercraft.blocks.BlockCandle;
import gruntpie224.wintercraft.blocks.BlockCandyCane;
import gruntpie224.wintercraft.blocks.BlockDecorDoor;
import gruntpie224.wintercraft.blocks.BlockFirePlace;
import gruntpie224.wintercraft.blocks.BlockFreezer;
import gruntpie224.wintercraft.blocks.BlockFruitCake;
import gruntpie224.wintercraft.blocks.BlockGift;
import gruntpie224.wintercraft.blocks.BlockLightsBlock;
import gruntpie224.wintercraft.blocks.BlockOrnament;
import gruntpie224.wintercraft.blocks.BlockOrnamentRare;
import gruntpie224.wintercraft.blocks.BlockPresent;
import gruntpie224.wintercraft.blocks.BlockSnowGlobeBlock;
import gruntpie224.wintercraft.blocks.BlockSnowSlab;
import gruntpie224.wintercraft.blocks.BlockSnowStairs;
import gruntpie224.wintercraft.blocks.BlockStar;
import gruntpie224.wintercraft.blocks.BlockWallBlock;
import gruntpie224.wintercraft.blocks.BlockWinterSpawner;
import gruntpie224.wintercraft.items.ItemCandle;
import gruntpie224.wintercraft.items.ItemOrnamentRare;
import gruntpie224.wintercraft.items.ItemStar;
import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemSlab;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class WinterBlocks {
	private static ArrayList<Block> all_blocks = new ArrayList<Block>();
	
	@GameRegistry.ObjectHolder("wc:decor_door")
	public static Block decor_door;
	
	@GameRegistry.ObjectHolder("wc:calendar_advent")
	public static Block calendar_advent;
	
	@GameRegistry.ObjectHolder("wc:iced_cobble")
	public static Block iced_cobble;
	
	@GameRegistry.ObjectHolder("wc:iced_stone")
	public static Block iced_stone;
	
	@GameRegistry.ObjectHolder("wc:snow_bricks")
	public static Block snow_bricks;
	
	@GameRegistry.ObjectHolder("wc:fruit_cake_bricks")
	public static Block fruit_cake_bricks;
	
	@GameRegistry.ObjectHolder("wc:snow_stairs")
	public static Block snow_stairs;
	
	@GameRegistry.ObjectHolder("wc:snow_slab_single")
	public static BlockSnowSlab snow_slab_single;
	
	@GameRegistry.ObjectHolder("wc:snow_slab_double")
	public static BlockSnowSlab snow_slab_double;
	
	@GameRegistry.ObjectHolder("wc:freezer")
	public static Block freezer;
	
	@GameRegistry.ObjectHolder("wc:freezer_active")
	public static Block freezer_active;
	
	@GameRegistry.ObjectHolder("wc:fireplace")
	public static Block fireplace;
	@GameRegistry.ObjectHolder("wc:fireplace_active")
	public static Block fireplace_active;
	
	@GameRegistry.ObjectHolder("wc:fruit_cake")
	public static Block fruit_cake;
	
	@GameRegistry.ObjectHolder("wc:candle")
	public static Block candle;
	
	@GameRegistry.ObjectHolder("wc:star")
	public static Block star;
	
	@GameRegistry.ObjectHolder("wc:ornament")
	public static Block ornament;
	
	@GameRegistry.ObjectHolder("wc:lights")
	public static Block lights;
	
	@GameRegistry.ObjectHolder("wc:ornament_rare")
	public static Block ornament_rare;
	
	@GameRegistry.ObjectHolder("wc:gift")
	public static Block gift;
	
	@GameRegistry.ObjectHolder("wc:wreath")
	public static Block wreath;
	
	@GameRegistry.ObjectHolder("wc:stocking")
	public static Block stocking;
	
	@GameRegistry.ObjectHolder("wc:stocking_full")
	public static Block stocking_full;
	
	@GameRegistry.ObjectHolder("wc:candy_cane_block")
	public static Block candy_cane_block;
	
	@GameRegistry.ObjectHolder("wc:present")
	public static Block present;
	
	@GameRegistry.ObjectHolder("wc:winter_present")
	public static Block winter_present;
	
	@GameRegistry.ObjectHolder("wc:dark_present")
	public static Block dark_present;
	
	@GameRegistry.ObjectHolder("wc:snow_globe")
	public static Block snow_globe;
	
	@GameRegistry.ObjectHolder("wc:snow_globe_corrupt")
	public static Block snow_globe_corrupt;
	
	@GameRegistry.ObjectHolder("wc:miniGolemSpawner")
	public static Block miniGolemSpawner;
	
	public static void initBlocks()
	{
		decor_door = new BlockDecorDoor(Material.WOOD).setHardness(3.0F).setUnlocalizedName("decor_door");
		all_blocks.add(decor_door);
		
		iced_cobble = new BlockBasic("iced_cobble", Material.ROCK, SoundType.STONE).setHardness(2.0f).setResistance(10.0F);
		all_blocks.add(iced_cobble);
		
		iced_stone = new BlockBasic("iced_stone", Material.ROCK, SoundType.STONE).setHardness(1.5f).setResistance(10.0F);
		all_blocks.add(iced_stone);
		
		snow_bricks = new BlockBasic("snow_bricks", Material.ROCK, SoundType.SNOW).setHardness(1.5f).setResistance(8.0F);
		all_blocks.add(snow_bricks);
		
		fruit_cake_bricks = new BlockBasic("fruit_cake_bricks", Material.ROCK, SoundType.STONE).setHardness(1.5f).setResistance(10.0F);
		all_blocks.add(fruit_cake_bricks);
		
		snow_stairs = new BlockSnowStairs("snow_stairs", Blocks.SNOW.getBlockState().getBaseState());
		all_blocks.add(snow_stairs);
		
		snow_slab_single = new BlockSnowSlab.Half("snow_slab_single", Material.SNOW);
		
		snow_slab_double = new BlockSnowSlab.Double("snow_slab_double", Material.SNOW);
		
		freezer = new BlockFreezer("freezer", false).setHardness(2.5F);
		all_blocks.add(freezer);
		
		freezer_active = new BlockFreezer("freezer_active", true).setHardness(2.5F);
		all_blocks.add(freezer_active);
		
		fireplace = new BlockFirePlace(Material.ROCK, false).setHardness(2.5F);
		all_blocks.add(fireplace);
		
		fireplace_active = new BlockFirePlace(Material.ROCK, true).setHardness(2.5F);
		all_blocks.add(fireplace_active);
		
		fruit_cake = new BlockFruitCake("fruit_cake").setHardness(0.5F);
		all_blocks.add(fruit_cake);
		
		candle = new BlockCandle("candle").setHardness(0.4f);
		//all_blocks.add(candle);
		
		star = new BlockStar("star", Material.GLASS).setHardness(0.2f);
		
		ornament = new BlockOrnament("ornament").setHardness(0.3f);
		lights = new BlockLightsBlock(Material.GLASS).setHardness(0.3f);
		
		ornament_rare = new BlockOrnamentRare("ornament_rare").setHardness(0.3f);
		
		gift = new BlockGift("gift", Material.CLOTH).setHardness(0.2F);
		all_blocks.add(gift);
		
		wreath = new BlockWallBlock("wreath", SoundType.PLANT).setHardness(0.3F);
		all_blocks.add(wreath);
		
		stocking = new BlockWallBlock("stocking", SoundType.CLOTH).setHardness(0.2F);
		all_blocks.add(stocking);
		
		stocking_full = new BlockWallBlock("stocking_full", SoundType.CLOTH).setHardness(0.2F);
		all_blocks.add(stocking_full);
		
		calendar_advent = new BlockWallBlock("calendar_advent", SoundType.STONE).setHardness(0.2F);
		all_blocks.add(calendar_advent);
		
		candy_cane_block = new BlockCandyCane("candy_cane_block", Material.WOOD).setHardness(1.5F);
		all_blocks.add(candy_cane_block);
		
		present = new BlockPresent("present", Material.CLOTH).setHardness(0.2F);
		all_blocks.add(present);
		
		winter_present = new BlockPresent("winter_present", Material.CLOTH).setHardness(0.2F);
		all_blocks.add(winter_present);
		
		dark_present = new BlockPresent("dark_present", Material.CLOTH).setHardness(0.3F);
		all_blocks.add(dark_present);
		
		snow_globe = new BlockSnowGlobeBlock(Material.GLASS, false).setHardness(0.2F);
		all_blocks.add(snow_globe);
		snow_globe_corrupt = new BlockSnowGlobeBlock(Material.GLASS, false).setHardness(0.2F);
		all_blocks.add(snow_globe_corrupt);
		miniGolemSpawner = new BlockWinterSpawner("TinySnowman").setHardness(0.3F);
		all_blocks.add(miniGolemSpawner);
	}
	
	public static void registerBlocks(RegistryEvent.Register<Block> event)
	{
		for(Block block : all_blocks)
			event.getRegistry().register(block);
		
		event.getRegistry().register(snow_slab_single);
		event.getRegistry().register(snow_slab_double);
		event.getRegistry().register(candle);
		event.getRegistry().register(star);
		event.getRegistry().register(ornament);
		event.getRegistry().register(ornament_rare);
		
	}
	
	public static void registerBlockItems(RegistryEvent.Register<Item> event)
	{
		for(Block block : all_blocks)
			
			event.getRegistry().registerAll(new ItemBlock(block).setRegistryName(block.getRegistryName()));
		
		event.getRegistry().register(new ItemSlab(snow_slab_single, snow_slab_single, snow_slab_double).setRegistryName(snow_slab_single.getRegistryName()));
		event.getRegistry().register(new ItemCandle("candle", candle).setRegistryName(candle.getRegistryName()));
		event.getRegistry().register(new ItemCandle("ornament", ornament).setRegistryName(ornament.getRegistryName()));
		event.getRegistry().register(new ItemOrnamentRare("ornament_rare", ornament_rare).setRegistryName(ornament_rare.getRegistryName()));
		event.getRegistry().register(new ItemStar("star", star).setRegistryName(star.getRegistryName()));
	}
	
	@SideOnly(Side.CLIENT)
	public static void initModels()
	{
		for(Block block : all_blocks)
			registerRender(Item.getItemFromBlock(block));
		
		registerRender(Item.getItemFromBlock(snow_slab_single));
		registerRender(Item.getItemFromBlock(snow_slab_double));
		registerRender(Item.getItemFromBlock(star));
		
		for(int i = 0; i < 16; i++)
		{
			registerRender(Item.getItemFromBlock(candle), i, "candle" + ItemCandle.names[i]);
			registerRender(Item.getItemFromBlock(ornament), i, "ornament" + ItemCandle.names[i]);
		}
		
		for(int i = 0; i < ItemOrnamentRare.names.length; i++)
		{
			registerRender(Item.getItemFromBlock(ornament_rare), i, "ornament_rare" + ItemOrnamentRare.names[i]);
		}
	}
	
	public static void registerRender(Item item) {
		ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
	}
	
	public static void registerRender(Item item, int meta, String name) {
		ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(WintercraftReference.MOD_ID + ":" + name, "inventory"));
	}
}

 

 

Link to comment
Share on other sites

  • Either use @ObjectHolder or assign the field values manually. Don't do both.
  • Registering models is a client-only process. It must happen from a client-only class, such as your client proxy or an @EventBusSubscriber with Side.CLIENT. Do not use @SideOnly unless you know what you are doing. Check out the documentation for more information about sides
  • Registering models must happen only in ModelRegistryEvent. It is not clear from your code that you are doing this.
  • Registering registry entries must happen only during RegistryEvent.Register for the correct registry type. It is not clear from your code that you are doing this.
  • "wc" is a terrible mod id. Make it longer.
  • BlockBasic is an antipattern. Use the normal Block class for simple blocks. Do not abuse inheritance to reuse code.
  • Code style, issue 1.
  • Due to the convoluted structure of your block registration, it is not possible to know which of your blocks is the issue. I recommend not creating that unnecessary intermediary list. Instead simply instantiate and register your blocks in the registry event, like so:
    event.getRegistry().registerAll(
        new Block1(),
        new Block2()
    );


    You should however be able to use a conditional debugger breakpoint on the line specified by the crash report to find out which one of your block does not have it's registry name set.

Link to comment
Share on other sites

Thank you, I'll make those fixes and report back.  I'm helping gruntpie224 with the 1.12.2 update of Wintercraft. 

 

Edit: I just noticed after doing what you said that it started yelling at me about my items not having registry names.  I fixed that and the crash changed to this:

https://pastebin.com/qK6dKVdn

Edited by darthvader45
Link to comment
Share on other sites

1 hour ago, diesieben07 said:

There is no way for me to help you with a crash report if I cannot see your code with line numbers.

Here's my WinterItems.java:

package gruntpie224.wintercraft.init;

import java.util.ArrayList;

import gruntpie224.wintercraft.helper.WCSounds;
import gruntpie224.wintercraft.items.ArmorAntlers;
import gruntpie224.wintercraft.items.ArmorIceSkates;
import gruntpie224.wintercraft.items.ArmorSanta;
import gruntpie224.wintercraft.items.ItemBasic;
import gruntpie224.wintercraft.items.ItemBasicSword;
import gruntpie224.wintercraft.items.ItemCandle;
import gruntpie224.wintercraft.items.ItemCandyCaneAxe;
import gruntpie224.wintercraft.items.ItemCandyCaneSword;
import gruntpie224.wintercraft.items.ItemChristmasDisk;
import gruntpie224.wintercraft.items.ItemDecorDoorItem;
import gruntpie224.wintercraft.items.ItemFruitCake;
import gruntpie224.wintercraft.items.ItemLights;
import gruntpie224.wintercraft.items.ItemOrnamentRare;
import gruntpie224.wintercraft.items.ItemRockySnowball;
import gruntpie224.wintercraft.items.ItemWinterFood;
import gruntpie224.wintercraft.items.MagicSaddle;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.init.SoundEvents;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.Item;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.item.ItemArmor.ArmorMaterial;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class WinterItems {
	private static ArrayList<Item> all_items = new ArrayList<Item>();
	
	@GameRegistry.ObjectHolder("wc:ice_shard")
	public static Item ice_shard;
	
	@GameRegistry.ObjectHolder("wc:ice_chunk")
	public static Item ice_chunk;
	
	@GameRegistry.ObjectHolder("wc:ice_gem")
	public static Item ice_gem;
	
	@GameRegistry.ObjectHolder("wc:ice_staff")
	public static Item ice_staff;
	
	@GameRegistry.ObjectHolder("wc:ice_skates")
	public static Item ice_skates;
	
	@GameRegistry.ObjectHolder("wc:iceball")
	public static Item iceball;
	
	@GameRegistry.ObjectHolder("wc:empty_mug")
	public static Item empty_mug;
	
	@GameRegistry.ObjectHolder("wc:polarbear_fur")
	public static Item polarbear_fur;
	
	@GameRegistry.ObjectHolder("wc:polarbear_fur_red")
	public static Item polarbear_fur_red;
	
	@GameRegistry.ObjectHolder("wc:fruit_cake_item")
	public static Item fruit_cake_item;
	
	@GameRegistry.ObjectHolder("wc:candle_item")
	public static Item candle_item;
	
	@GameRegistry.ObjectHolder("wc:ornament_item")
	public static Item ornament_item;
	
	@GameRegistry.ObjectHolder("wc:ornament_rare_item")
	public static Item ornament_rare_item;
	
	@GameRegistry.ObjectHolder("wc:candy_cane")
	public static Item candy_cane;
	
	@GameRegistry.ObjectHolder("wc:marshmallow")
	public static Item marshmallow;
	
	@GameRegistry.ObjectHolder("wc:gingerbread_man")
	public static Item gingerbread_man;
	
	@GameRegistry.ObjectHolder("wc:venison")
	public static Item venison;
	
	@GameRegistry.ObjectHolder("wc:venison_cooked")
	public static Item venison_cooked;
	
	@GameRegistry.ObjectHolder("wc:christmas_cookie")
	public static Item christmas_cookie;
	
	@GameRegistry.ObjectHolder("wc:egg_nog")
	public static Item egg_nog;
	
	@GameRegistry.ObjectHolder("wc:choc_milk")
	public static Item choc_milk;
	
	@GameRegistry.ObjectHolder("wc:hot_choc")
	public static Item hot_choc;
	
	@GameRegistry.ObjectHolder("wc:antlers")
	public static Item antlers;
	
	@GameRegistry.ObjectHolder("wc:reindeer_saddle")
	public static Item reindeer_saddle;
	
	@GameRegistry.ObjectHolder("wc:waffle_cone")
	public static Item waffle_cone;

	@GameRegistry.ObjectHolder("wc:icecream_vanilla")
	public static Item icecream_vanilla;
	
	@GameRegistry.ObjectHolder("wc:icecream_chocolate")
	public static Item icecream_chocolate;
	
	@GameRegistry.ObjectHolder("wc:icecream_strawberry")
	public static Item icecream_strawberry;
	
	@GameRegistry.ObjectHolder("wc:icecream_cookie_dough")
	public static Item icecream_cookie_dough;
	
	@GameRegistry.ObjectHolder("wc:icecream_magma_cream")
	public static Item icecream_magma_cream;
	
	@GameRegistry.ObjectHolder("wc:cone_vanilla")
	public static Item cone_vanilla;
	
	@GameRegistry.ObjectHolder("wc:cone_chocolate")
	public static Item cone_chocolate;
	
	@GameRegistry.ObjectHolder("wc:cone_strawberry")
	public static Item cone_strawberry;
	
	@GameRegistry.ObjectHolder("wc:cone_cookie_dough")
	public static Item cone_cookie_dough;
	
	@GameRegistry.ObjectHolder("wc:cone_magma_cream")
	public static Item cone_magma_cream;
	
	@GameRegistry.ObjectHolder("wc:santa_helmet")
	public static Item santa_helmet;
	
	@GameRegistry.ObjectHolder("wc:santa_plate")
	public static Item santa_plate;
	
	@GameRegistry.ObjectHolder("wc:santa_legs")
	public static Item santa_legs;
	
	@GameRegistry.ObjectHolder("wc:santa_boots")
	public static Item santa_boots;
	
	@GameRegistry.ObjectHolder("wc:music_disk_jingle")
	public static Item music_disk_jingle;
	
	@GameRegistry.ObjectHolder("wc:music_disk_halls")
	public static Item music_disk_halls;
	
	@GameRegistry.ObjectHolder("wc:candy_cane_sword")
	public static Item candy_cane_sword;
	
	@GameRegistry.ObjectHolder("wc:candy_cane_axe")
	public static Item candy_cane_axe;
	
	@GameRegistry.ObjectHolder("wc:shard_sword")
	public static Item shard_sword;
	
	@GameRegistry.ObjectHolder("wc:rocky_snowball")
	public static Item rocky_snowball;
	
	@GameRegistry.ObjectHolder("wc:decor_door_item")
	public static Item decor_door_item;
	
	@GameRegistry.ObjectHolder("wc:lights")
	public static Item lights;
	
	public static ToolMaterial toolCandyCane = EnumHelper.addToolMaterial("CANDYCANE", 1, 250, 6.0F, 3F, 15);
	public static ToolMaterial toolShard = EnumHelper.addToolMaterial("SHARD", 3, 850, 6.5F, 8F, 25);
	
	public static ArmorMaterial armorSkates = EnumHelper.addArmorMaterial("SKATES", "skates", 10, new int[]{2, 4, 2, 1}, 3, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, 0);
	public static ArmorMaterial armorSanta = EnumHelper.addArmorMaterial("SANTA", "santa", 7, new int[]{1, 4, 2, 1}, 16, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, 0);
	
	
	
	public static void initItems()
	{
		decor_door_item = new ItemDecorDoorItem(WinterBlocks.decor_door).setRegistryName(decor_door_item.getRegistryName());
		all_items.add(decor_door_item);
		
		lights = new ItemLights(WinterBlocks.lights).setRegistryName(lights.getRegistryName());
		all_items.add(lights);
		
		ice_shard = new ItemBasic("ice_shard");
		all_items.add(ice_shard);
		
		ice_chunk = new ItemBasic("ice_chunk");
		all_items.add(ice_chunk);
		
		ice_gem = new ItemBasic("ice_gem");
		all_items.add(ice_gem);
		
		ice_staff = new ItemBasic("ice_staff");
		all_items.add(ice_staff);
		
		ice_skates = new ArmorIceSkates(armorSkates, 0, EntityEquipmentSlot.FEET, "ice_skates").setRegistryName(ice_skates.getRegistryName());
		all_items.add(ice_skates);
		
		iceball = new ItemBasic("iceball");
		all_items.add(iceball);
		
		empty_mug = new ItemBasic("empty_mug");
		all_items.add(empty_mug);
		
		waffle_cone = new ItemBasic("icecream_cone");
		all_items.add(waffle_cone);
		
		polarbear_fur = new ItemBasic("polarbear_fur");
		all_items.add(polarbear_fur);
		
		polarbear_fur_red = new ItemBasic("polarbear_fur_red");
		all_items.add(polarbear_fur_red);
		
		fruit_cake_item = new ItemFruitCake("fruit_cake_item", WinterBlocks.fruit_cake).setRegistryName(fruit_cake_item.getRegistryName());
		all_items.add(fruit_cake_item);
		
		candle_item = new ItemCandle("candle_item", WinterBlocks.candle).setRegistryName(candle_item.getRegistryName());
			
		ornament_item = new ItemCandle("ornament_item", WinterBlocks.ornament).setRegistryName(ornament_item.getRegistryName());
		
		ornament_rare_item = new ItemOrnamentRare("ornament_rare", WinterBlocks.ornament_rare).setRegistryName(ornament_rare_item.getRegistryName());
	
		candy_cane = new ItemWinterFood("candy_cane", 3, 0.6F, false);
		all_items.add(candy_cane);
		
		marshmallow = new ItemWinterFood("marshmallow", 1, 0.3F, false);
		all_items.add(marshmallow);
		
		gingerbread_man = new ItemWinterFood("gingerbread_man", 3, 0.5F, false);
		all_items.add(gingerbread_man);
		
		venison = new ItemWinterFood("venison_raw", 4, 0.3F, true);
		all_items.add(venison);
		
		venison_cooked = new ItemWinterFood("venison_cooked", 10, 0.9F, true);
		all_items.add(venison_cooked);
		
		christmas_cookie = new ItemWinterFood("christmas_cookie", 11, 1.2F, false);
		all_items.add(christmas_cookie);
		
		egg_nog = new ItemWinterFood("egg_nog", 12, 0.7F, false, true);
		all_items.add(egg_nog);
		
		choc_milk = new ItemWinterFood("choc_milk", 8, 0.8F, false, true, "\u00a77\u00a7oWarm it up for a tastier drink!");
		all_items.add(choc_milk);
		
		hot_choc = new ItemWinterFood("hot_choc", 16, 1.0F, false, true, "\u00a7bGives a Speed Boost").setPotion(1, 45, 2);
		all_items.add(hot_choc);
		
		antlers = new ArmorAntlers("antlers", armorSkates, 0, EntityEquipmentSlot.HEAD).setRegistryName(antlers.getRegistryName());
		all_items.add(antlers);
		
		reindeer_saddle = new MagicSaddle();
		all_items.add(reindeer_saddle);
		
		santa_helmet = new ArmorSanta("santa_helmet", armorSanta, 0, EntityEquipmentSlot.HEAD).setRegistryName(santa_helmet.getRegistryName());
		all_items.add(santa_helmet);
		
		santa_plate = new ArmorSanta("santa_plate", armorSanta, 0, EntityEquipmentSlot.CHEST).setRegistryName(santa_plate.getRegistryName());
		all_items.add(santa_plate);
		
		santa_legs = new ArmorSanta("santa_legs", armorSanta, 0, EntityEquipmentSlot.LEGS).setRegistryName(santa_legs.getRegistryName());
		all_items.add(santa_legs);
		
		santa_boots = new ArmorSanta("santa_boots", armorSanta, 0, EntityEquipmentSlot.FEET).setRegistryName(santa_boots.getRegistryName());
		all_items.add(santa_boots);
		
		music_disk_jingle = new ItemChristmasDisk("music_disk_jingle", WCSounds.snd_disk_jingle);
		all_items.add(music_disk_jingle);
		
		music_disk_halls = new ItemChristmasDisk("music_disk_halls", WCSounds.snd_disk_halls);
		all_items.add(music_disk_halls);
		
		candy_cane_sword = new ItemCandyCaneSword("candy_cane_sword", toolCandyCane);
		all_items.add(candy_cane_sword);
		
		candy_cane_axe = new ItemCandyCaneAxe("candy_cane_axe", toolCandyCane);
		all_items.add(candy_cane_axe);
		
		shard_sword = new ItemBasicSword("shard_sword", toolShard, null);
		all_items.add(shard_sword);
		
		rocky_snowball = new ItemRockySnowball("snowball_rock");
		all_items.add(rocky_snowball);
		
		icecream_vanilla = new ItemBasic("icecream_vanilla");
		all_items.add(icecream_vanilla);
		
		icecream_chocolate = new ItemBasic("icecream_chocolate");
		all_items.add(icecream_chocolate);
		
		icecream_strawberry = new ItemBasic("icecream_strawberry");
		all_items.add(icecream_strawberry);
		
		icecream_cookie_dough = new ItemBasic("icecream_cookie_dough");
		all_items.add(icecream_cookie_dough);
		
		icecream_magma_cream = new ItemBasic("icecream_magma_cream");
		all_items.add(icecream_magma_cream);
		
		cone_vanilla = new ItemWinterFood("cone_vanilla", 6, 1.0F, false);
		all_items.add(cone_vanilla);
		
		cone_chocolate = new ItemWinterFood("cone_chocolate", 6, 1.0F, false, false, "\u00a7cGives a Strength Boost").setPotion(5, 45, 2);
		all_items.add(cone_chocolate);
		
		cone_strawberry = new ItemWinterFood("cone_strawberry", 6, 1.0F, false, false, "\u00a7cGives Health Regen").setPotion(10, 30, 2);
		all_items.add(cone_strawberry);
		
		cone_cookie_dough = new ItemWinterFood("cone_cookie_dough", 6, 1.0F, false, false, "\u00a7cGives a Speed Boost").setPotion(1, 45, 1);
		all_items.add(cone_cookie_dough);
		
		cone_magma_cream = new ItemWinterFood("cone_magma_cream", 6, 1.0F, false, false, "\u00a7cGives Fire Resistance").setPotion(12, 45, 2);
		all_items.add(cone_magma_cream);
	}
	
	@SideOnly(Side.CLIENT)
	public static void initModels()
	{
		for(Item item : all_items)
			registerRender(item);
	}
	
	public static void registerItems(RegistryEvent.Register<Item> event)
	{
		for(Item item : all_items)
			event.getRegistry().register(item);
	}
	
	public static void registerRender(Item item) {
		ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
	}
}

 

Link to comment
Share on other sites

You have not corrected any of the issues I have pointed out as far as I can see.

The issue happens, because you are accessing decor_door_item before assigning a value to it and trying to call a method on it. But since you have not assigned a value to it yet, it is still null. You do the same pattern for the next item and it makes zero sense.

Link to comment
Share on other sites

1 hour ago, darthvader45 said:

How would I go about setting the registry name correctly to avoid any errors?

item.setRegistryName("item")

 

1 hour ago, darthvader45 said:

Would it be in the item class itself?

You do not have to.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hi I’m running same mod on a server and realized they are spawning in chests which I don’t want, if I were to edit this data pack to disable them spawning in chests how would I do that? Explain to me like I’m 8
    • every time i use play forge in the launcher it says game crashed unexpected issuse and when i use curseforge it also doesn't work
    • I've attempted to use Jarfix as well. I tried running a previous version (18.2) of Minecraft and added a few random popular mods and the crashing is persistent among the servers. 
    • I attempted Java 17 again and it still doesn't work. Java -version in CMD: java -version java version "17.0.6" 2023-01-17 LTS Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190) Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)   The error I get after using Java 17 again. 2023-03-24 19:01:56,259 main WARN Advanced terminal features are not available in this environment [19:01:56] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserver, --fml.forgeVersion, 43.2.8, --fml.mcVersion, 1.19.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220805.130853] [19:01:56] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher 10.0.8+10.0.8+main.0ef7e830 starting: java version 17.0.6 by Oracle Corporation; OS Windows 10 arch amd64 version 10.0 [19:01:57] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/Kheyo/Downloads/Servers/Badaboop%20Server/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2363!/ Service=ModLauncher Env=SERVER [19:01:57] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file C:\Users\Kheyo\Downloads\Servers\Badaboop Server\libraries\net\minecraftforge\fmlcore\1.19.2-43.2.8\fmlcore-1.19.2-43.2.8.jar is missing mods.toml file [19:01:57] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file C:\Users\Kheyo\Downloads\Servers\Badaboop Server\libraries\net\minecraftforge\javafmllanguage\1.19.2-43.2.8\javafmllanguage-1.19.2-43.2.8.jar is missing mods.toml file [19:01:57] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file C:\Users\Kheyo\Downloads\Servers\Badaboop Server\libraries\net\minecraftforge\lowcodelanguage\1.19.2-43.2.8\lowcodelanguage-1.19.2-43.2.8.jar is missing mods.toml file [19:01:57] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file C:\Users\Kheyo\Downloads\Servers\Badaboop Server\libraries\net\minecraftforge\mclanguage\1.19.2-43.2.8\mclanguage-1.19.2-43.2.8.jar is missing mods.toml file [19:01:57] [main/INFO] [ne.mi.fm.lo.mo.JarInJarDependencyLocator/]: Found 8 dependencies adding them to mods collection [19:01:59] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [19:01:59] [main/ERROR] [mixin/]: Mixin config mixins.oculus.compat.sodium.json does not specify "minVersion" property [19:01:59] [main/INFO] [mixin/]: Successfully loaded Mixin Connector [com.sonicether.soundphysics.MixinConnector] [19:01:59] [main/INFO] [mixin/]: Successfully loaded Mixin Connector [ca.spottedleaf.starlight.mixin.MixinConnector] [19:01:59] [main/INFO] [cp.mo.mo.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeserver' with arguments [] [19:01:59] [main/WARN] [mixin/]: Reference map 'createdeco.refmap.json' for createdeco.mixins.json could not be read. If this is a development environment you can ignore this message [19:01:59] [main/WARN] [mixin/]: Reference map 'Weeping-Angels-forge-refmap.json' for weeping_angels.mixins.json could not be read. If this is a development environment you can ignore this message [19:01:59] [main/INFO] [Rubidium/]: Loaded configuration file for Rubidium: 30 options available, 0 override(s) found [19:01:59] [main/WARN] [mixin/]: Reference map 'yungsextras.refmap.json' for yungsextras.mixins.json could not be read. If this is a development environment you can ignore this message [19:01:59] [main/WARN] [mixin/]: Reference map 'yungsextras.refmap.json' for yungsextras_forge.mixins.json could not be read. If this is a development environment you can ignore this message [19:01:59] [main/WARN] [mixin/]: Reference map '${refmap_target}refmap.json' for corgilib.forge.mixins.json could not be read. If this is a development environment you can ignore this message [19:01:59] [main/WARN] [mixin/]: Reference map 'modid.refmap.json' for createtweaker.mixin.json could not be read. If this is a development environment you can ignore this message [Serene Seasons Transformer]: Transforming m_47480_ (Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;Z)Z in net/minecraft/world/level/biome/Biome [Serene Seasons Transformer]: Patched 1 calls [Serene Seasons Transformer]: Transforming m_47519_ (Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;)Z in net/minecraft/world/level/biome/Biome [Serene Seasons Transformer]: Successfully patched shouldSnow [Serene Seasons Transformer]: Transforming m_8714_ (Lnet/minecraft/world/level/chunk/LevelChunk;I)V in net/minecraft/server/level/ServerLevel [Serene Seasons Transformer]: Successfully patched tickChunk [19:01:59] [main/INFO] [ne.mi.co.Co.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [19:01:59] [main/INFO] [ne.mi.co.Co.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [19:01:59] [main/WARN] [mixin/]: Error loading class: com/mojang/blaze3d/audio/Channel (java.lang.ClassNotFoundException: com.mojang.blaze3d.audio.Channel) [19:01:59] [main/WARN] [mixin/]: @Mixin target com.mojang.blaze3d.audio.Channel was not found assets/sound_physics_remastered/sound_physics_remastered.mixins.json:ChannelAccessor [Serene Seasons Transformer]: Transforming m_8714_ (Lnet/minecraft/world/level/chunk/LevelChunk;I)V in net/minecraft/server/level/ServerLevel [Serene Seasons Transformer]: Successfully patched tickChunk [19:02:00] [main/INFO] [ne.mi.co.Co.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [19:02:00] [main/INFO] [ne.mi.co.Co.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [Serene Seasons Transformer]: Transforming m_8107_ ()V in net/minecraft/world/entity/animal/SnowGolem [Serene Seasons Transformer]: Patched 1 calls [19:02:01] [main/INFO] [ne.mi.co.Co.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [19:02:01] [main/INFO] [ne.mi.co.Co.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [19:02:02] [main/INFO] [minecraft/DataFixers]: Building unoptimized datafixer [19:02:02] [main/WARN] [mixin/]: @ModifyConstant conflict. Skipping repurposed_structures.mixins.json:structures.StructurePoolMixin->@ModifyConstant::repurposedstructures_increaseWeightLimitDev(I)I with priority 1000, already redirected by yungsapi_forge.mixins.json:IncreaseStructureWeightLimitMixinForge->@ModifyConstant::yungsapi_increaseWeightLimit(I)I with priority 1000 [Serene Seasons Transformer]: Transforming m_47480_ (Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;Z)Z in net/minecraft/world/level/biome/Biome [Serene Seasons Transformer]: Patched 1 calls [Serene Seasons Transformer]: Transforming m_47519_ (Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;)Z in net/minecraft/world/level/biome/Biome [Serene Seasons Transformer]: Successfully patched shouldSnow [19:02:03] [main/ERROR] [ne.mi.fm.lo.RuntimeDistCleaner/DISTXFORM]: Attempted to load class net/minecraft/client/KeyMapping for invalid dist DEDICATED_SERVER [19:02:03] [main/WARN] [mixin/]: Error loading class: net/minecraft/client/KeyMapping (java.lang.RuntimeException: Attempted to load class net/minecraft/client/KeyMapping for invalid dist DEDICATED_SERVER) Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:32)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.Launcher.run(Launcher.java:106)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.Launcher.main(Launcher.java:77)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23)         at cpw.mods.bootstraplauncher@1.1.2/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) Caused by: java.lang.reflect.InvocationTargetException         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)         at java.base/java.lang.reflect.Method.invoke(Method.java:568)         at MC-BOOTSTRAP/fmlloader@1.19.2-43.2.8/net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$launchService$0(CommonServerLaunchHandler.java:29)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30)         ... 7 more Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392)         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250)         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131)         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.8/cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50)         at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113)         at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219)         at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229)         at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219)         at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135)         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)         at TRANSFORMER/minecraft@1.19.2/net.minecraft.world.inventory.MenuType.<clinit>(MenuType.java:7)         at TRANSFORMER/minecraft@1.19.2/net.minecraft.core.Registry.m_235768_(Registry.java:230)         at TRANSFORMER/minecraft@1.19.2/net.minecraft.core.Registry.lambda$internalRegister$54(Registry.java:461)         at TRANSFORMER/minecraft@1.19.2/net.minecraft.core.Registry.lambda$static$70(Registry.java:667)         at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721)         at TRANSFORMER/minecraft@1.19.2/net.minecraft.core.Registry.<clinit>(Registry.java:666)         at TRANSFORMER/minecraft@1.19.2/net.minecraft.server.Bootstrap.m_135870_(Bootstrap.java:43)         at TRANSFORMER/minecraft@1.19.2/net.minecraft.server.Main.main(Main.java:110)         ... 13 more Caused by: org.spongepowered.asm.mixin.throwables.ClassMetadataNotFoundException: net.minecraft.client.KeyMapping         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.transformMethod(MixinPreProcessorStandard.java:754)         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.transform(MixinPreProcessorStandard.java:739)         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attach(MixinPreProcessorStandard.java:310)         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.createContextFor(MixinPreProcessorStandard.java:280)         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinInfo.createContextFor(MixinInfo.java:1288)         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:292)         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:383)         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:365)         at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)         ... 34 more Press any key to continue . . .    
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.