Jump to content

Error with block registration


Drachenbauer

Recommended Posts

Actually i get this error-log:

Spoiler

[19Feb2019 22:34:21.552] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher starting: java version 1.8.0_202
[19Feb2019 22:34:21.696] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--gameDir, ., --launchTarget, fmluserdevclient, --fml.forgeVersion, 25.0.13, --fml.mcpVersion, 20190213.203750, --fml.mcpMappings, snapshot_20180921-1.13, --fml.mcVersion, 1.13.2, --fml.forgeGroup, net.minecraftforge, --accessToken, ????????, --version, FMLDev, --assetIndex, 1.13, --assetsDir, C:\Users\Besitzer\.gradle\caches\forge_gradle\assets, --userProperties, {}]
[19Feb2019 22:34:22.449] [main/INFO] [net.minecraftforge.fml.loading.FixSSL/CORE]: Added Lets Encrypt root certificates as additional trust
[19Feb2019 22:34:23.081] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'fmluserdevclient' with arguments [--gameDir, ., --launchTarget, fmluserdevclient, --fml.forgeVersion, 25.0.13, --fml.mcpVersion, 20190213.203750, --fml.mcpMappings, snapshot_20180921-1.13, --fml.mcVersion, 1.13.2, --fml.forgeGroup, net.minecraftforge, --accessToken, ????????, --version, FMLDev, --assetIndex, 1.13, --assetsDir, C:\Users\Besitzer\.gradle\caches\forge_gradle\assets, --userProperties, {}]
[19Feb2019 22:34:26.828] [Client thread/INFO] [net.minecraft.client.Minecraft/]: Setting user: Player424
[19Feb2019 22:34:39.759] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:block' was empty after loading
[19Feb2019 22:34:39.788] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:potion' was empty after loading
[19Feb2019 22:34:39.788] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:biome' was empty after loading
[19Feb2019 22:34:39.788] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:block_entity_type' was empty after loading
[19Feb2019 22:34:39.788] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:enchantment' was empty after loading
[19Feb2019 22:34:39.788] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:item' was empty after loading
[19Feb2019 22:34:39.788] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:mob_effect' was empty after loading
[19Feb2019 22:34:39.788] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:sound_event' was empty after loading
[19Feb2019 22:34:40.067] [Client thread/WARN] [net.minecraft.client.GameSettings/]: Skipping bad option: lastServer:
[19Feb2019 22:34:40.109] [Client thread/INFO] [net.minecraft.client.Minecraft/]: LWJGL Version: 3.1.6 build 14
[19Feb2019 22:34:41.557] [modloading-worker-2/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Forge mod loading, version 25.0.13, for MC 1.13.2 with MCP 20190213.203750
[19Feb2019 22:34:42.101] [Client thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/]: Exception caught during firing event: null
    Index: 2
    Listeners:
        0: NORMAL
        1: ASM: class com.drachenbauer32.angrybirdsmod.Main$RegistryEvents registerEntities(Lnet/minecraftforge/event/RegistryEvent$Register;)V
        2: ASM: class com.drachenbauer32.angrybirdsmod.Main$RegistryEvents registerBlocks(Lnet/minecraftforge/event/RegistryEvent$Register;)V
        3: ASM: class com.drachenbauer32.angrybirdsmod.Main$RegistryEvents registerItems(Lnet/minecraftforge/event/RegistryEvent$Register;)V
java.lang.ExceptionInInitializerError
    at com.drachenbauer32.angrybirdsmod.blocks.BalloonBlock.<init>(BalloonBlock.java:32)
    at com.drachenbauer32.angrybirdsmod.init.BlockInit.<clinit>(BlockInit.java:21)
    at com.drachenbauer32.angrybirdsmod.Main$RegistryEvents.registerBlocks(Main.java:87)
    at net.minecraftforge.eventbus.ASMEventHandler_2_RegistryEvents_registerBlocks_Register.invoke(.dynamic)
    at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:79)
    at net.minecraftforge.eventbus.EventBus.post(EventBus.java:249)
    at net.minecraftforge.fml.javafmlmod.FMLModContainer.fireEvent(FMLModContainer.java:105)
    at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
    at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
    at net.minecraftforge.fml.ModContainer.transitionState(ModContainer.java:100)
    at net.minecraftforge.fml.ModList.lambda$dispatchSynchronousEvent$4(ModList.java:111)
    at java.util.ArrayList.forEach(ArrayList.java:1257)
    at net.minecraftforge.fml.ModList.dispatchSynchronousEvent(ModList.java:111)
    at net.minecraftforge.fml.ModList.lambda$static$0(ModList.java:82)
    at net.minecraftforge.fml.LifecycleEventProvider.dispatch(LifecycleEventProvider.java:72)
    at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:146)
    at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:814)
    at net.minecraftforge.fml.ModLoader.loadMods(ModLoader.java:134)
    at net.minecraftforge.fml.client.ClientModLoader.begin(ClientModLoader.java:52)
    at net.minecraft.client.Minecraft.init(Minecraft.java:411)
    at net.minecraft.client.Minecraft.run(Minecraft.java:344)
    at net.minecraft.client.main.Main.main(SourceFile:144)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55)
    at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:19)
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:35)
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53)
    at cpw.mods.modlauncher.Launcher.run(Launcher.java:58)
    at cpw.mods.modlauncher.Launcher.main(Launcher.java:44)
    at net.minecraftforge.userdev.UserdevLauncher.main(UserdevLauncher.java:77)
Caused by: net.minecraft.util.ResourceLocationException: Non [a-z0-9/._-] character in path of location: angrybirdsmod:tutorialItem
    at net.minecraft.util.ResourceLocation.<init>(SourceFile:38)
    at net.minecraft.util.ResourceLocation.<init>(SourceFile:47)
    at com.drachenbauer32.angrybirdsmod.items.ItemBase.<init>(ItemBase.java:15)
    at com.drachenbauer32.angrybirdsmod.init.ItemInit.<clinit>(ItemInit.java:15)
    ... 33 more

[19Feb2019 22:34:42.106] [Client thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/LOADING]: Caught exception during event RegistryEvent.Register<minecraft:blocks> dispatch for modid angrybirdsmod
java.lang.ExceptionInInitializerError: null
    at com.drachenbauer32.angrybirdsmod.blocks.BalloonBlock.<init>(BalloonBlock.java:32) ~[main/:?]
    at com.drachenbauer32.angrybirdsmod.init.BlockInit.<clinit>(BlockInit.java:21) ~[main/:?]
    at com.drachenbauer32.angrybirdsmod.Main$RegistryEvents.registerBlocks(Main.java:87) ~[main/:?]
    at net.minecraftforge.eventbus.ASMEventHandler_2_RegistryEvents_registerBlocks_Register.invoke(.dynamic) ~[?:?]
    at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:79) ~[eventbus-0.6.0-service.jar:?]
    at net.minecraftforge.eventbus.EventBus.post(EventBus.java:249) ~[eventbus-0.6.0-service.jar:?]
    at net.minecraftforge.fml.javafmlmod.FMLModContainer.fireEvent(FMLModContainer.java:105) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:25.0]
    at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65) ~[?:1.8.0_202]
    at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65) ~[?:1.8.0_202]
    at net.minecraftforge.fml.ModContainer.transitionState(ModContainer.java:100) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.ModList.lambda$dispatchSynchronousEvent$4(ModList.java:111) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_202]
    at net.minecraftforge.fml.ModList.dispatchSynchronousEvent(ModList.java:111) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.ModList.lambda$static$0(ModList.java:82) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.LifecycleEventProvider.dispatch(LifecycleEventProvider.java:72) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:146) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:814) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.ModLoader.loadMods(ModLoader.java:134) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.client.ClientModLoader.begin(ClientModLoader.java:52) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:411) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:344) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraft.client.main.Main.main(SourceFile:144) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_202]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_202]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_202]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_202]
    at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:19) [modlauncher-0.9.4.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:35) [modlauncher-0.9.4.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-0.9.4.jar:?]
    at cpw.mods.modlauncher.Launcher.run(Launcher.java:58) [modlauncher-0.9.4.jar:?]
    at cpw.mods.modlauncher.Launcher.main(Launcher.java:44) [modlauncher-0.9.4.jar:?]
    at net.minecraftforge.userdev.UserdevLauncher.main(UserdevLauncher.java:77) [forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
Caused by: net.minecraft.util.ResourceLocationException: Non [a-z0-9/._-] character in path of location: angrybirdsmod:tutorialItem
    at net.minecraft.util.ResourceLocation.<init>(SourceFile:38) ~[?:?]
    at net.minecraft.util.ResourceLocation.<init>(SourceFile:47) ~[?:?]
    at com.drachenbauer32.angrybirdsmod.items.ItemBase.<init>(ItemBase.java:15) ~[?:?]
    at com.drachenbauer32.angrybirdsmod.init.ItemInit.<clinit>(ItemInit.java:15) ~[?:?]
    ... 33 more
[19Feb2019 22:34:42.146] [Client thread/FATAL] [net.minecraftforge.fml.ModLoader/]: Failed to complete lifecycle event LOAD_REGISTRIES, 1 errors found
[19Feb2019 22:34:42.214] [Client thread/INFO] [net.minecraft.resources.SimpleReloadableResourceManager/]: Reloading ResourceManager: forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13.jar, main, Default
[19Feb2019 22:34:44.174] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager/]: Starting up SoundSystem version 201809301515...
[19Feb2019 22:34:44.401] [Thread-4/INFO] [net.minecraft.client.audio.SoundManager/]: Initializing No Sound
[19Feb2019 22:34:44.401] [Thread-4/INFO] [net.minecraft.client.audio.SoundManager/]: (Silent Mode)
[19Feb2019 22:34:44.538] [Thread-4/INFO] [net.minecraft.client.audio.SoundManager/]: OpenAL initialized.
[19Feb2019 22:34:44.779] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager/SOUNDS]: Preloading sound minecraft:sounds/ambient/underwater/underwater_ambience.ogg
[19Feb2019 22:34:44.784] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager/SOUNDS]: Sound engine started
[19Feb2019 22:34:50.737] [Client thread/INFO] [net.minecraft.client.renderer.texture.TextureMap/]: Max texture size: 8192
[19Feb2019 22:34:53.337] [Client thread/INFO] [net.minecraft.client.renderer.texture.TextureMap/]: Created: 512x512 textures-atlas
[19Feb2019 22:34:59.743] [Client thread/ERROR] [net.minecraftforge.fml.ModLoader/]: Skipping lifecycle event ENQUEUE_IMC, 1 errors found.
[19Feb2019 22:34:59.743] [Client thread/FATAL] [net.minecraftforge.fml.ModLoader/]: Failed to complete lifecycle event ENQUEUE_IMC, 1 errors found
[19Feb2019 22:34:59.745] [Client thread/WARN] [net.minecraft.client.GameSettings/]: Skipping bad option: lastServer:
[19Feb2019 22:34:59.900] [Client thread/INFO] [com.mojang.text2speech.NarratorWindows/]: Narrator library for x64 successfully loaded
[19Feb2019 22:35:01.201] [Realms Notification Availability checker #1/INFO] [com.mojang.realmsclient.client.RealmsClient/]: Could not authorize you against Realms server: Invalid session id

 

 

It includes two areas, wich include java-files in my mod:

Spoiler

[19Feb2019 22:34:42.101] [Client thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/]: Exception caught during firing event: null
    Index: 2
    Listeners:
        0: NORMAL
        1: ASM: class com.drachenbauer32.angrybirdsmod.Main$RegistryEvents registerEntities(Lnet/minecraftforge/event/RegistryEvent$Register;)V
        2: ASM: class com.drachenbauer32.angrybirdsmod.Main$RegistryEvents registerBlocks(Lnet/minecraftforge/event/RegistryEvent$Register;)V
        3: ASM: class com.drachenbauer32.angrybirdsmod.Main$RegistryEvents registerItems(Lnet/minecraftforge/event/RegistryEvent$Register;)V
java.lang.ExceptionInInitializerError
    at com.drachenbauer32.angrybirdsmod.blocks.BalloonBlock.<init>(BalloonBlock.java:32)
    at com.drachenbauer32.angrybirdsmod.init.BlockInit.<clinit>(BlockInit.java:21)
    at com.drachenbauer32.angrybirdsmod.Main$RegistryEvents.registerBlocks(Main.java:87)

 

and

Spoiler

[19Feb2019 22:34:42.106] [Client thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/LOADING]: Caught exception during event RegistryEvent.Register<minecraft:blocks> dispatch for modid angrybirdsmod
java.lang.ExceptionInInitializerError: null
    at com.drachenbauer32.angrybirdsmod.blocks.BalloonBlock.<init>(BalloonBlock.java:32) ~[main/:?]
    at com.drachenbauer32.angrybirdsmod.init.BlockInit.<clinit>(BlockInit.java:21) ~[main/:?]
    at com.drachenbauer32.angrybirdsmod.Main$RegistryEvents.registerBlocks(Main.java:87) ~[main/:?]

but i don´t know, what that means...

 

here is my BalloonBlock:

Spoiler

package com.drachenbauer32.angrybirdsmod.blocks;

import com.drachenbauer32.angrybirdsmod.init.BlockInit;
import com.drachenbauer32.angrybirdsmod.init.ItemInit;

import net.minecraft.block.Block;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemBlock;
import net.minecraft.state.DirectionProperty;
import net.minecraft.state.StateContainer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.util.math.shapes.VoxelShapes;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;

public class BalloonBlock extends Block
{
	public static final AxisAlignedBB BALLOON_BLOCK_AABB = new AxisAlignedBB(0.125, 0, 0.125, 0.875, 2, 0.875);
	public static final DirectionProperty FACING = BlockHorizontal.HORIZONTAL_FACING;
	
	public BalloonBlock(String name, Properties class1) 
	{
		super(class1);
		this.setDefaultState(this.stateContainer.getBaseState().with(FACING, EnumFacing.NORTH));
		BlockInit.BLOCKS.add(this);
		ItemInit.ITEMS.add(new ItemBlock(this, null).setRegistryName(this.getRegistryName()));
	}
	
	@Override
	public boolean isSolid(IBlockState p_200124_1_)
	{
		return false;
	}
	
	@Override
	public boolean isFullCube(IBlockState state)
    {
        return false;
    }
	
	@Override
	public VoxelShape getShape(IBlockState p_196244_1_, IBlockReader p_196244_2_, BlockPos p_196244_3_)
	{
		return VoxelShapes.create(BALLOON_BLOCK_AABB);
	}
	
	@Override
	public VoxelShape getRenderShape(IBlockState p_196247_1_, IBlockReader p_196247_2_, BlockPos p_196247_3_)
	{
		return VoxelShapes.create(BALLOON_BLOCK_AABB);
	}
	
	@Override
	public VoxelShape getCollisionShape(IBlockState p_196268_1_, IBlockReader p_196268_2_, BlockPos p_196268_3_)
	{
		return VoxelShapes.create(BALLOON_BLOCK_AABB);
	}
	
	protected void fillStateContainer(StateContainer.Builder<Block, IBlockState> builder)
	{
        builder.add(FACING);
    }
	
    public IBlockState withRotation(IBlockState state, Rotation rot)
    {
        return state.with(FACING, rot.rotate((EnumFacing) state.get(FACING)));
    }

    public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer)
    {
        return this.getDefaultState().with(FACING, placer.getHorizontalFacing().getOpposite());
    }

    /*public interface IBlockColor
    {
        int colorMultiplier(IBlockState state, IBlockAccess worldIn, BlockPos pos, int tintIndex);
    }
    @Override
    public IBlockColor getBlockColor() {
        return null;
    }*/
}

 

 

my BlockInit:

Spoiler

package com.drachenbauer32.angrybirdsmod.init;

import java.util.ArrayList;
import java.util.List;

import com.drachenbauer32.angrybirdsmod.blocks.BalloonBlock;
import com.drachenbauer32.angrybirdsmod.blocks.EggBlock;
import com.drachenbauer32.angrybirdsmod.blocks.NestBlock;
import com.drachenbauer32.angrybirdsmod.blocks.Slingshot2Block;
import com.drachenbauer32.angrybirdsmod.blocks.SlingshotBlock;

import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;

public class BlockInit
{
	public static final List<Block> BLOCKS = new ArrayList<Block>();
	
	public static final Block BALLOON_BLOCK = new BalloonBlock("balloonblock", (Block.Properties.create(Material.CLOTH).sound(SoundType.CLOTH).
            hardnessAndResistance(30F, 150F).lightValue(0).hardnessAndResistance(0.1f, 0.5f).variableOpacity()));//setHarvestLevel("pickaxe", 2);*/)));
	public static final Block EGG_BLOCK = new EggBlock("egg_block", (Block.Properties.create(Material.CLAY).sound(SoundType.STONE).
            hardnessAndResistance(30F, 150F).lightValue(0).hardnessAndResistance(0.1f, 0.5f).variableOpacity()));
	public static final Block NEST_BLOCK = new NestBlock("nest_block", (Block.Properties.create(Material.GRASS).sound(SoundType.PLANT).
            hardnessAndResistance(30F, 150F).lightValue(0).hardnessAndResistance(0.1f, 0.5f).variableOpacity()));
	public static final Block SLINGSHOT_BLOCK = new SlingshotBlock("slingshot_block", (Block.Properties.create(Material.WOOD).sound(SoundType.WOOD).
            hardnessAndResistance(30F, 150F).lightValue(0).hardnessAndResistance(0.1f, 0.5f).variableOpacity()));
	public static final Block SLINGSHOT2_BLOCK = new Slingshot2Block("slingshot2_block", (Block.Properties.create(Material.WOOD).sound(SoundType.WOOD).
            hardnessAndResistance(30F, 150F).lightValue(0).hardnessAndResistance(0.1f, 0.5f).variableOpacity()));
}

 

 

and my Main:

Spoiler

package com.drachenbauer32.angrybirdsmod;

import java.util.function.Function;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import com.drachenbauer32.angrybirdsmod.entity.EntityBlues;
import com.drachenbauer32.angrybirdsmod.entity.EntityBomb;
import com.drachenbauer32.angrybirdsmod.entity.EntityChuck;
import com.drachenbauer32.angrybirdsmod.entity.EntityMathilda;
import com.drachenbauer32.angrybirdsmod.entity.EntityRed;
import com.drachenbauer32.angrybirdsmod.init.BlockInit;
import com.drachenbauer32.angrybirdsmod.init.ItemInit;
import com.drachenbauer32.angrybirdsmod.util.IHasModel;
import com.drachenbauer32.angrybirdsmod.util.Reference;
import com.drachenbauer32.angrybirdsmod.util.handlers.RenderHandler;

import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemSpawnEgg;
import net.minecraft.world.World;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.IForgeRegistry;

@Mod(Reference.MOD_ID)
public class Main
{
	
	private static final Logger LOGGER = LogManager.getLogger(Reference.MOD_ID);
	
	public Main() 
	{
		FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
		FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientRegistries);
		
		MinecraftForge.EVENT_BUS.register(this);
	}
	
	private void setup(final FMLCommonSetupEvent event)
	{
		LOGGER.info("Setup method registered. (This is what used to be preInit)");
		//RegistryHandler.SetupRegistries();
	}
	
	private void clientRegistries(final FMLClientSetupEvent event)
	{
		LOGGER.info("Client registries registered. This is for all things that are client side only.");
	}
	
	@Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)
	public static class RegistryEvents
	{
		public static EntityType<?> EntityInEgg;
		@SubscribeEvent
		public static void registerItems(final RegistryEvent.Register<Item> event)
		{
			event.getRegistry().registerAll(ItemInit.ITEMS.toArray(new Item[0]));
			//public static EntityType<EntityRed> registerEntityAndEgg(IForgeRegistry<Item> itemRegistry, EntityRed.class, EntityRed::<? super World, T> factory, 0xdf0000, 0xdfbf9f, 32, 1, true, Red);
			//public static EntityType<EntityChuck> storedEntityChuck;
			EntityInEgg = EntityType.Builder.create(EntityRed.class, EntityRed::new).tracker(32, 1, true).build("angrybirdsmod.Red");
		    event.getRegistry().register(new ItemSpawnEgg(EntityInEgg, 0xdf0000, 0xdfbf9f, new Item.Properties().group(ItemGroup.MATERIALS)).setRegistryName("Red"));
		    EntityInEgg = EntityType.Builder.create(EntityChuck.class, EntityChuck::new).tracker(32, 1, true).build(Reference.MOD_ID + ".Chuck");
		    event.getRegistry().register(new ItemSpawnEgg(EntityInEgg, 0xffff00, 0xffffff, new Item.Properties().group(ItemGroup.MATERIALS)).setRegistryName("Chuck"));
		    EntityInEgg = EntityType.Builder.create(EntityBlues.class, EntityBlues::new).tracker(32, 1, true).build(Reference.MOD_ID + ".Blues");
		    event.getRegistry().register(new ItemSpawnEgg(EntityInEgg, 0xffff00, 0xffffff, new Item.Properties().group(ItemGroup.MATERIALS)).setRegistryName("Blues"));
		    EntityInEgg = EntityType.Builder.create(EntityBomb.class, EntityBomb::new).tracker(32, 1, true).build(Reference.MOD_ID + ".Bomb");
		    event.getRegistry().register(new ItemSpawnEgg(EntityInEgg, 0xffff00, 0xffffff, new Item.Properties().group(ItemGroup.MATERIALS)).setRegistryName("Bomb"));
		    EntityInEgg = EntityType.Builder.create(EntityMathilda.class, EntityMathilda::new).tracker(32, 1, true).build(Reference.MOD_ID + ".Mathilda");
		    event.getRegistry().register(new ItemSpawnEgg(EntityInEgg, 0xffff00, 0xffffff, new Item.Properties().group(ItemGroup.MATERIALS)).setRegistryName("Mathilda"));
			LOGGER.info("Items registered.");
		}
		
		@SubscribeEvent
		public static void registerBlocks(final RegistryEvent.Register<Block> event)
		{
			event.getRegistry().registerAll(BlockInit.BLOCKS.toArray(new Block[0]));
			LOGGER.info("Blocks registered.");
		}
		
		@SubscribeEvent
		public static void onModelRegister(ModelRegistryEvent event)
		{
			for(Item item : ItemInit.ITEMS)
			{
				if(item instanceof IHasModel)
				{
					((IHasModel)item).registerModels();
				}
			}
			
			for(Block block : BlockInit.BLOCKS)
			{
				if(block instanceof IHasModel)
				{
					((IHasModel)block).registerModels();
				}
			}
		}
		
		@SubscribeEvent
		public static void registerEntities(final RegistryEvent.Register<EntityType<?>> event)
		{
			event.getRegistry().register(EntityType.Builder.create(EntityRed.class, EntityRed::new).tracker(32, 1, true).build(Reference.MOD_ID + ".Red"));
			event.getRegistry().register(EntityType.Builder.create(EntityChuck.class, EntityChuck::new).tracker(32, 1, true).build(Reference.MOD_ID + ".Chuck"));
			event.getRegistry().register(EntityType.Builder.create(EntityBlues.class, EntityBlues::new).tracker(32, 1, true).build(Reference.MOD_ID + ".Blues"));
			event.getRegistry().register(EntityType.Builder.create(EntityBomb.class, EntityBomb::new).tracker(32, 1, true).build(Reference.MOD_ID + ".Bomb"));
			event.getRegistry().register(EntityType.Builder.create(EntityMathilda.class, EntityMathilda::new).tracker(32, 1, true).build(Reference.MOD_ID + ".Mathilda"));
			RenderHandler.regigisterEntityRenders();
			LOGGER.info("Entities registered.");
		}
		
		public static <T extends Entity>EntityType<T> registerEntityAndEgg(IForgeRegistry<Item> itemRegistry, Class<T> entityClass, Function<? super World, T> factory, int eggPrimaryColor, int eggSecondaryColor, int trackingRange, int updateFrequency, boolean sendVelocityUpdates, String name)
	    {
	        EntityType<T> type = EntityType.Builder.create(entityClass, factory).tracker(trackingRange, updateFrequency, sendVelocityUpdates).build(Reference.MOD_ID + '.' + name);
	        itemRegistry.register(new ItemSpawnEgg(type, eggPrimaryColor, eggSecondaryColor, new Item.Properties().group(ItemGroup.MISC)).setRegistryName(name));
	        return type;
	    }
    }
}

 

 

Edited by Drachenbauer
Link to comment
Share on other sites

now i found this in my error-log:

Spoiler

java.lang.NullPointerException
    at net.minecraft.item.Item$Properties.access$000(Item.java:1182) ~[?:?]
    at net.minecraft.item.Item.<init>(Item.java:94) ~[?:?]
    at net.minecraft.item.ItemBlock.<init>(ItemBlock.java:30) ~[?:?]
    at com.drachenbauer32.angrybirdsmod.blocks.BalloonBlock.<init>(BalloonBlock.java:32) ~[?:?]
    at com.drachenbauer32.angrybirdsmod.init.BlockInit.<clinit>(BlockInit.java:21) ~[?:?]
    ... 31 more

what does that mean?

Link to comment
Share on other sites

Your block is calling a method in ItemBlock at a time that it should not be. 

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

18 hours ago, Drachenbauer said:

public BalloonBlock(String name, Properties class1) 
	{
		super(class1);
		this.setDefaultState(this.stateContainer.getBaseState().with(FACING, EnumFacing.NORTH));
		BlockInit.BLOCKS.add(this);
		ItemInit.ITEMS.add(new ItemBlock(this, null).setRegistryName(this.getRegistryName()));
	}

 

You never set the Registryname of the Block
 

this.setRegistryName(name);

 

Link to comment
Share on other sites

actual i get this in the log:

Spoiler

java.lang.NullPointerException
    at net.minecraft.item.Item$Properties.access$000(Item.java:1182) ~[?:?]
    at net.minecraft.item.Item.<init>(Item.java:94) ~[?:?]
    at net.minecraft.item.ItemBlock.<init>(ItemBlock.java:30) ~[?:?]
    at com.drachenbauer32.angrybirdsmod.blocks.BalloonBlock.<init>(BalloonBlock.java:33) ~[?:?]
    at com.drachenbauer32.angrybirdsmod.init.BlockInit.<clinit>(BlockInit.java:21) ~[?:?]

 

and how do i add specific properties like stacksize and itemgroup to the item-block?

Link to comment
Share on other sites

Here is the whole new error log

Spoiler

[20Feb2019 17:53:30.370] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher starting: java version 1.8.0_202
[20Feb2019 17:53:30.499] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--gameDir, ., --launchTarget, fmluserdevclient, --fml.forgeVersion, 25.0.13, --fml.mcpVersion, 20190213.203750, --fml.mcpMappings, snapshot_20180921-1.13, --fml.mcVersion, 1.13.2, --fml.forgeGroup, net.minecraftforge, --accessToken, ????????, --version, FMLDev, --assetIndex, 1.13, --assetsDir, C:\Users\Besitzer\.gradle\caches\forge_gradle\assets, --userProperties, {}]
[20Feb2019 17:53:31.275] [main/INFO] [net.minecraftforge.fml.loading.FixSSL/CORE]: Added Lets Encrypt root certificates as additional trust
[20Feb2019 17:53:31.949] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'fmluserdevclient' with arguments [--gameDir, ., --launchTarget, fmluserdevclient, --fml.forgeVersion, 25.0.13, --fml.mcpVersion, 20190213.203750, --fml.mcpMappings, snapshot_20180921-1.13, --fml.mcVersion, 1.13.2, --fml.forgeGroup, net.minecraftforge, --accessToken, ????????, --version, FMLDev, --assetIndex, 1.13, --assetsDir, C:\Users\Besitzer\.gradle\caches\forge_gradle\assets, --userProperties, {}]
[20Feb2019 17:53:35.750] [Client thread/INFO] [net.minecraft.client.Minecraft/]: Setting user: Player316
[20Feb2019 17:53:48.642] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:block' was empty after loading
[20Feb2019 17:53:48.672] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:potion' was empty after loading
[20Feb2019 17:53:48.672] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:biome' was empty after loading
[20Feb2019 17:53:48.672] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:block_entity_type' was empty after loading
[20Feb2019 17:53:48.672] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:enchantment' was empty after loading
[20Feb2019 17:53:48.673] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:item' was empty after loading
[20Feb2019 17:53:48.673] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:mob_effect' was empty after loading
[20Feb2019 17:53:48.673] [Client thread/ERROR] [net.minecraft.util.registry.IRegistry/]: Registry 'minecraft:sound_event' was empty after loading
[20Feb2019 17:53:49.028] [Client thread/WARN] [net.minecraft.client.GameSettings/]: Skipping bad option: lastServer:
[20Feb2019 17:53:49.071] [Client thread/INFO] [net.minecraft.client.Minecraft/]: LWJGL Version: 3.1.6 build 14
[20Feb2019 17:53:50.484] [modloading-worker-2/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Forge mod loading, version 25.0.13, for MC 1.13.2 with MCP 20190213.203750
[20Feb2019 17:53:50.814] [Client thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/]: Exception caught during firing event: null
    Index: 1
    Listeners:
        0: NORMAL
        1: ASM: class com.drachenbauer32.angrybirdsmod.Main$RegistryEvents registerBlocks(Lnet/minecraftforge/event/RegistryEvent$Register;)V
        2: ASM: class com.drachenbauer32.angrybirdsmod.Main$RegistryEvents registerItems(Lnet/minecraftforge/event/RegistryEvent$Register;)V
        3: ASM: class com.drachenbauer32.angrybirdsmod.Main$RegistryEvents registerEntities(Lnet/minecraftforge/event/RegistryEvent$Register;)V
java.lang.ExceptionInInitializerError
    at com.drachenbauer32.angrybirdsmod.Main$RegistryEvents.registerBlocks(Main.java:87)
    at net.minecraftforge.eventbus.ASMEventHandler_0_RegistryEvents_registerBlocks_Register.invoke(.dynamic)
    at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:79)
    at net.minecraftforge.eventbus.EventBus.post(EventBus.java:249)
    at net.minecraftforge.fml.javafmlmod.FMLModContainer.fireEvent(FMLModContainer.java:105)
    at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
    at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
    at net.minecraftforge.fml.ModContainer.transitionState(ModContainer.java:100)
    at net.minecraftforge.fml.ModList.lambda$dispatchSynchronousEvent$4(ModList.java:111)
    at java.util.ArrayList.forEach(ArrayList.java:1257)
    at net.minecraftforge.fml.ModList.dispatchSynchronousEvent(ModList.java:111)
    at net.minecraftforge.fml.ModList.lambda$static$0(ModList.java:82)
    at net.minecraftforge.fml.LifecycleEventProvider.dispatch(LifecycleEventProvider.java:72)
    at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:146)
    at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:814)
    at net.minecraftforge.fml.ModLoader.loadMods(ModLoader.java:134)
    at net.minecraftforge.fml.client.ClientModLoader.begin(ClientModLoader.java:52)
    at net.minecraft.client.Minecraft.init(Minecraft.java:411)
    at net.minecraft.client.Minecraft.run(Minecraft.java:344)
    at net.minecraft.client.main.Main.main(SourceFile:144)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55)
    at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:19)
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:35)
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53)
    at cpw.mods.modlauncher.Launcher.run(Launcher.java:58)
    at cpw.mods.modlauncher.Launcher.main(Launcher.java:44)
    at net.minecraftforge.userdev.UserdevLauncher.main(UserdevLauncher.java:77)
Caused by: java.lang.NullPointerException
    at net.minecraft.item.Item$Properties.access$000(Item.java:1182)
    at net.minecraft.item.Item.<init>(Item.java:94)
    at net.minecraft.item.ItemBlock.<init>(ItemBlock.java:30)
    at com.drachenbauer32.angrybirdsmod.blocks.BalloonBlock.<init>(BalloonBlock.java:33)
    at com.drachenbauer32.angrybirdsmod.init.BlockInit.<clinit>(BlockInit.java:21)
    ... 31 more

[20Feb2019 17:53:50.817] [Client thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/LOADING]: Caught exception during event RegistryEvent.Register<minecraft:blocks> dispatch for modid angrybirdsmod
java.lang.ExceptionInInitializerError: null
    at com.drachenbauer32.angrybirdsmod.Main$RegistryEvents.registerBlocks(Main.java:87) ~[main/:?]
    at net.minecraftforge.eventbus.ASMEventHandler_0_RegistryEvents_registerBlocks_Register.invoke(.dynamic) ~[?:?]
    at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:79) ~[eventbus-0.6.0-service.jar:?]
    at net.minecraftforge.eventbus.EventBus.post(EventBus.java:249) ~[eventbus-0.6.0-service.jar:?]
    at net.minecraftforge.fml.javafmlmod.FMLModContainer.fireEvent(FMLModContainer.java:105) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:25.0]
    at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65) ~[?:1.8.0_202]
    at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65) ~[?:1.8.0_202]
    at net.minecraftforge.fml.ModContainer.transitionState(ModContainer.java:100) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.ModList.lambda$dispatchSynchronousEvent$4(ModList.java:111) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_202]
    at net.minecraftforge.fml.ModList.dispatchSynchronousEvent(ModList.java:111) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.ModList.lambda$static$0(ModList.java:82) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.LifecycleEventProvider.dispatch(LifecycleEventProvider.java:72) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:146) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:814) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.ModLoader.loadMods(ModLoader.java:134) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraftforge.fml.client.ClientModLoader.begin(ClientModLoader.java:52) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:411) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:344) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at net.minecraft.client.main.Main.main(SourceFile:144) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_202]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_202]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_202]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_202]
    at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55) ~[forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:19) [modlauncher-0.9.4.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:35) [modlauncher-0.9.4.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-0.9.4.jar:?]
    at cpw.mods.modlauncher.Launcher.run(Launcher.java:58) [modlauncher-0.9.4.jar:?]
    at cpw.mods.modlauncher.Launcher.main(Launcher.java:44) [modlauncher-0.9.4.jar:?]
    at net.minecraftforge.userdev.UserdevLauncher.main(UserdevLauncher.java:77) [forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13-recomp.jar:?]
Caused by: java.lang.NullPointerException
    at net.minecraft.item.Item$Properties.access$000(Item.java:1182) ~[?:?]
    at net.minecraft.item.Item.<init>(Item.java:94) ~[?:?]
    at net.minecraft.item.ItemBlock.<init>(ItemBlock.java:30) ~[?:?]
    at com.drachenbauer32.angrybirdsmod.blocks.BalloonBlock.<init>(BalloonBlock.java:33) ~[?:?]
    at com.drachenbauer32.angrybirdsmod.init.BlockInit.<clinit>(BlockInit.java:21) ~[?:?]
    ... 31 more
[20Feb2019 17:53:50.852] [Client thread/FATAL] [net.minecraftforge.fml.ModLoader/]: Failed to complete lifecycle event LOAD_REGISTRIES, 1 errors found
[20Feb2019 17:53:50.910] [Client thread/INFO] [net.minecraft.resources.SimpleReloadableResourceManager/]: Reloading ResourceManager: forge-1.13.2-25.0.13_mapped_snapshot_20180921-1.13.jar, main, Default
[20Feb2019 17:53:54.056] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager/]: Starting up SoundSystem version 201809301515...
[20Feb2019 17:53:54.286] [Thread-4/INFO] [net.minecraft.client.audio.SoundManager/]: Initializing No Sound
[20Feb2019 17:53:54.287] [Thread-4/INFO] [net.minecraft.client.audio.SoundManager/]: (Silent Mode)
[20Feb2019 17:53:54.537] [Thread-4/INFO] [net.minecraft.client.audio.SoundManager/]: OpenAL initialized.
[20Feb2019 17:53:54.660] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager/SOUNDS]: Preloading sound minecraft:sounds/ambient/underwater/underwater_ambience.ogg
[20Feb2019 17:53:54.666] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager/SOUNDS]: Sound engine started
[20Feb2019 17:54:00.685] [Client thread/INFO] [net.minecraft.client.renderer.texture.TextureMap/]: Max texture size: 8192
[20Feb2019 17:54:03.302] [Client thread/INFO] [net.minecraft.client.renderer.texture.TextureMap/]: Created: 512x512 textures-atlas
[20Feb2019 17:54:07.181] [Client thread/ERROR] [net.minecraftforge.fml.ModLoader/]: Skipping lifecycle event ENQUEUE_IMC, 1 errors found.
[20Feb2019 17:54:07.181] [Client thread/FATAL] [net.minecraftforge.fml.ModLoader/]: Failed to complete lifecycle event ENQUEUE_IMC, 1 errors found
[20Feb2019 17:54:07.182] [Client thread/WARN] [net.minecraft.client.GameSettings/]: Skipping bad option: lastServer:
[20Feb2019 17:54:07.261] [Client thread/INFO] [com.mojang.text2speech.NarratorWindows/]: Narrator library for x64 successfully loaded
[20Feb2019 17:54:08.333] [Realms Notification Availability checker #1/INFO] [com.mojang.realmsclient.client.RealmsClient/]: Could not authorize you against Realms server: Invalid session id

 

 

I added the registry name thing to all my blocks.

what also goes wrong here?

Link to comment
Share on other sites

51 minutes ago, Drachenbauer said:

And if yes, how do i set itam-properties like stacksize and ItemGroup without having an itembase?.

ItemBase is not magical. That thing you want put in ItemBase can instead (gasp!) go in your item's constructor. 

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

but if i start the properties for the ItemBlock with

(Item.Properties.

in

ItemInit.ITEMS.add(new ItemBlock(this, null).setRegistryName(this.getRegistryName()));

instead of "null" in my block class, the dropdown-menu holds only the options:

-class:Class<net.minecraft.item.Item.Properties>

-super

-this

 

for Block properties in the blockinit it will show me things like material, sound or hardness/resistance

Link to comment
Share on other sites

For Example:

    private Item.Properties getDefaultProperties() {
        return new Item.Properties()
                .defaultMaxDamage(0)
                .group(nimox.ITEM_GROUP_NIMOX)
                .maxStackSize(64)
                .rarity(EnumRarity.COMMON)
                .setNoRepair()
                ;
    }

    public Item getItemBlock() {
        return new ItemBlock(this, getDefaultProperties()).setRegistryName(this.getRegistryName().getPath());
    }
Link to comment
Share on other sites

now i have no mor errors in the log and i can enter my test-world.

 

But my custom blocks don´t appear in my creative-inventar...

 

My Main-class:

Spoiler

package com.drachenbauer32.angrybirdsmod;

import java.util.function.Function;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import com.drachenbauer32.angrybirdsmod.entity.EntityBlues;
import com.drachenbauer32.angrybirdsmod.entity.EntityBomb;
import com.drachenbauer32.angrybirdsmod.entity.EntityChuck;
import com.drachenbauer32.angrybirdsmod.entity.EntityMathilda;
import com.drachenbauer32.angrybirdsmod.entity.EntityRed;
import com.drachenbauer32.angrybirdsmod.init.BlockInit;
import com.drachenbauer32.angrybirdsmod.init.ItemInit;
import com.drachenbauer32.angrybirdsmod.util.Reference;
import com.drachenbauer32.angrybirdsmod.util.handlers.RenderHandler;

import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemSpawnEgg;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.IForgeRegistry;

@Mod(Reference.MOD_ID)
public class Main
{
	
	private static final Logger LOGGER = LogManager.getLogger(Reference.MOD_ID);
	
	public Main() 
	{
		FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
		FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientRegistries);
		
		MinecraftForge.EVENT_BUS.register(this);
	}
	
	private void setup(final FMLCommonSetupEvent event)
	{
		LOGGER.info("Setup method registered. (This is what used to be preInit)");
		//RegistryHandler.SetupRegistries();
	}
	
	private void clientRegistries(final FMLClientSetupEvent event)
	{
		LOGGER.info("Client registries registered. This is for all things that are client side only.");
	}
	
	@Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)
	public static class RegistryEvents
	{
		public static EntityType<?> EntityInEgg;
		@SubscribeEvent
		public static void registerItems(final RegistryEvent.Register<Item> event)
		{
			event.getRegistry().registerAll(ItemInit.ITEMS.toArray(new Item[0]));
			//public static EntityType<EntityRed> registerEntityAndEgg(IForgeRegistry<Item> itemRegistry, EntityRed.class, EntityRed::new, 0xdf0000, 0xdfbf9f, 32, 1, true, Red);
			EntityInEgg = EntityType.Builder.create(EntityRed.class, EntityRed::new).tracker(32, 1, true).build("angrybirdsmod.red");
		    event.getRegistry().register(new ItemSpawnEgg(EntityInEgg, 0xdf0000, 0xdfbf9f, new Item.Properties().group(ItemGroup.MATERIALS)).setRegistryName("red"));
		    EntityInEgg = EntityType.Builder.create(EntityChuck.class, EntityChuck::new).tracker(32, 1, true).build(Reference.MOD_ID + ".chuck");
		    event.getRegistry().register(new ItemSpawnEgg(EntityInEgg, 0xffff00, 0xffffff, new Item.Properties().group(ItemGroup.MATERIALS)).setRegistryName("chuck"));
		    EntityInEgg = EntityType.Builder.create(EntityBlues.class, EntityBlues::new).tracker(32, 1, true).build(Reference.MOD_ID + ".blues");
		    event.getRegistry().register(new ItemSpawnEgg(EntityInEgg, 0x007fff, 0xff0000, new Item.Properties().group(ItemGroup.MATERIALS)).setRegistryName("blues"));
		    EntityInEgg = EntityType.Builder.create(EntityBomb.class, EntityBomb::new).tracker(32, 1, true).build(Reference.MOD_ID + ".bomb");
		    event.getRegistry().register(new ItemSpawnEgg(EntityInEgg, 0x3f3f3f, 0x7f7f7f, new Item.Properties().group(ItemGroup.MATERIALS)).setRegistryName("bomb"));
		    EntityInEgg = EntityType.Builder.create(EntityMathilda.class, EntityMathilda::new).tracker(32, 1, true).build(Reference.MOD_ID + ".mathilda");
		    event.getRegistry().register(new ItemSpawnEgg(EntityInEgg, 0xffffff, 0xffbfbf, new Item.Properties().group(ItemGroup.MATERIALS)).setRegistryName("mathilda"));
			LOGGER.info("Items registered.");
		}
		
		@SubscribeEvent
		public static void registerBlocks(final RegistryEvent.Register<Block> event)
		{
			event.getRegistry().registerAll(BlockInit.BLOCKS.toArray(new Block[0]));
			LOGGER.info("Blocks registered.");
		}
		
		@SubscribeEvent
		public static void registerEntities(final RegistryEvent.Register<EntityType<?>> event)
		{
			event.getRegistry().register(EntityType.Builder.create(EntityRed.class, EntityRed::new).tracker(32, 1, true).build(Reference.MOD_ID + ".red").setRegistryName("red"));
			event.getRegistry().register(EntityType.Builder.create(EntityChuck.class, EntityChuck::new).tracker(32, 1, true).build(Reference.MOD_ID + ".chuck").setRegistryName("chuck"));
			event.getRegistry().register(EntityType.Builder.create(EntityBlues.class, EntityBlues::new).tracker(32, 1, true).build(Reference.MOD_ID + ".blues").setRegistryName("blues_trio"));
			event.getRegistry().register(EntityType.Builder.create(EntityBomb.class, EntityBomb::new).tracker(32, 1, true).build(Reference.MOD_ID + ".bomb").setRegistryName("bomb"));
			event.getRegistry().register(EntityType.Builder.create(EntityMathilda.class, EntityMathilda::new).tracker(32, 1, true).build(Reference.MOD_ID + ".mathilda").setRegistryName("mathilda"));
			RenderHandler.regigisterEntityRenders();
			LOGGER.info("Entities registered.");
		}
		
		public static <T extends Entity>EntityType<T> registerEntityAndEgg(IForgeRegistry<Item> itemRegistry, Class<T> entityClass, Function<? super World, T> factory, int eggPrimaryColor, int eggSecondaryColor, int trackingRange, int updateFrequency, boolean sendVelocityUpdates, String name)
	    {
	        EntityType<T> type = EntityType.Builder.create(entityClass, factory).tracker(trackingRange, updateFrequency, sendVelocityUpdates).build(Reference.MOD_ID + '.' + name);
	        itemRegistry.register(new ItemSpawnEgg(type, eggPrimaryColor, eggSecondaryColor, new Item.Properties().group(ItemGroup.MATERIALS)).setRegistryName(name));
	        return type;
	    }
    }
}

 

 

My BlockInit-class:

Spoiler

package com.drachenbauer32.angrybirdsmod.init;

import java.util.ArrayList;
import java.util.List;

import com.drachenbauer32.angrybirdsmod.blocks.BalloonBlock;
import com.drachenbauer32.angrybirdsmod.blocks.EggBlock;
import com.drachenbauer32.angrybirdsmod.blocks.NestBlock;
import com.drachenbauer32.angrybirdsmod.blocks.Slingshot2Block;
import com.drachenbauer32.angrybirdsmod.blocks.SlingshotBlock;

import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.material.MaterialColor;

public class BlockInit
{
	public static final List<Block> BLOCKS = new ArrayList<Block>();
	
	public static final Block BALLOON_BLOCK = new BalloonBlock("balloon_block", (Block.Properties.create(Material.CLOTH, MaterialColor.SNOW).sound(SoundType.CLOTH).
            hardnessAndResistance(30F, 150F).lightValue(0).hardnessAndResistance(0.1f, 0.5f).variableOpacity()));//setHarvestLevel("pickaxe", 2);*/)));
	public static final Block EGG_BLOCK = new EggBlock("egg_block", (Block.Properties.create(Material.CLAY, MaterialColor.SNOW).sound(SoundType.STONE).
            hardnessAndResistance(30F, 150F).lightValue(0).hardnessAndResistance(0.1f, 0.5f).variableOpacity()));
	public static final Block NEST_BLOCK = new NestBlock("nest_block", (Block.Properties.create(Material.GRASS, MaterialColor.GOLD).sound(SoundType.PLANT).
            hardnessAndResistance(30F, 150F).lightValue(0).hardnessAndResistance(0.1f, 0.5f).variableOpacity()));
	public static final Block SLINGSHOT_BLOCK = new SlingshotBlock("slingshot_block", (Block.Properties.create(Material.WOOD, MaterialColor.WOOD).sound(SoundType.WOOD).
            hardnessAndResistance(30F, 150F).lightValue(0).hardnessAndResistance(0.1f, 0.5f).variableOpacity()));
	public static final Block SLINGSHOT2_BLOCK = new Slingshot2Block("slingshot2_block", (Block.Properties.create(Material.WOOD, MaterialColor.WOOD).sound(SoundType.WOOD).
            hardnessAndResistance(30F, 150F).lightValue(0).hardnessAndResistance(0.1f, 0.5f).variableOpacity()));
}

 

 

My BalloonBlock-class (the other blocks are very similar):

Spoiler

package com.drachenbauer32.angrybirdsmod.blocks;

import com.drachenbauer32.angrybirdsmod.init.BlockInit;

import net.minecraft.block.Block;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemGroup;
import net.minecraft.state.DirectionProperty;
import net.minecraft.state.StateContainer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.util.math.shapes.VoxelShapes;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;

public class BalloonBlock extends Block
{
	public static final AxisAlignedBB BALLOON_BLOCK_AABB = new AxisAlignedBB(0.125, 0, 0.125, 0.875, 2, 0.875);
	public static final DirectionProperty FACING = BlockHorizontal.HORIZONTAL_FACING;
	
	public BalloonBlock(String name, Properties class1) 
	{
		super(class1);
		this.setDefaultState(this.stateContainer.getBaseState().with(FACING, EnumFacing.NORTH));
		setRegistryName(name);
		BlockInit.BLOCKS.add(this);
		//ItemInit.ITEMS.add(new ItemBlock(this, new Item.Properties().group(ItemGroup.DECORATIONS).maxStackSize(64)).setRegistryName(this.getRegistryName()));
	}
	
	private Item.Properties getDefaultProperties()
	{
	        return new Item.Properties()
	                .defaultMaxDamage(0)
	                .group(ItemGroup.DECORATIONS)
	                .maxStackSize(64)
	                .rarity(EnumRarity.COMMON)
	                .setNoRepair()
	                ;
	}

	public Item getItemBlock()
	{
	    return new ItemBlock(this, getDefaultProperties()).setRegistryName(this.getRegistryName().getPath());
	}
	
	@Override
	public boolean isSolid(IBlockState state)
	{
		return false;
	}
	
	@Override
	public boolean isFullCube(IBlockState state)
    {
        return false;
    }
	
	@Override
	public VoxelShape getShape(IBlockState state, IBlockReader p_196244_2_, BlockPos p_196244_3_)
	{
		return VoxelShapes.create(BALLOON_BLOCK_AABB);
	}
	
	@Override
	public VoxelShape getRenderShape(IBlockState state, IBlockReader p_196247_2_, BlockPos p_196247_3_)
	{
		return VoxelShapes.create(BALLOON_BLOCK_AABB);
	}
	
	@Override
	public VoxelShape getCollisionShape(IBlockState state, IBlockReader p_196268_2_, BlockPos p_196268_3_)
	{
		return VoxelShapes.create(BALLOON_BLOCK_AABB);
	}
	
	protected void fillStateContainer(StateContainer.Builder<Block, IBlockState> builder)
	{
        builder.add(FACING);
    }
	
    public IBlockState withRotation(IBlockState state, Rotation rot)
    {
        return state.with(FACING, rot.rotate((EnumFacing) state.get(FACING)));
    }

    public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer)
    {
        return this.getDefaultState().with(FACING, placer.getHorizontalFacing().getOpposite());
    }

    /*public interface IBlockColor
    {
        int colorMultiplier(IBlockState state, IBlockAccess worldIn, BlockPos pos, int tintIndex);
    }
    @Override
    public IBlockColor getBlockColor() {
        return null;
    }*/
}

 

 

My ItemInit-class:

Spoiler

package com.drachenbauer32.angrybirdsmod.init;

import java.util.ArrayList;
import java.util.List;

import net.minecraft.item.Item;

public class ItemInit 
{
	public static final List<Item> ITEMS = new ArrayList<Item>();
	
	//public static final ItemBlock BALLOON_BLOCK = new Item("balloon_block", null);
}

 

 

What must i change to make my blocks appear in the creative-inventory?

Edited by Drachenbauer
Link to comment
Share on other sites

 

I do it this way: 

Events:

    private void onBlocksRegistry(final RegistryEvent.Register<Block> event) {
        LOGGER.info("Registering Blocks...");
        ModBlocks.register(event);
    }

    private void onItemsRegistry(final RegistryEvent.Register<Item> event) {
        LOGGER.info("Registering Items...");
        ModItems.register(event);
    }

 

ModBlocks:

@ObjectHolder(nimox.ModId)
public class ModBlocks {

    public static NonNullList<BlockBase> BLOCKS = NonNullList.create();

    @ObjectHolder("test")
    public static final BlockTest BLOCK_TEST = null;

    public static void register(RegistryEvent.Register<Block> blockRegistryEvent){
        // Create Instances and add to BLOCKS List.
        BLOCKS.add(new BlockTest());

        // Registering all
        for(Block b : BLOCKS) {
            blockRegistryEvent.getRegistry().register(b);
        }
    }

}

 

ModItems:

@ObjectHolder(nimox.ModId)
public class ModItems {

    public static NonNullList<Item> ITEMS = NonNullList.create();

    @ObjectHolder("ocd_torcher")
    public static final ItemOCDTorcher ITEM_OCD_TORCHER = null;

    public static void register(RegistryEvent.Register<Item> itemRegistryEvent) {

        // Own Items
        ITEMS.add(new ItemOCDTorcher());

        // Itemblocks for Blocks
        for(BlockBase b : ModBlocks.BLOCKS) {
            ITEMS.add(b.getItemBlock());
        }

        // Register Items
        for(Item i : ITEMS) {
            itemRegistryEvent.getRegistry().register(i);
        }
    }

}

 

Blocks:

    private Item.Properties getDefaultProperties() {
        return new Item.Properties()
                .defaultMaxDamage(0)
                .group(nimox.ITEM_GROUP_NIMOX)
                .maxStackSize(64)
                .rarity(EnumRarity.COMMON)
                .setNoRepair()
                ;
    }

    public Item getItemBlock() {
        return new ItemBlock(this, getDefaultProperties()).setRegistryName(this.getRegistryName().getPath());
    }

 

Create the instances at event time, not construction time.

 

and for the Jsons

JSONS

Link to comment
Share on other sites

And where do i set the blockproperties in this registration style?

 

for the Blockinit.

I get an error:

Syntax error, insert "}" to complete ClassBody

at the open curly brace of the registry event...

But i have all curly braces, wich are shown in the sample

Edited by Drachenbauer
Link to comment
Share on other sites

Replace BlockBase with Block.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

i made it this way now:

		ITEMS.add(BlockInit.BALLOON_BLOCK.getItemBlock());
		ITEMS.add(BlockInit.EGG_BLOCK.getItemBlock());
		ITEMS.add(BlockInit.NEST_BLOCK.getItemBlock());
		ITEMS.add(BlockInit.SLINGSHOT_BLOCK.getItemBlock());
		ITEMS.add(BlockInit.SLINGSHOT2_BLOCK.getItemBlock());

, without the

 for(BlockBase b : ModBlocks.BLOCKS)
{
}

around them

Link to comment
Share on other sites

2 hours ago, Drachenbauer said:

That makes problems with the getItemBlock command.

 

seems like it is not pre written in the common Block-class

BlockBase is not magic. What does the getItemBlock method do?

Why Item.getFromBlock. This function is itself, public, as is the parameter it passes. 

 

For (Block b : ModBlocks)

  ModItems.add (Item.getFromBlock (b));

 

Amazing. 

Edited by Draco18s

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

i have all my blocks from different selfmade block-classes, because i use differenr custom models with diferent sizes for them and want to have fitting boundingboxes.

 

So i see no way to do that by going through the list in my BlockInit.

So i made an ItemBlick line for each of my blocks in the ItemInit.

 

But i wonder, why i still cannot find them in my inventory...

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
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

×
×
  • Create New...

Important Information

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