Jump to content

Recommended Posts

Posted

So I made custom fire but when I hit it to put it out the block under it breaks and then because of that the fire goes out, here's my code:

public class CheeseFire extends Block {
public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 15);
public static final PropertyBool NORTH = PropertyBool.create("north");
public static final PropertyBool EAST = PropertyBool.create("east");
public static final PropertyBool SOUTH = PropertyBool.create("south");
public static final PropertyBool WEST = PropertyBool.create("west");
public static final PropertyBool UPPER = PropertyBool.create("up");
private final Map<Block, Integer> encouragements = Maps.<Block, Integer>newIdentityHashMap();
private final Map<Block, Integer> flammabilities = Maps.<Block, Integer>newIdentityHashMap();

/**
 * Get the actual Block state of this Block at the given position. This
 * applies properties not visible in the metadata, such as fence
 * connections.
 */
public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
	if (!worldIn.getBlockState(pos.down()).isSideSolid(worldIn, pos.down(), EnumFacing.UP)
			&& !CheeseBlocks.CHEESE_FIRE.canCatchFire(worldIn, pos.down(), EnumFacing.UP)) {
		return state.withProperty(NORTH, this.canCatchFire(worldIn, pos.north(), EnumFacing.SOUTH))
				.withProperty(EAST, this.canCatchFire(worldIn, pos.east(), EnumFacing.WEST))
				.withProperty(SOUTH, this.canCatchFire(worldIn, pos.south(), EnumFacing.NORTH))
				.withProperty(WEST, this.canCatchFire(worldIn, pos.west(), EnumFacing.EAST))
				.withProperty(UPPER, this.canCatchFire(worldIn, pos.up(), EnumFacing.DOWN));
	}
	return this.getDefaultState();
}

public CheeseFire() {
	super(Material.FIRE);
	this.setDefaultState(this.blockState.getBaseState().withProperty(AGE, Integer.valueOf(0))
			.withProperty(NORTH, Boolean.valueOf(false)).withProperty(EAST, Boolean.valueOf(false))
			.withProperty(SOUTH, Boolean.valueOf(false)).withProperty(WEST, Boolean.valueOf(false))
			.withProperty(UPPER, Boolean.valueOf(false)));
	this.setTickRandomly(true);
}

public static void init() {
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.PLANKS, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.DOUBLE_WOODEN_SLAB, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.WOODEN_SLAB, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.OAK_FENCE_GATE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.SPRUCE_FENCE_GATE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.BIRCH_FENCE_GATE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.JUNGLE_FENCE_GATE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.DARK_OAK_FENCE_GATE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.ACACIA_FENCE_GATE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.OAK_FENCE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.SPRUCE_FENCE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.BIRCH_FENCE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.JUNGLE_FENCE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.DARK_OAK_FENCE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.ACACIA_FENCE, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.OAK_STAIRS, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.BIRCH_STAIRS, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.SPRUCE_STAIRS, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.JUNGLE_STAIRS, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.ACACIA_STAIRS, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.DARK_OAK_STAIRS, 5, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.LOG, 5, 5);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.LOG2, 5, 5);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.LEAVES, 30, 60);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.LEAVES2, 30, 60);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.BOOKSHELF, 30, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.TNT, 15, 100);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.TALLGRASS, 60, 100);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.DOUBLE_PLANT, 60, 100);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.YELLOW_FLOWER, 60, 100);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.RED_FLOWER, 60, 100);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.DEADBUSH, 60, 100);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.WOOL, 30, 60);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.VINE, 15, 100);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.COAL_BLOCK, 5, 5);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.HAY_BLOCK, 60, 20);
	CheeseBlocks.CHEESE_FIRE.setFireInfo(Blocks.CARPET, 60, 20);
}

public void setFireInfo(Block blockIn, int encouragement, int flammability) {
	if (blockIn == Blocks.AIR)
		throw new IllegalArgumentException("Tried to set air on fire... This is bad.");
	this.encouragements.put(blockIn, Integer.valueOf(encouragement));
	this.flammabilities.put(blockIn, Integer.valueOf(flammability));
}

@Nullable
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
	return NULL_AABB;
}

/**
 * Used to determine ambient occlusion and culling when rebuilding chunks
 * for render
 */
public boolean isOpaqueCube(IBlockState state) {
	return false;
}

public boolean isFullCube(IBlockState state) {
	return false;
}

/**
 * Returns the quantity of items to drop on block destruction.
 */
public int quantityDropped(Random random) {
	return 0;
}

/**
 * How many world ticks before ticking
 */
public int tickRate(World worldIn) {
	return 30;
}

public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {
	if (worldIn.getGameRules().getBoolean("doFireTick")) {
		if (!this.canPlaceBlockAt(worldIn, pos)) {
			worldIn.setBlockToAir(pos);
		}

		Block block = worldIn.getBlockState(pos.down()).getBlock();
		boolean flag = block.isFireSource(worldIn, pos.down(), EnumFacing.UP);

		int i = ((Integer) state.getValue(AGE)).intValue();

		if (!flag && worldIn.isRaining() && this.canDie(worldIn, pos)
				&& rand.nextFloat() < 0.2F + (float) i * 0.03F) {
			worldIn.setBlockToAir(pos);
		} else {
			if (i < 15) {
				state = state.withProperty(AGE, Integer.valueOf(i + rand.nextInt(3) / 2));
				worldIn.setBlockState(pos, state, 4);
			}

			worldIn.scheduleUpdate(pos, this, this.tickRate(worldIn) + rand.nextInt(10));

			if (!flag) {
				if (!this.canNeighborCatchFire(worldIn, pos)) {
					if (!worldIn.getBlockState(pos.down()).isSideSolid(worldIn, pos.down(), EnumFacing.UP)) {
						worldIn.setBlockToAir(pos);
					}

					return;
				}

				if (!this.canCatchFire(worldIn, pos.down(), EnumFacing.UP) && rand.nextInt(50) == 0) {
					worldIn.setBlockToAir(pos);
					return;
				}
			}

			boolean flag1 = worldIn.isBlockinHighHumidity(pos);
			int j = 0;

			if (flag1) {
				j = -50;
			}

			this.tryCatchFire(worldIn, pos.east(), 51 + j, rand, i, EnumFacing.WEST);
			this.tryCatchFire(worldIn, pos.west(), 51 + j, rand, i, EnumFacing.EAST);
			this.tryCatchFire(worldIn, pos.down(), 51 + j, rand, i, EnumFacing.UP);
			this.tryCatchFire(worldIn, pos.up(), 51 + j, rand, i, EnumFacing.DOWN);
			this.tryCatchFire(worldIn, pos.north(), 51 + j, rand, i, EnumFacing.SOUTH);
			this.tryCatchFire(worldIn, pos.south(), 51 + j, rand, i, EnumFacing.NORTH);

			for (int k = -1; k <= 1; ++k) {
				for (int l = -1; l <= 1; ++l) {
					for (int i1 = -1; i1 <= 4; ++i1) {
						if (k != 0 || i1 != 0 || l != 0) {
							int j1 = 100;

							if (i1 > 1) {
								j1 += (i1 - 1) * 100;
							}

							BlockPos blockpos = pos.add(k, i1, l);
							int k1 = this.getNeighborEncouragement(worldIn, blockpos);

							if (k1 > 0) {
								int l1 = (k1 + 40 + worldIn.getDifficulty().getDifficultyId() * 7) / (i + 30);

								if (flag1) {
									l1 /= 2;
								}

								if (l1 > 0 && rand.nextInt(j1) <= l1
										&& !this.canDie(worldIn, blockpos)) {
									int i2 = i + rand.nextInt(5) / 4;

									if (i2 > 15) {
										i2 = 15;
									}

									worldIn.setBlockState(blockpos, state.withProperty(AGE, Integer.valueOf(i2)),
											3);
								}
							}
						}
					}
				}
			}
		}
	}
}

protected boolean canDie(World worldIn, BlockPos pos) {
	return false;
}

public boolean requiresUpdates() {
	return false;
}

@Deprecated // Use Block.getFlammability
public int getFlammability(Block blockIn) {
	Integer integer = (Integer) this.flammabilities.get(blockIn);
	return integer == null ? 0 : integer.intValue();
}

@Deprecated // Use Block.getFlammability
public int getEncouragement(Block blockIn) {
	Integer integer = (Integer) this.encouragements.get(blockIn);
	return integer == null ? 0 : integer.intValue();
}

@Deprecated // Use tryCatchFire with face below
private void catchOnFire(World worldIn, BlockPos pos, int chance, Random random, int age) {
	this.tryCatchFire(worldIn, pos, chance, random, age, EnumFacing.UP);
}

private void tryCatchFire(World worldIn, BlockPos pos, int chance, Random random, int age, EnumFacing face) {
	int i = worldIn.getBlockState(pos).getBlock().getFlammability(worldIn, pos, face);

	if (random.nextInt(chance) < i) {
		IBlockState iblockstate = worldIn.getBlockState(pos);

		if (random.nextInt(age + 10) < 5 && !worldIn.isRainingAt(pos)) {
			int j = age + random.nextInt(5) / 4;

			if (j > 15) {
				j = 15;
			}

			worldIn.setBlockState(pos, this.getDefaultState().withProperty(AGE, Integer.valueOf(j)), 3);
		} else {
			worldIn.setBlockToAir(pos);
		}

		if (iblockstate.getBlock() == Blocks.TNT) {
			Blocks.TNT.onBlockDestroyedByPlayer(worldIn, pos,
					iblockstate.withProperty(BlockTNT.EXPLODE, Boolean.valueOf(true)));
		}
	}
}

private boolean canNeighborCatchFire(World worldIn, BlockPos pos) {
	for (EnumFacing enumfacing : EnumFacing.values()) {
		if (this.canCatchFire(worldIn, pos.offset(enumfacing), enumfacing.getOpposite())) {
			return true;
		}
	}

	return false;
}

private int getNeighborEncouragement(World worldIn, BlockPos pos) {
	if (!worldIn.isAirBlock(pos)) {
		return 0;
	} else {
		int i = 0;

		for (EnumFacing enumfacing : EnumFacing.values()) {
			i = Math.max(worldIn.getBlockState(pos.offset(enumfacing)).getBlock().getFireSpreadSpeed(worldIn,
					pos.offset(enumfacing), enumfacing.getOpposite()), i);
		}

		return i;
	}
}

/**
 * Returns if this block is collidable. Only used by fire, although stairs
 * return that of the block that the stair is made of (though nobody's going
 * to make fire stairs, right?)
 */
public boolean isCollidable() {
	return false;
}

/**
 * Checks if the block can be caught on fire
 */
@Deprecated // Use canCatchFire with face sensitive version below
public boolean canCatchFire(IBlockAccess worldIn, BlockPos pos) {
	return canCatchFire(worldIn, pos, EnumFacing.UP);
}

public boolean canPlaceBlockAt(World worldIn, BlockPos pos) {
	return worldIn.getBlockState(pos.down()).isFullyOpaque() || this.canNeighborCatchFire(worldIn, pos);
}

/**
 * Called when a neighboring block was changed and marks that this state
 * should perform any checks during a neighbor change. Cases may include
 * when redstone power is updated, cactus blocks popping off due to a
 * neighboring solid block, etc.
 */
public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos p_189540_5_) {
	if (!worldIn.getBlockState(pos.down()).isFullyOpaque() && !this.canNeighborCatchFire(worldIn, pos)) {
		worldIn.setBlockToAir(pos);
	}
}

/**
 * Called after the block is set in the Chunk data, but before the Tile
 * Entity is set
 */
public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) {
	if (worldIn.provider.getDimensionType().getId() > 0 || !CheeseBlocks.CHEESE_PORTAL.trySpawnPortal(worldIn, pos)) {
		if (!worldIn.getBlockState(pos.down()).isFullyOpaque() && !this.canNeighborCatchFire(worldIn, pos)) {
			worldIn.setBlockToAir(pos);
		} else {
			worldIn.scheduleUpdate(pos, this, this.tickRate(worldIn) + worldIn.rand.nextInt(10));
		}
	}
}

@SideOnly(Side.CLIENT)
public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) {
	if (rand.nextInt(24) == 0) {
		worldIn.playSound((double) ((float) pos.getX() + 0.5F), (double) ((float) pos.getY() + 0.5F),
				(double) ((float) pos.getZ() + 0.5F), SoundEvents.BLOCK_FIRE_AMBIENT, SoundCategory.BLOCKS,
				1.0F + rand.nextFloat(), rand.nextFloat() * 0.7F + 0.3F, false);
	}

	if (!worldIn.getBlockState(pos.down()).isSideSolid(worldIn, pos.down(), EnumFacing.UP)
			&& !CheeseBlocks.CHEESE_FIRE.canCatchFire(worldIn, pos.down(), EnumFacing.UP)) {
		if (CheeseBlocks.CHEESE_FIRE.canCatchFire(worldIn, pos.west(), EnumFacing.EAST)) {
			for (int j = 0; j < 2; ++j) {
				double d3 = (double) pos.getX() + rand.nextDouble() * 0.10000000149011612D;
				double d8 = (double) pos.getY() + rand.nextDouble();
				double d13 = (double) pos.getZ() + rand.nextDouble();
				worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d3, d8, d13, 0.0D, 0.0D, 0.0D, new int[0]);
			}
		}

		if (CheeseBlocks.CHEESE_FIRE.canCatchFire(worldIn, pos.east(), EnumFacing.WEST)) {
			for (int k = 0; k < 2; ++k) {
				double d4 = (double) (pos.getX() + 1) - rand.nextDouble() * 0.10000000149011612D;
				double d9 = (double) pos.getY() + rand.nextDouble();
				double d14 = (double) pos.getZ() + rand.nextDouble();
				worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d4, d9, d14, 0.0D, 0.0D, 0.0D, new int[0]);
			}
		}

		if (CheeseBlocks.CHEESE_FIRE.canCatchFire(worldIn, pos.north(), EnumFacing.SOUTH)) {
			for (int l = 0; l < 2; ++l) {
				double d5 = (double) pos.getX() + rand.nextDouble();
				double d10 = (double) pos.getY() + rand.nextDouble();
				double d15 = (double) pos.getZ() + rand.nextDouble() * 0.10000000149011612D;
				worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d5, d10, d15, 0.0D, 0.0D, 0.0D, new int[0]);
			}
		}

		if (CheeseBlocks.CHEESE_FIRE.canCatchFire(worldIn, pos.south(), EnumFacing.NORTH)) {
			for (int i1 = 0; i1 < 2; ++i1) {
				double d6 = (double) pos.getX() + rand.nextDouble();
				double d11 = (double) pos.getY() + rand.nextDouble();
				double d16 = (double) (pos.getZ() + 1) - rand.nextDouble() * 0.10000000149011612D;
				worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d6, d11, d16, 0.0D, 0.0D, 0.0D, new int[0]);
			}
		}

		if ((CheeseBlocks.CHEESE_FIRE).canCatchFire(worldIn, pos.up(), EnumFacing.DOWN)) {
			for (int j1 = 0; j1 < 2; ++j1) {
				double d7 = (double) pos.getX() + rand.nextDouble();
				double d12 = (double) (pos.getY() + 1) - rand.nextDouble() * 0.10000000149011612D;
				double d17 = (double) pos.getZ() + rand.nextDouble();
				worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d7, d12, d17, 0.0D, 0.0D, 0.0D, new int[0]);
			}
		}
	} else {
		for (int i = 0; i < 3; ++i) {
			double d0 = (double) pos.getX() + rand.nextDouble();
			double d1 = (double) pos.getY() + rand.nextDouble() * 0.5D + 0.5D;
			double d2 = (double) pos.getZ() + rand.nextDouble();
			worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]);
		}
	}
}

/**
 * Get the MapColor for this Block and the given BlockState
 */
public MapColor getMapColor(IBlockState state) {
	return MapColor.TNT;
}

@SideOnly(Side.CLIENT)
public BlockRenderLayer getBlockLayer() {
	return BlockRenderLayer.CUTOUT;
}

/**
 * Convert the given metadata into a BlockState for this Block
 */
public IBlockState getStateFromMeta(int meta) {
	return this.getDefaultState().withProperty(AGE, Integer.valueOf(meta));
}

/**
 * Convert the BlockState into the correct metadata value
 */
public int getMetaFromState(IBlockState state) {
	return ((Integer) state.getValue(AGE)).intValue();
}

protected BlockStateContainer createBlockState() {
	return new BlockStateContainer(this, new IProperty[] { AGE, NORTH, EAST, SOUTH, WEST, UPPER });
}

/*
 * ================================= Forge Start ======================================
 */
/**
 * Side sensitive version that calls the block function.
 *
 * @param world
 *            The current world
 * @param pos
 *            Block position
 * @param face
 *            The side the fire is coming from
 * @return True if the face can catch fire.
 */
public boolean canCatchFire(IBlockAccess world, BlockPos pos, EnumFacing face) {
	return world.getBlockState(pos).getBlock().isFlammable(world, pos, face);
}
/*
 * ================================= Forge End ======================================
 */
}

Help is much appreciated

And yes, I intentionally removed some of the age things because it is really strong fire (texture is blue and cheese is obviously a really good lighting material)

Classes: 94

Lines of code: 12173

Other files: 206

Github repo: https://github.com/KokkieBeer/DeGeweldigeMod

Posted

So now I have this:

@SubscribeEvent
public void playerInteract(PlayerInteractEvent event) {
	BlockPos pos = event.getPos();
	World world = event.getWorld();
	EntityPlayer player = event.getEntityPlayer();
	pos = pos.offset(event.getFace());

        if (world.getBlockState(pos).getBlock() == CheeseBlocks.CHEESE_FIRE) {
            world.playEvent(player, 1009, pos, 0);
            world.setBlockToAir(pos);
        }
}

in my common event handler but it doesn't work..?

Classes: 94

Lines of code: 12173

Other files: 206

Github repo: https://github.com/KokkieBeer/DeGeweldigeMod

Posted

I have this but it still doesn't work D: :

	@SubscribeEvent
public void playerInteract(PlayerInteractEvent.LeftClickBlock event) {
	BlockPos pos = event.getPos();
	World world = event.getWorld();
	EntityPlayer player = event.getEntityPlayer();
	pos = pos.offset(event.getFace());

        if (world.getBlockState(pos).getBlock() == CheeseBlocks.CHEESE_FIRE) {
            world.playEvent(player, 1009, pos, 0);
            world.setBlockToAir(pos);
        }
}

Classes: 94

Lines of code: 12173

Other files: 206

Github repo: https://github.com/KokkieBeer/DeGeweldigeMod

Posted

What happens?  That is, what does happen that you don't want or what doesn't happen that you do want?

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.

Posted

1) you didn't cancel the event

2) you don't play any sounds

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.

Posted
	@SubscribeEvent
public void playerInteract(PlayerInteractEvent.LeftClickBlock event) {
	BlockPos pos = event.getPos();
	World world = event.getWorld();
	EntityPlayer player = event.getEntityPlayer();
	pos = pos.offset(event.getFace());

        if (world.getBlockState(pos).getBlock() == CheeseBlocks.CHEESE_FIRE) {
        	event.setCanceled(true);
        	player.playSound(SoundEvents.BLOCK_FIRE_EXTINGUISH, 1.0F, 1.0F);
            world.setBlockToAir(pos);
        }
}

Doesn't work

Classes: 94

Lines of code: 12173

Other files: 206

Github repo: https://github.com/KokkieBeer/DeGeweldigeMod

Posted

Define "doesn't work". Does it break the block under it? Does it do nothing? Does it break both blocks? Be more specific than "it doesn't work" if you want help.

 

You should use the debugger to see why the symptoms are happening.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

Again: use the debugger to find out why it isn't called. If you put a

sysout

before the if-statement, does it fire? If not, your issue might be registering the event handler.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

I put it before the if-statement, but it didn't fire, my commonhandler is registered the same way as my clienthandler (only on serverside obviously) my main class

@Mod(modid = Reference.MODID, name = Reference.NAME, version = Reference.VERSION, acceptedMinecraftVersions = "[1.11]")
public class KokkieMod {

@SidedProxy(clientSide = Reference.CLIENTPROXY, serverSide = Reference.COMMONPROXY)
public static CommonProxy proxy;

@Instance(Reference.MODID)
public static KokkieMod KMInstance;

@EventHandler
public void preInit(FMLPreInitializationEvent event) {
	new CheeseBlocks();
	new CheeseItems();
	new CheeseMobs();
	new CheeseAchievements();
	new CheeseSpawnPlacementRegistry();
	new CheeseBiomes();
	new CheeseTabs();
	new CheesePacketHandler();
	new CheeseDimension();
	proxy.registerModels();
	proxy.renderEntities();
	proxy.setTitle("Minecraft - " + Minecraft.getMinecraft().getVersion() + " | KokkieMod - " + Reference.VERSION);
}

@EventHandler
public static void init(FMLInitializationEvent event) {
	new CheeseCraftingAndSmelting();

	proxy.registerEventHandler();
	NetworkRegistry.INSTANCE.registerGuiHandler(KMInstance, new CheeseGuiHandler());

	GameRegistry.registerWorldGenerator(new CheeseGeneration(), 0);
}

@EventHandler
public static void postInit(FMLPostInitializationEvent event) {
	WorldType CHEESE = new WorldTypeCheese(4, "Cheese");
}
}

my common proxy

public class CommonProxy {

public void registerModels() {

}

public void renderEntities() {

}

public void setTitle(String title) {
}

public void registerEventHandler() {
	MinecraftForge.EVENT_BUS.register(new CheeseCommonHandler());
}

}

my common handler

public class CheeseCommonHandler {

@SubscribeEvent
public void playerInteract(PlayerInteractEvent.LeftClickBlock event) {
	BlockPos pos = event.getPos();
	World world = event.getWorld();
	EntityPlayer player = event.getEntityPlayer();
	pos = pos.offset(event.getFace());

        if (world.getBlockState(pos).getBlock() == CheeseBlocks.CHEESE_FIRE) {
        	event.setCanceled(true);
        	player.playSound(SoundEvents.BLOCK_FIRE_EXTINGUISH, 1.0F, 1.0F);
            world.setBlockToAir(pos);
        }
}

}

Classes: 94

Lines of code: 12173

Other files: 206

Github repo: https://github.com/KokkieBeer/DeGeweldigeMod

Posted

Do you override the

registerEventHandler

in your

ClientProxy

? If so, you should call the super method to make sure the event handler register gets called.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted
public class ClientProxy extends CommonProxy {

public void registerModels() {
	registerItemModel(CheeseItems.CHEESE, 0);
	registerItemModel(CheeseItems.CHEESE_COOKED, 0);
	registerItemModel(CheeseItems.BREAD_CHEESE, 0);
	registerItemModel(CheeseItems.CHEESE_APPLE, 0);
	registerItemModel(CheeseItems.CHEESE_BUCKET, 0);
	registerItemModel(CheeseItems.CHEESE_SEEDS, 0);

	registerItemModel(CheeseItems.CHEESE_INGOT, 0);
	registerItemModel(CheeseItems.CHEESE_ARROW, 0);

	registerItemModel(CheeseItems.CHEESE_SWORD, 0);
	registerItemModel(CheeseItems.CHEESE_PICKAXE, 0);
	registerItemModel(CheeseItems.CHEESE_AXE, 0);
	registerItemModel(CheeseItems.CHEESE_SHOVEL, 0);
	registerItemModel(CheeseItems.CHEESE_HOE, 0);
	registerItemModel(CheeseItems.CHEESE_FLY_STICK, 0);
	registerItemModel(CheeseItems.CHEESE_BOW, 0);
	registerItemModel(CheeseItems.CHEESE_MULTITOOL, 0);
	registerItemModel(CheeseItems.FLINT_AND_CHEESE, 0);

	registerItemModel(CheeseItems.CHEESE_HELMET, 0);
	registerItemModel(CheeseItems.CHEESE_CHESTPLATE, 0);
	registerItemModel(CheeseItems.CHEESE_LEGGINGS, 0);
	registerItemModel(CheeseItems.CHEESE_BOOTS, 0);

	registerItemModel(CheeseItems.CHEESE_PICKAXE_HEAD, 0);
	registerItemModel(CheeseItems.CHEESE_AXE_HEAD, 0);
	registerItemModel(CheeseItems.CHEESE_SHOVEL_HEAD, 0);

	registerBlockModel(CheeseBlocks.CHEESE_ORE, 0);
	registerBlockModel(CheeseBlocks.CHEESE_ORE_NETHER, 0);
	registerBlockModel(CheeseBlocks.CHEESE_ORE_END, 0);
	registerBlockModel(CheeseBlocks.CHEESE_BLOCK, 0);
	registerBlockModel(CheeseBlocks.QUICK_CHEESE, 0);
	registerBlockModel(CheeseBlocks.COMPLIMENT_MACHINE, 0);
	registerBlockModel(CheeseBlocks.BELGIUM_FLAG, 0);
	registerBlockModel(CheeseBlocks.CHEESE_PLANT, 0);
	registerBlockModel(CheeseBlocks.CHEESE_FURNACE, 0);
	registerBlockModel(CheeseBlocks.LIT_CHEESE_FURNACE, 0);
	registerBlockModel(CheeseBlocks.CHEESE_CRAFTING_TABLE, 0);
	registerBlockModel(CheeseBlocks.CHEESE_COOKIE_BLOCK, 0);
	registerBlockModel(CheeseBlocks.CHEESE_BOARD, 0);
	registerBlockModel(CheeseBlocks.CHEESE_GRASS, 0);
	registerBlockModel(CheeseBlocks.CHEESE_DIRT, 0);
	registerBlockModel(CheeseBlocks.CHEESE_GRASS_PATH, 0);
	registerBlockModel(CheeseBlocks.CHEESE_FARM_LAND, 0);
	registerBlockModel(CheeseBlocks.CHEESE_STAIRS, 0);
	registerBlockModel(CheeseBlocks.CHEESE_PORTAL, 0);
	registerBlockModel(CheeseBlocks.CHEESE_STONE, 0);
	registerBlockModel(CheeseBlocks.CHEESE_FIRE, 0);
}

public void registerEventHandler() {
	GameRegistry.registerTileEntity(TileEntityCheeseBoard.class, Reference.MODID + "TileEntityCheeseBoard");
	ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCheeseBoard.class, new RenderCheeseBoard());

	MinecraftForge.EVENT_BUS.register(new CheeseClientHandler());
}

public void setTitle(String title) {
	Display.setTitle(title);
}

public void renderEntities() {
	RenderingRegistry.registerEntityRenderingHandler(EntityCheeseCow.class, new RenderingHandlerCheeseCow());
	RenderingRegistry.registerEntityRenderingHandler(EntityCheeseArrow.class, new RenderingHandlerCheeseArrow());
	RenderingRegistry.registerEntityRenderingHandler(EntityCheeseBoss.class, new RenderingHandlerCheeseBoss());
	RenderingRegistry.registerEntityRenderingHandler(EntityCheeseBall.class, new RenderingHandlerCheeseBall());
}

private void registerItemModel(Item item, int meta) {
	ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), "inventory"));
}

private void registerBlockModel(Block block, int meta) {
	ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), meta, new ModelResourceLocation(block.getRegistryName(), "inventory"));
}
}

Classes: 94

Lines of code: 12173

Other files: 206

Github repo: https://github.com/KokkieBeer/DeGeweldigeMod

Posted

I don't override the methods

Then what is this?
public void registerEventHandler() {
GameRegistry.registerTileEntity(TileEntityCheeseBoard.class, Reference.MODID + "TileEntityCheeseBoard");
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCheeseBoard.class, new RenderCheeseBoard());

MinecraftForge.EVENT_BUS.register(new CheeseClientHandler());
}

Do you override the

registerEventHandler

in your

ClientProxy

? If so, you should call the super method to make sure the event handler register gets called.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

OOOOHHWWW you mean that, sorry

It works now but it gets fired 2 times, and yes I did do it only if it was the main-hand

	@SubscribeEvent
public void playerInteract(LeftClickBlock event) {
	EnumHand hand = event.getHand();
	BlockPos pos = event.getPos();
	World world = event.getWorld();
	EntityPlayer player = event.getEntityPlayer();
	pos = pos.offset(event.getFace());

        if (world.getBlockState(pos).getBlock() == CheeseBlocks.CHEESE_FIRE && hand == EnumHand.MAIN_HAND) {
        	event.setCanceled(true);
        	world.playSound(player, pos, SoundEvents.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 1.0F, 1.5F);
            world.setBlockToAir(pos);
        }
}

Classes: 94

Lines of code: 12173

Other files: 206

Github repo: https://github.com/KokkieBeer/DeGeweldigeMod

Posted

OOOOHHWWW you mean that, sorry

It works now but it gets fired 2 times, and yes I did do it only if it was the main-hand

	@SubscribeEvent
public void playerInteract(LeftClickBlock event) {
	EnumHand hand = event.getHand();
	BlockPos pos = event.getPos();
	World world = event.getWorld();
	EntityPlayer player = event.getEntityPlayer();
	pos = pos.offset(event.getFace());

        if (world.getBlockState(pos).getBlock() == CheeseBlocks.CHEESE_FIRE && hand == EnumHand.MAIN_HAND) {
        	event.setCanceled(true);
        	world.playSound(player, pos, SoundEvents.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 1.0F, 1.5F);
            world.setBlockToAir(pos);
        }
}

It is getting called on both client and server side.

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.

Posted

OOOOHHWWW you mean that, sorry

What else would I mean with overriding?

It works now but it gets fired 2 times, and yes I did do it only if it was the main-hand

Once on the client and once on the server side. Check if your on the server side, than do your code.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

What else would I mean with overriding?

I thought you ment if I was using an @Override annotation, but... My head is dumb some times
Once on the client and once on the server side. Check if your on the server side, than do your code.

	@SubscribeEvent
public void playerInteract(LeftClickBlock event) {
	EnumHand hand = event.getHand();
	BlockPos pos = event.getPos();
	World world = event.getWorld();
	EntityPlayer player = event.getEntityPlayer();
	pos = pos.offset(event.getFace());
        if (world.getBlockState(pos).getBlock() == CheeseBlocks.CHEESE_FIRE && hand == EnumHand.MAIN_HAND) {
        	event.setCanceled(true);
        	if(world.isRemote)
        	world.playSound(player, pos, SoundEvents.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 0.8F, 1.5F);
        	if(!world.isRemote)
            world.setBlockToAir(pos);
        }
}

Classes: 94

Lines of code: 12173

Other files: 206

Github repo: https://github.com/KokkieBeer/DeGeweldigeMod

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I am having trouble getting the game to load. I changed nothing about my code but one day it chose to start doing this for some reason. I also get this error message aswell: Caused by: java.lang.NullPointerException: Registry Object not present: wonderfulwoodlands:turkey_tail_mushrooms. So I tried changing my registering to use a supplier of my block which corrected that error before but now it no longer changes anything. My blocks class: public class ModBlocks { public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, WonderfulWoodlands.MOD_ID); public static final RegistryObject<Block> TURKEY_TAIL_MUSHROOMS = registerBlock("turkey_tail_mushrooms", () -> new SmallShelfridgeBlock(BlockBehaviour.Properties.of() .setId(BLOCKS.key("turkey_tail_mushrooms")) .noCollission() .sound(SoundType.WOOD) )); public static <T extends Block> RegistryObject<T> registerBlock(String name, Supplier<T> block) { RegistryObject<T> registeredBlock = BLOCKS.register(name, block); registerBlockItem(name, registeredBlock); return registeredBlock; } public static <T extends Block> void registerBlockItem(String name, RegistryObject<T> block) { ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties().setId(ModItems.ITEMS.key(name)))); } public static void register(IEventBus eventBus) { BLOCKS.register(eventBus); } } The SmallShelfridgeBlock class: public class SmallShelfridgeBlock extends Block { public static final EnumProperty<Direction> FACING = BlockStateProperties.HORIZONTAL_FACING; public static final IntegerProperty AMOUNT = BlockStateProperties.FLOWER_AMOUNT; public static final VoxelShape NORTH_SHAPE = Block.box(0, 0, 13, 16, 16, 3); public static final VoxelShape EAST_SHAPE = Block.box(0, 0, 0, 3, 16, 16); public static final VoxelShape SOUTH_SHAPE = Block.box(0, 0, 0, 16, 16, 3); public static final VoxelShape WEST_SHAPE = Block.box(0, 0, 13, 3, 16, 16); public SmallShelfridgeBlock(Properties properties) { super(properties); this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH).setValue(AMOUNT, 1)); } @Override protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> pBuilder) { pBuilder.add(FACING, AMOUNT); } @Override public boolean canBeReplaced(@NotNull BlockState blockState, BlockPlaceContext blockPlaceContext) { return !blockPlaceContext.isSecondaryUseActive() && blockPlaceContext.getItemInHand().is(this.asItem()) && blockState.getValue(AMOUNT) < 4 || super.canBeReplaced(blockState, blockPlaceContext); } @Override public @NotNull VoxelShape getShape(BlockState blockState, @NotNull BlockGetter blockGetter, @NotNull BlockPos blockPos, @NotNull CollisionContext collisionContext) { Direction direction = blockState.getValue(FACING); switch(direction) { default -> { return NORTH_SHAPE; } case EAST -> { return EAST_SHAPE; } case SOUTH -> { return SOUTH_SHAPE; } case WEST -> { return WEST_SHAPE; } } } @Override public BlockState getStateForPlacement(BlockPlaceContext blockPlaceContext) { BlockState blockstate = blockPlaceContext.getLevel().getBlockState(blockPlaceContext.getClickedPos()); return blockstate.is(this) ? blockstate.setValue(AMOUNT, Math.min(4, blockstate.getValue(AMOUNT) + 1)) : this.defaultBlockState().setValue(FACING, blockPlaceContext.getHorizontalDirection().getOpposite()); } } My latest.log: [22Feb2025 14:13:00.602] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forge_userdev_client, --version, MOD_DEV, --assetIndex, 19, --assetsDir, C:\Users\campb\.gradle\caches\forge_gradle\assets, --gameDir, ., --mixin.config, wonderfulwoodlands.mixins.json] [22Feb2025 14:13:00.605] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: JVM identified as Eclipse Adoptium OpenJDK 64-Bit Server VM 21.0.4+7-LTS [22Feb2025 14:13:00.606] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.2.4 starting: java version 21.0.4 by Eclipse Adoptium; OS Windows 11 arch amd64 version 10.0 [22Feb2025 14:13:00.791] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: Loading ImmediateWindowProvider fmlearlywindow [22Feb2025 14:13:00.988] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.6 [22Feb2025 14:13:01.035] [main/INFO] [EARLYDISPLAY/]: Requested GL version 4.6 got version 4.6 [22Feb2025 14:13:01.504] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.7 Source=jar:file:///C:/Users/campb/.gradle/caches/modules-2/files-2.1/org.spongepowered/mixin/0.8.7/8ab114ac385e6dbdad5efafe28aba4df8120915f/mixin-0.8.7.jar!/ Service=ModLauncher Env=CLIENT [22Feb2025 14:13:02.124] [EarlyDisplay/INFO] [EARLYDISPLAY/]: GL info: Intel(R) UHD Graphics GL version 4.6.0 - Build 26.20.100.6911, Intel [22Feb2025 14:13:04.063] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: No dependencies to load found. Skipping! [22Feb2025 14:13:05.719] [main/INFO] [mixin/]: Compatibility level set to JAVA_21 [22Feb2025 14:13:05.774] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forge_userdev_client' with arguments [--version, MOD_DEV, --gameDir, ., --assetsDir, C:\Users\campb\.gradle\caches\forge_gradle\assets, --assetIndex, 19] [22Feb2025 14:13:05.927] [main/WARN] [mixin/]: Reference map 'wonderfulwoodlands.refmap.json' for wonderfulwoodlands.mixins.json could not be read. If this is a development environment you can ignore this message [22Feb2025 14:13:10.506] [Datafixer Bootstrap/INFO] [com.mojang.datafixers.DataFixerBuilder/]: 243 Datafixer optimizations took 996 milliseconds [22Feb2025 14:13:18.985] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:root [22Feb2025 14:13:18.985] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:sound_event [22Feb2025 14:13:18.985] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:fluid [22Feb2025 14:13:18.985] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:particle_type [22Feb2025 14:13:18.986] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:attribute [22Feb2025 14:13:18.987] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:mob_effect [22Feb2025 14:13:18.987] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:block [22Feb2025 14:13:18.987] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:enchantment_effect_component_type [22Feb2025 14:13:18.987] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:data_component_type [22Feb2025 14:13:18.988] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:entity_type [22Feb2025 14:13:18.988] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:item [22Feb2025 14:13:18.991] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:game_event [22Feb2025 14:13:18.991] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:potion [22Feb2025 14:13:18.991] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:block_entity_type [22Feb2025 14:13:18.992] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:stat_type [22Feb2025 14:13:18.992] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:custom_stat [22Feb2025 14:13:18.992] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:chunk_status [22Feb2025 14:13:18.992] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:rule_test [22Feb2025 14:13:18.993] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:rule_block_entity_modifier [22Feb2025 14:13:18.993] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:pos_rule_test [22Feb2025 14:13:18.993] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:menu [22Feb2025 14:13:18.993] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:recipe_type [22Feb2025 14:13:18.994] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:recipe_serializer [22Feb2025 14:13:18.995] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:position_source_type [22Feb2025 14:13:18.996] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:command_argument_type [22Feb2025 14:13:18.996] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:villager_type [22Feb2025 14:13:18.996] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:villager_profession [22Feb2025 14:13:18.998] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:point_of_interest_type [22Feb2025 14:13:19.001] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:memory_module_type [22Feb2025 14:13:19.017] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:sensor_type [22Feb2025 14:13:19.018] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:activity [22Feb2025 14:13:19.018] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:schedule [22Feb2025 14:13:19.018] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:loot_score_provider_type [22Feb2025 14:13:19.018] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:loot_number_provider_type [22Feb2025 14:13:19.019] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:map_decoration_type [22Feb2025 14:13:19.019] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:loot_nbt_provider_type [22Feb2025 14:13:19.019] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:loot_function_type [22Feb2025 14:13:19.019] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:loot_pool_entry_type [22Feb2025 14:13:19.019] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:loot_condition_type [22Feb2025 14:13:19.022] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:float_provider_type [22Feb2025 14:13:19.022] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:int_provider_type [22Feb2025 14:13:19.022] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:height_provider_type [22Feb2025 14:13:19.023] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:block_predicate_type [22Feb2025 14:13:19.023] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/carver [22Feb2025 14:13:19.023] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/structure_processor [22Feb2025 14:13:19.023] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/feature [22Feb2025 14:13:19.024] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/structure_placement [22Feb2025 14:13:19.024] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/structure_piece [22Feb2025 14:13:19.024] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/structure_type [22Feb2025 14:13:19.024] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/placement_modifier_type [22Feb2025 14:13:19.024] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/block_state_provider_type [22Feb2025 14:13:19.025] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/foliage_placer_type [22Feb2025 14:13:19.025] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/trunk_placer_type [22Feb2025 14:13:19.025] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/root_placer_type [22Feb2025 14:13:19.025] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/tree_decorator_type [22Feb2025 14:13:19.027] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/feature_size_type [22Feb2025 14:13:19.028] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/biome_source [22Feb2025 14:13:19.030] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/chunk_generator [22Feb2025 14:13:19.030] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/material_condition [22Feb2025 14:13:19.030] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/material_rule [22Feb2025 14:13:19.030] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/density_function_type [22Feb2025 14:13:19.031] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:block_type [22Feb2025 14:13:19.031] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/structure_pool_element [22Feb2025 14:13:19.031] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:worldgen/pool_alias_binding [22Feb2025 14:13:19.031] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:cat_variant [22Feb2025 14:13:19.031] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:frog_variant [22Feb2025 14:13:19.032] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:decorated_pot_pattern [22Feb2025 14:13:19.032] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:creative_mode_tab [22Feb2025 14:13:19.032] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:trigger_type [22Feb2025 14:13:19.032] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:number_format_type [22Feb2025 14:13:19.032] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:entity_sub_predicate_type [22Feb2025 14:13:19.034] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:item_sub_predicate_type [22Feb2025 14:13:19.034] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:enchantment_level_based_value_type [22Feb2025 14:13:19.035] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:enchantment_entity_effect_type [22Feb2025 14:13:19.035] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:enchantment_location_based_effect_type [22Feb2025 14:13:19.035] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:enchantment_value_effect_type [22Feb2025 14:13:19.036] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:enchantment_provider_type [22Feb2025 14:13:19.037] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:consume_effect_type [22Feb2025 14:13:19.037] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:recipe_display [22Feb2025 14:13:19.037] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:slot_display [22Feb2025 14:13:19.037] [pool-5-thread-1/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: minecraft:recipe_book_category [22Feb2025 14:13:19.595] [Render thread/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/C:/Users/campb/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4/forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar%230!/assets/.mcassetsroot' uses unexpected schema [22Feb2025 14:13:19.597] [Render thread/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/C:/Users/campb/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4/forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar%230!/data/.mcassetsroot' uses unexpected schema [22Feb2025 14:13:19.639] [Render thread/INFO] [com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService/]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD] [22Feb2025 14:13:19.654] [Render thread/INFO] [net.minecraft.client.Minecraft/]: Setting user: Dev [22Feb2025 14:13:19.860] [Render thread/INFO] [net.minecraft.client.Minecraft/]: Backend library: LWJGL version 3.3.3+5 [22Feb2025 14:13:21.001] [modloading-worker-0/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Forge mod loading, version 54.0.26, for MC 1.21.4 with MCP 20241203.143248 [22Feb2025 14:13:21.002] [modloading-worker-0/INFO] [net.minecraftforge.common.MinecraftForge/FORGE]: MinecraftForge v54.0.26 Initialized [22Feb2025 14:13:21.021] [modloading-worker-0/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Opening jdk.naming.dns/com.sun.jndi.dns to java.naming [22Feb2025 14:13:21.448] [Render thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/]: Exception caught during firing event: null Index: 3 Listeners: 0: NORMAL 1: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@30548a28 handleEvent(Lnet/minecraftforge/registries/RegisterEvent;)V 2: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@446f7e86 handleEvent(Lnet/minecraftforge/registries/RegisterEvent;)V 3: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@523fad04 handleEvent(Lnet/minecraftforge/registries/RegisterEvent;)V java.lang.ExceptionInInitializerError at TRANSFORMER/[email protected]/net.Saveloy_Master.Wonderful_Woodlands.block.ModBlocks.lambda$static$0(ModBlocks.java:27) at TRANSFORMER/[email protected]/net.minecraftforge.registries.DeferredRegister$EventDispatcher.lambda$handleEvent$0(DeferredRegister.java:381) at TRANSFORMER/[email protected]/net.minecraftforge.registries.RegisterEvent.register(RegisterEvent.java:55) at TRANSFORMER/[email protected]/net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:381) at TRANSFORMER/[email protected]/net.minecraftforge.registries.__EventDispatcher_handleEvent_RegisterEvent.invoke(.dynamic) at SECURE-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:46) at SECURE-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) at SECURE-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:288) at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:184) at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.lambda$postEventWithWrapInModOrder$19(ModLoader.java:400) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModList.forEachModInOrder(ModList.java:148) at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.postEventWithWrapInModOrder(ModLoader.java:398) at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.postEventWrapContainerInModOrder(ModLoader.java:387) at TRANSFORMER/[email protected]/net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:351) at TRANSFORMER/[email protected]/net.minecraftforge.common.ForgeStatesProvider.lambda$gather$0(ForgeStatesProvider.java:34) at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:258) at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:247) at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:214) at TRANSFORMER/[email protected]/net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:48) at TRANSFORMER/[email protected]/net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:68) at TRANSFORMER/[email protected]/net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:48) at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.<init>(Minecraft.java:485) at TRANSFORMER/[email protected]/net.minecraft.client.main.Main.main(Main.java:224) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at SECURE-BOOTSTRAP/[email protected]/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:96) at SECURE-BOOTSTRAP/[email protected]/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:79) at SECURE-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:77) at SECURE-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:97) at SECURE-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:116) at SECURE-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:75) at SECURE-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) at [email protected]/net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) Caused by: java.lang.IllegalArgumentException: The min values need to be smaller or equals to the max values at TRANSFORMER/[email protected]/net.minecraft.world.phys.shapes.Shapes.box(Shapes.java:50) at TRANSFORMER/[email protected]/net.minecraft.world.level.block.Block.box(Block.java:145) at TRANSFORMER/[email protected]/net.Saveloy_Master.Wonderful_Woodlands.block.custom.SmallShelfridgeBlock.<clinit>(SmallShelfridgeBlock.java:25) ... 39 more [22Feb2025 14:13:21.453] [Render thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/LOADING]: Caught exception during event RegisterEvent dispatch for modid wonderfulwoodlands java.lang.ExceptionInInitializerError: null at TRANSFORMER/[email protected]/net.Saveloy_Master.Wonderful_Woodlands.block.ModBlocks.lambda$static$0(ModBlocks.java:27) ~[main/:?] at TRANSFORMER/[email protected]/net.minecraftforge.registries.DeferredRegister$EventDispatcher.lambda$handleEvent$0(DeferredRegister.java:381) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar%231!/:?] at TRANSFORMER/[email protected]/net.minecraftforge.registries.RegisterEvent.register(RegisterEvent.java:55) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar%231!/:?] at TRANSFORMER/[email protected]/net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:381) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar%231!/:?] at TRANSFORMER/[email protected]/net.minecraftforge.registries.__EventDispatcher_handleEvent_RegisterEvent.invoke(.dynamic) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar%231!/:?] at SECURE-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:46) ~[eventbus-6.2.26.jar:?] at SECURE-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-6.2.26.jar:?] at SECURE-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:288) ~[eventbus-6.2.26.jar:?] at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:184) ~[javafmllanguage-1.21.4-54.0.26.jar:54.0.26] at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.lambda$postEventWithWrapInModOrder$19(ModLoader.java:400) ~[fmlcore-1.21.4-54.0.26.jar:1.0] at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModList.forEachModInOrder(ModList.java:148) ~[fmlcore-1.21.4-54.0.26.jar:1.0] at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.postEventWithWrapInModOrder(ModLoader.java:398) ~[fmlcore-1.21.4-54.0.26.jar:1.0] at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.postEventWrapContainerInModOrder(ModLoader.java:387) ~[fmlcore-1.21.4-54.0.26.jar:1.0] at TRANSFORMER/[email protected]/net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:351) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar:?] at TRANSFORMER/[email protected]/net.minecraftforge.common.ForgeStatesProvider.lambda$gather$0(ForgeStatesProvider.java:34) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar:?] at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:258) ~[fmlcore-1.21.4-54.0.26.jar:1.0] at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:247) ~[fmlcore-1.21.4-54.0.26.jar:1.0] at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:214) ~[fmlcore-1.21.4-54.0.26.jar:1.0] at TRANSFORMER/[email protected]/net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:48) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar:?] at TRANSFORMER/[email protected]/net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:68) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar:?] at TRANSFORMER/[email protected]/net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:48) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar:?] at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.<init>(Minecraft.java:485) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar:?] at TRANSFORMER/[email protected]/net.minecraft.client.main.Main.main(Main.java:224) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar:?] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] at SECURE-BOOTSTRAP/[email protected]/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:96) ~[fmlloader-1.21.4-54.0.26.jar!/:?] at SECURE-BOOTSTRAP/[email protected]/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:79) ~[fmlloader-1.21.4-54.0.26.jar!/:?] at SECURE-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:77) [modlauncher-10.2.4.jar!/:?] at SECURE-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:97) [modlauncher-10.2.4.jar!/:?] at SECURE-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:116) [modlauncher-10.2.4.jar!/:?] at SECURE-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:75) [modlauncher-10.2.4.jar!/:?] at SECURE-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) [modlauncher-10.2.4.jar!/:?] at [email protected]/net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) [bootstrap-2.1.8.jar!/:?] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) [bootstrap-2.1.8.jar:2.1.8] at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) [bootstrap-2.1.8.jar:2.1.8] at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) [bootstrap-2.1.8.jar:2.1.8] Caused by: java.lang.IllegalArgumentException: The min values need to be smaller or equals to the max values at TRANSFORMER/[email protected]/net.minecraft.world.phys.shapes.Shapes.box(Shapes.java:50) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar:?] at TRANSFORMER/[email protected]/net.minecraft.world.level.block.Block.box(Block.java:145) ~[forge-1.21.4-54.0.26_mapped_parchment_2025.01.19-1.21.4-recomp.jar:?] at TRANSFORMER/[email protected]/net.Saveloy_Master.Wonderful_Woodlands.block.custom.SmallShelfridgeBlock.<clinit>(SmallShelfridgeBlock.java:25) ~[main/:?] ... 39 more [22Feb2025 14:13:21.488] [Render thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/]: Exception caught during firing event: Registry Object not present: wonderfulwoodlands:turkey_tail_mushrooms Index: 2 Listeners: 0: NORMAL 1: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@30548a28 handleEvent(Lnet/minecraftforge/registries/RegisterEvent;)V 2: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@446f7e86 handleEvent(Lnet/minecraftforge/registries/RegisterEvent;)V 3: ASM: net.minecraftforge.registries.DeferredRegister$EventDispatcher@523fad04 handleEvent(Lnet/minecraftforge/registries/RegisterEvent;)V java.lang.NullPointerException: Registry Object not present: wonderfulwoodlands:turkey_tail_mushrooms  
    • actually, the thing is that forge is an client that was developed well for mods back in the day, (i know that i  write it 11 years later), and the downside was that forge needs a long of time to load (yes i tested it i need sometimes 2 minutes for optifine in forge to run it) and that will probably not change. if you are 1.16+ i suggest you to use fabric as the load times are lower than 10 seconds and yes i do have a lot of mods there. not to mehtion there is an better optimization client and yes i do get more fps on 1.21 fabric with sodium lithium and much more than with forge and optifine on 1.8.9
    • Also add the latest.log from your logs folder
    • Кимэцу но яиба
  • Topics

×
×
  • Create New...

Important Information

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