Jump to content

Solved : [1.16] Errors related to composite blocks such as doors and beds


Zemelua

Recommended Posts

public class BumpkinBlock extends HorizontalBlock {
	private static final EnumProperty<BumpkinPart> PART = UMUBlockStateProperties.BUMPKIN_PART;
	private static final VoxelShape DOWN_NORTH_WEST_SHAPE = VoxelShapes.or(
			Block.makeCuboidShape(11, 0, 3, 16, 16, 6),
			Block.makeCuboidShape(3, 0, 11, 6, 16, 16),
			Block.makeCuboidShape(6, 0, 6, 16, 16, 16)
	);
	private static final VoxelShape DOWN_NORTH_EAST_SHAPE = VoxelShapes.or(
			Block.makeCuboidShape(0, 0, 3, 5, 16, 6),
			Block.makeCuboidShape(10, 0, 11, 13, 16, 16),
			Block.makeCuboidShape(0, 0, 6, 10, 16, 16)
	);
	private static final VoxelShape DOWN_SOUTH_WEST_SHAPE = VoxelShapes.or(
			Block.makeCuboidShape(11, 0, 10, 16, 16, 13),
			Block.makeCuboidShape(3, 0, 0, 6, 16, 5),
			Block.makeCuboidShape(6, 0, 0, 16, 16, 10)
	);
	private static final VoxelShape DOWN_SOUTH_EAST_SHAPE = VoxelShapes.or(
			Block.makeCuboidShape(0, 0, 10, 5, 16, 13),
			Block.makeCuboidShape(10, 0, 0, 13, 16, 5),
			Block.makeCuboidShape(0, 0, 0, 10, 16, 10)
	);
	private static final VoxelShape UP_NORTH_WEST_SHAPE = VoxelShapes.or(
			Block.makeCuboidShape(11, 0, 3, 16, 5, 6),
			Block.makeCuboidShape(3, 0, 11, 6, 5, 16),
			Block.makeCuboidShape(6, 0, 6, 16, 5, 16)
	);
	private static final VoxelShape UP_NORTH_EAST_SHAPE = VoxelShapes.or(
			Block.makeCuboidShape(0, 0, 3, 5, 5, 6),
			Block.makeCuboidShape(10, 0, 11, 13, 5, 16),
			Block.makeCuboidShape(0, 0, 6, 10, 5, 16)
	);
	private static final VoxelShape UP_SOUTH_WEST_SHAPE = VoxelShapes.or(
			Block.makeCuboidShape(11, 0, 10, 16, 5, 13),
			Block.makeCuboidShape(3, 0, 0, 6, 5, 5),
			Block.makeCuboidShape(6, 0, 0, 16, 5, 10)
	);
	private static final VoxelShape UP_SOUTH_EAST_SHAPE = VoxelShapes.or(
			Block.makeCuboidShape(0, 0, 10, 5, 5, 13),
			Block.makeCuboidShape(10, 0, 0, 13, 5, 5),
			Block.makeCuboidShape(0, 0, 0, 10, 5, 10)
	);

	public static final List<List<BlockPos>> BUMPKINS = new ArrayList<>();

	public BumpkinBlock(Properties builder) {
		super(builder);
		this.setDefaultState(this.getStateContainer().getBaseState()
				.with(PART, BumpkinPart.LOWER_FRONT_LEFT).with(HORIZONTAL_FACING, Direction.NORTH)
		);
	}

	@Override
	public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
		switch (state.get(HORIZONTAL_FACING)) {
			case NORTH:
				switch (state.get(PART)) {
					case LOWER_FRONT_LEFT: return DOWN_NORTH_WEST_SHAPE;
					case LOWER_FRONT_RIGHT: return DOWN_NORTH_EAST_SHAPE;
					case LOWER_BACK_LEFT: return DOWN_SOUTH_WEST_SHAPE;
					case LOWER_BACK_RIGHT: return DOWN_SOUTH_EAST_SHAPE;
					case UPPER_FRONT_LEFT: return UP_NORTH_WEST_SHAPE;
					case UPPER_FRONT_RIGHT: return UP_NORTH_EAST_SHAPE;
					case UPPER_BACK_LEFT: return UP_SOUTH_WEST_SHAPE;
					case UPPER_BACK_RIGHT: return UP_SOUTH_EAST_SHAPE;
				}
			case SOUTH:
				switch (state.get(PART)) {
					case LOWER_FRONT_LEFT: return DOWN_SOUTH_EAST_SHAPE;
					case LOWER_FRONT_RIGHT: return DOWN_SOUTH_WEST_SHAPE;
					case LOWER_BACK_LEFT: return DOWN_NORTH_EAST_SHAPE;
					case LOWER_BACK_RIGHT: return DOWN_NORTH_WEST_SHAPE;
					case UPPER_FRONT_LEFT: return UP_SOUTH_EAST_SHAPE;
					case UPPER_FRONT_RIGHT: return UP_SOUTH_WEST_SHAPE;
					case UPPER_BACK_LEFT: return UP_NORTH_EAST_SHAPE;
					case UPPER_BACK_RIGHT: return UP_NORTH_WEST_SHAPE;
				}
			case WEST:
				switch (state.get(PART)) {
					case LOWER_FRONT_LEFT: return DOWN_SOUTH_WEST_SHAPE;
					case LOWER_FRONT_RIGHT: return DOWN_NORTH_WEST_SHAPE;
					case LOWER_BACK_LEFT: return DOWN_SOUTH_EAST_SHAPE;
					case LOWER_BACK_RIGHT: return DOWN_NORTH_EAST_SHAPE;
					case UPPER_FRONT_LEFT: return UP_SOUTH_WEST_SHAPE;
					case UPPER_FRONT_RIGHT: return UP_NORTH_WEST_SHAPE;
					case UPPER_BACK_LEFT: return UP_SOUTH_EAST_SHAPE;
					case UPPER_BACK_RIGHT: return UP_NORTH_EAST_SHAPE;
				}
			case EAST:
				switch (state.get(PART)) {
					case LOWER_FRONT_LEFT: return DOWN_NORTH_EAST_SHAPE;
					case LOWER_FRONT_RIGHT: return DOWN_SOUTH_EAST_SHAPE;
					case LOWER_BACK_LEFT: return DOWN_NORTH_WEST_SHAPE;
					case LOWER_BACK_RIGHT: return DOWN_SOUTH_WEST_SHAPE;
					case UPPER_FRONT_LEFT: return UP_NORTH_EAST_SHAPE;
					case UPPER_FRONT_RIGHT: return UP_SOUTH_EAST_SHAPE;
					case UPPER_BACK_LEFT: return UP_NORTH_WEST_SHAPE;
					case UPPER_BACK_RIGHT: return UP_SOUTH_WEST_SHAPE;
				}
			default: return VoxelShapes.fullCube();
		}
	}

	@Override
	public BlockState getStateForPlacement(BlockItemUseContext context) {
		BlockPos pos = context.getPos();
		Direction face = context.getPlacementHorizontalFacing();
		World world = context.getWorld();

		if (pos.getY() < 255
				&& world.getBlockState(pos.offset(face.rotateYCCW())).isReplaceable(context)
				&& world.getBlockState(pos.offset(face)).isReplaceable(context)
				&& world.getBlockState(pos.offset(face).offset(face.rotateYCCW())).isReplaceable(context)
				&& world.getBlockState(pos.up()).isReplaceable(context)
				&& world.getBlockState(pos.up().offset(face.rotateYCCW())).isReplaceable(context)
				&& world.getBlockState(pos.up().offset(face)).isReplaceable(context)
				&& world.getBlockState(pos.up().offset(face).offset(face.rotateYCCW())).isReplaceable(context)
		) {
			return this.getDefaultState().with(HORIZONTAL_FACING, face.getOpposite());
		}
		return null;
	}

	@Override
	public void onBlockPlacedBy(World worldIn, BlockPos pos, BlockState state, LivingEntity placer, ItemStack stack) {
		Direction face = Optional.ofNullable(placer).map(Entity::getHorizontalFacing).orElse(Direction.NORTH);
		worldIn.setBlockState(pos.offset(face.rotateYCCW()), state.with(PART, BumpkinPart.LOWER_FRONT_RIGHT));
		worldIn.setBlockState(pos.offset(face), state.with(PART, BumpkinPart.LOWER_BACK_LEFT));
		worldIn.setBlockState(pos.offset(face).offset(face.rotateYCCW()), state.with(PART, BumpkinPart.LOWER_BACK_RIGHT));
		worldIn.setBlockState(pos.up(), state.with(PART, BumpkinPart.UPPER_FRONT_LEFT));
		worldIn.setBlockState(pos.up().offset(face.rotateYCCW()), state.with(PART, BumpkinPart.UPPER_FRONT_RIGHT));
		worldIn.setBlockState(pos.up().offset(face), state.with(PART, BumpkinPart.UPPER_BACK_LEFT));
		worldIn.setBlockState(pos.up().offset(face).offset(face.rotateYCCW()), state.with(PART, BumpkinPart.UPPER_BACK_RIGHT));

		BUMPKINS.add(new ArrayList<>(Arrays.asList(
				pos, pos.offset(face.rotateYCCW()), pos.offset(face), pos.offset(face).offset(face.rotateYCCW()), pos.up(),
				pos.up().offset(face.rotateYCCW()), pos.up().offset(face), pos.up().offset(face).offset(face.rotateYCCW())
		)));
	}

	@Override
	public BlockState updatePostPlacement(BlockState stateIn, Direction facing, BlockState facingState, IWorld worldIn, BlockPos currentPos, BlockPos facingPos) {
		for (List<BlockPos> parts : BUMPKINS) {
			if (parts.contains(currentPos)) {
				if (parts.stream().map(i -> worldIn.getBlockState(i).matchesBlock(this)).collect(Collectors.toList()).contains(false)) {
					//parts.stream().forEach(i -> worldIn.setBlockState(i, Blocks.AIR.getDefaultState(), 3));
					parts.remove(currentPos);
					if (parts.isEmpty()) BUMPKINS.remove(parts);
					return Blocks.AIR.getDefaultState();
				}
			}
		}
		return stateIn;
	}

	@Override
	protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
		builder.add(PART, HORIZONTAL_FACING);
	}
}

I'm now making a block that is 2x2x2 and can be put / destroyed like one big block. In the case of the above code, it is put / destroyed several times well, but if it is installed occasionally, it will cause a crash. I'm probably aware that the code itself is terrible, but how do you specifically fix it? Below is a copy of the crash report:

 

[03:00:18] [Render thread/INFO] [STDOUT/]: [net.minecraft.util.registry.Bootstrap:printToSYSOUT:130]: ---- Minecraft Crash Report ----
// Hi. I'm Minecraft, and I'm a crashaholic.

Time: 21/04/21 3:00
Description: Unexpected error

java.util.ConcurrentModificationException: null
	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:911) ~[?:1.8.0_282] {}
	at java.util.ArrayList$Itr.next(ArrayList.java:861) ~[?:1.8.0_282] {}
	at io.github.zemelua.umumod.block.BumpkinBlock.updatePostPlacement(BumpkinBlock.java:172) ~[main/:?] {re:classloading}
	at net.minecraft.block.AbstractBlock$AbstractBlockState.updatePostPlacement(AbstractBlock.java:749) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading}
	at net.minecraft.block.AbstractBlock$AbstractBlockState.updateNeighbours(AbstractBlock.java:684) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading}
	at net.minecraft.world.World.markAndNotifyBlock(World.java:274) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.World.setBlockState(World.java:241) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.World.setBlockState(World.java:205) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.World.setBlockState(World.java:315) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B}
	at io.github.zemelua.umumod.block.BumpkinBlock.onBlockPlacedBy(BumpkinBlock.java:158) ~[main/:?] {re:classloading}
	at net.minecraft.item.BlockItem.tryPlace(BlockItem.java:69) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading}
	at net.minecraft.item.BlockItem.onItemUse(BlockItem.java:42) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading}
	at net.minecraft.item.ItemStack.lambda$onItemUse$5(ItemStack.java:195) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,xf:fml:forge:filled_map.4,xf:fml:forge:itemstack}
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:210) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,xf:fml:forge:filled_map.4,xf:fml:forge:itemstack}
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:195) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,xf:fml:forge:filled_map.4,xf:fml:forge:itemstack}
	at net.minecraft.client.multiplayer.PlayerController.func_217292_a(PlayerController.java:319) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1407) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.processKeyBinds(Minecraft.java:1692) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1507) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:979) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.run(Minecraft.java:612) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_282] {}
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_282] {}
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_282] {}
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_282] {}
	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:52) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {}
	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {}


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:911) ~[?:1.8.0_282] {}
	at java.util.ArrayList$Itr.next(ArrayList.java:861) ~[?:1.8.0_282] {}
	at io.github.zemelua.umumod.block.BumpkinBlock.updatePostPlacement(BumpkinBlock.java:172) ~[?:?] {re:classloading}
	at net.minecraft.block.AbstractBlock$AbstractBlockState.updatePostPlacement(AbstractBlock.java:749) ~[forge:?] {re:classloading}
	at net.minecraft.block.AbstractBlock$AbstractBlockState.updateNeighbours(AbstractBlock.java:684) ~[forge:?] {re:classloading}
	at net.minecraft.world.World.markAndNotifyBlock(World.java:274) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.World.setBlockState(World.java:241) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.World.setBlockState(World.java:205) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.World.setBlockState(World.java:315) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at io.github.zemelua.umumod.block.BumpkinBlock.onBlockPlacedBy(BumpkinBlock.java:158) ~[?:?] {re:classloading}
	at net.minecraft.item.BlockItem.tryPlace(BlockItem.java:69) ~[forge:?] {re:classloading}
	at net.minecraft.item.BlockItem.onItemUse(BlockItem.java:42) ~[forge:?] {re:classloading}
	at net.minecraft.item.ItemStack.lambda$onItemUse$5(ItemStack.java:195) ~[forge:?] {re:classloading,xf:fml:forge:filled_map.4,xf:fml:forge:itemstack}
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:210) ~[forge:?] {re:classloading,xf:fml:forge:filled_map.4,xf:fml:forge:itemstack}
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:195) ~[forge:?] {re:classloading,xf:fml:forge:filled_map.4,xf:fml:forge:itemstack}
	at net.minecraft.client.multiplayer.PlayerController.func_217292_a(PlayerController.java:319) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1407) ~[forge:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.processKeyBinds(Minecraft.java:1692) ~[forge:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
-- Affected level --
Details:
	All players: 1 total; [ClientPlayerEntity['Dev'/191, l='ClientLevel', x=-18.58, y=65.07, z=40.20]]
	Chunk stats: Client Chunk Cache: 841, 573
	Level dimension: minecraft:overworld
	Level spawn location: World: (-48,67,0), Chunk: (at 0,4,0 in -3,0; contains blocks -48,0,0 to -33,255,15), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
	Level time: 99811 game time, 12364 day time
	Server brand: forge
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.client.world.ClientWorld.fillCrashReport(ClientWorld.java:465) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2091) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.run(Minecraft.java:633) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_282] {}
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_282] {}
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_282] {}
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_282] {}
	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:52) ~[forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {}
	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-recomp.jar:?] {}


-- System Details --
Details:
	Minecraft Version: 1.16.5
	Minecraft Version ID: 1.16.5
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_282, Amazon.com Inc.
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Amazon.com Inc.
	Memory: 397839344 bytes (379 MB) / 1187512320 bytes (1132 MB) up to 1873805312 bytes (1787 MB)
	CPUs: 12
	JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
	ModLauncher: 8.0.9+86+master.3cf110c
	ModLauncher launch target: fmluserdevclient
	ModLauncher naming: mcp
	ModLauncher services: 
		/mixin-0.8.2.jar mixin PLUGINSERVICE 
		/eventbus-4.0.0.jar eventbus PLUGINSERVICE 
		/forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-launcher.jar object_holder_definalize PLUGINSERVICE 
		/forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-launcher.jar runtime_enum_extender PLUGINSERVICE 
		/accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE 
		/forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-launcher.jar capability_inject_definalize PLUGINSERVICE 
		/forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-launcher.jar runtimedistcleaner PLUGINSERVICE 
		/mixin-0.8.2.jar mixin TRANSFORMATIONSERVICE 
		/forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.5-launcher.jar fml TRANSFORMATIONSERVICE 
	FML: 36.1
	Forge: net.minecraftforge:36.1.4
	FML Language Providers: 
		javafml@36.1
		minecraft@1
	Mod List: 
		client-extra.jar                                  |Minecraft                     |minecraft                     |1.16.5              |DONE      |a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f
		forge-1.16.5-36.1.4_mapped_snapshot_20210309-1.16.|Forge                         |forge                         |36.1.4              |DONE      |NOSIGNATURE
		main                                              |UMUMod                        |umu                           |NONE                |DONE      |NOSIGNATURE
	Crash Report UUID: 4fe8a232-4f3d-47fc-aad2-ea52bb00aa0b
	Launched Version: MOD_DEV
	Backend library: LWJGL version 3.2.2 build 10
	Backend API: Intel(R) UHD Graphics 630 GL version 4.6.0 - Build 27.20.100.9126, Intel
	GL Caps: Using framebuffer using OpenGL 3.0
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'forge'
	Type: Client (map_client.txt)
	Graphics mode: fancy
	Resource Packs: 
	Current Language: English (US)
	CPU: 12x Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[03:00:18] [Render thread/INFO] [STDOUT/]: [net.minecraft.util.registry.Bootstrap:printToSYSOUT:130]: #@!@# Game crashed! Crash report saved to: #@!@# D:\User\Zemelua\Projects\Minecraft Mod\UMU Mod\run\.\crash-reports\crash-2021-04-21_03.00.18-client.txt
AL lib: (EE) alc_cleanup: 1 device not closed

 

Link to comment
Share on other sites

42 minutes ago, Zemelua said:

        for (List<BlockPos> parts : BUMPKINS) { <-- for every part
            if (parts.contains(currentPos)) {
                if (parts.stream().map(i -> worldIn.getBlockState(i).matchesBlock(this)).collect(Collectors.toList()).contains(false)) {
                    parts.remove(currentPos); <-- remove from list

You can't remove an item from a list when you are in a for-each loop. That's why it's throwing a concurrent modification exception. Concurrent with iteration the list was modified.

If you need this, either use an Iterator or use an indexed for loop.

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

  • Zemelua changed the title to Solved : [1.16] Errors related to composite blocks such as doors and beds

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.

Announcements



×
×
  • Create New...

Important Information

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