I am still trying to get familiar with the forge systems and cannot for the life of me figure out why my .getCapability() is returning null. Granted, it's like 7am and I've not slept so apologies if this is a dumb error. Any help would be appreciated, attached are the logs and relevant code (I think that's everything relevant anyway).
SerializableCapabilityProvider
public class SerializableCapabilityProvider <HANDLER> extends SimpleCapabilityProvider<HANDLER> implements ICapabilitySerializable<INBT> {
public SerializableCapabilityProvider(final Capability<HANDLER> capability, @Nullable final Direction facing) {
this(capability, facing, capability.getDefaultInstance());
}
public SerializableCapabilityProvider(final Capability<HANDLER> capability, @Nullable final Direction facing, @Nullable final HANDLER instance) {
super(capability, facing, instance);
}
@Nullable
@Override
public INBT serializeNBT() {
final HANDLER instance = getInstance();
if (instance == null) {
return null;
}
return getCapability().writeNBT(instance, getFacing());
}
@Override
public void deserializeNBT(final INBT nbt) {
final HANDLER instance = getInstance();
if (instance == null) {
return;
}
getCapability().readNBT(instance, getFacing(), nbt);
}
}
SimpleCapabilityProvider
public class SimpleCapabilityProvider <HANDLER> implements ICapabilityProvider {
protected final Capability<HANDLER> capability;
protected final Direction facing;
protected final HANDLER instance;
protected final LazyOptional<HANDLER> lazyOptional;
public SimpleCapabilityProvider(final Capability<HANDLER> capability, @Nullable final Direction facing, @Nullable final HANDLER instance) {
this.capability = capability;
this.facing = facing;
this.instance = instance;
if (this.instance != null) {
lazyOptional = LazyOptional.of(() -> this.instance);
} else {
lazyOptional = LazyOptional.empty();
}
}
@Override
public <T> LazyOptional<T> getCapability(final Capability<T> capability, @Nullable final Direction facing) {
return getCapability().orEmpty(capability, lazyOptional);
}
public final Capability<HANDLER> getCapability() {
return capability;
}
@Nullable
public Direction getFacing() {
return facing;
}
@Nullable
public final HANDLER getInstance() {
return instance;
}
}
My registering method and attaching methods
public class EntityBaseStatsCapability {
@CapabilityInject(IEntityStats.class)
public static final Capability<IEntityStats> INSTANCE = null;
private static final Direction DEFAULT_FACING = null;
public static void register()
{
CapabilityManager.INSTANCE.register(IEntityStats.class, new Capability.IStorage<IEntityStats>()
{
@Override
public INBT writeNBT(Capability<IEntityStats> capability, IEntityStats instance, Direction side)
{
CompoundNBT props = new CompoundNBT();
props.putInt("power", instance.getPower());
props.putLong("beli", instance.getBeli());
props.putInt("gold", instance.getGold());
props.putLong("bounty", instance.getBounty());
props.putString("race", instance.getRace());
props.putString("combatClass", instance.getCombatClass());
props.putString("meleeSpecialization", instance.getMeleeSpecialization());
props.putString("rangedSpecialization", instance.getRangedSpecialization());
props.putString("weatherSpecialization", instance.getWeatherSpecialization());
props.putString("unarmedSpecialization", instance.getUnarmedSpecialization());
props.putString("doctorSpecialization", instance.getDoctorSpecialization());
props.putLong("meleeExp", instance.getMeleeExp());
props.putLong("rangedExp", instance.getRangedExp());
props.putLong("weatherExp", instance.getWeatherExp());
props.putLong("unarmedExp", instance.getUnarmedExp());
props.putLong("doctorExp", instance.getDoctorExp());
props.putInt("meleePoints", instance.getMeleePoints());
props.putInt("rangedPoints", instance.getRangedPoints());
props.putInt("weatherPoints", instance.getWeatherPoints());
props.putInt("unarmedPoints", instance.getUnarmedPoints());
props.putInt("doctorPoints", instance.getDoctorPoints());
props.putString("faction", instance.getFaction());
props.putString("factionRank", instance.getFactionRank());
props.putLong("rankExp", instance.getRankExp());
return props;
}
@Override
public void readNBT(Capability<IEntityStats> capability, IEntityStats instance, Direction side, INBT nbt)
{
CompoundNBT props = (CompoundNBT) nbt;
instance.setPower(props.getInt("power"));
instance.setBeli(props.getLong("beli"));
instance.setGold(props.getInt("gold"));
instance.setBounty(props.getLong("bounty"));
instance.setRace(props.getString("race"));
instance.setCombatClass(props.getString("combatClass"));
instance.setMeleeSpecialization(props.getString("meleeSpecialization"));
instance.setRangedSpecialization(props.getString("rangedSpecialization"));
instance.setWeatherSpecialization(props.getString("weatherSpecialization"));
instance.setUnarmedSpecialization(props.getString("unarmedSpecialization"));
instance.setDoctorSpecialization(props.getString("doctorSpecialization"));
instance.setMeleeExp(props.getLong("meleeExp"));
instance.setRangedExp(props.getLong("rangedExp"));
instance.setWeatherExp(props.getLong("weatherExp"));
instance.setUnarmedExp(props.getLong("unarmedExp"));
instance.setDoctorExp(props.getLong("doctorExp"));
instance.setMeleePoints(props.getInt("meleePoints"));
instance.setRangedPoints(props.getInt("rangedPoints"));
instance.setWeatherPoints(props.getInt("weatherPoints"));
instance.setUnarmedPoints(props.getInt("unarmedPoints"));
instance.setDoctorPoints(props.getInt("doctorPoints"));
instance.setFaction(props.getString("faction"));
instance.setFactionRank(props.getString("factionRank"));
instance.setRankExp(props.getLong("rankExp"));
}
}, () -> new EntityBaseStats(null));
}
public static ICapabilityProvider createProvider(final IEntityStats entityStats) {
return new SerializableCapabilityProvider<>(INSTANCE, DEFAULT_FACING, entityStats);
}
public static LazyOptional<IEntityStats> getEntityStats(final LivingEntity entity)
{
return entity.getCapability(INSTANCE, DEFAULT_FACING);
}
@Mod.EventBusSubscriber(modid = APIConfig.PROJECT_ID)
private static class EventHandler {
@SubscribeEvent
public static void attachCapabilities(AttachCapabilitiesEvent<Entity> event) {
if (event.getObject() == null)
return;
if (event.getObject() instanceof LivingEntity) {
final EntityBaseStats entityStats = new EntityBaseStats((LivingEntity) event.getObject());
event.addCapability(new ResourceLocation(APIConfig.PROJECT_ID), createProvider(entityStats));
}
}
}
}
Crash Report
[06:40:42] [Worker-Main-15/INFO] [STDOUT/]: [net.minecraft.util.registry.Bootstrap:printToSYSOUT:130]: ---- Minecraft Crash Report ----
// I let you down. Sorry :(
Time: 15/12/20 6:40 AM
Description: Saving entity NBT
java.lang.NullPointerException: Saving entity NBT
at taeda.OPRL.data.SerializableCapabilityProvider.serializeNBT(SerializableCapabilityProvider.java:31) ~[?:?] {re:classloading}
at net.minecraftforge.common.capabilities.CapabilityDispatcher.serializeNBT(CapabilityDispatcher.java:127) ~[forge:?] {re:classloading}
at net.minecraftforge.common.capabilities.CapabilityProvider.serializeCaps(CapabilityProvider.java:86) ~[forge:?] {re:classloading}
at net.minecraft.entity.Entity.writeWithoutTypeId(Entity.java:1567) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.entity.Entity.writeUnlessRemoved(Entity.java:1493) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.entity.Entity.writeUnlessPassenger(Entity.java:1509) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.chunk.ChunkPrimer.addEntity(ChunkPrimer.java:219) ~[forge:?] {re:classloading}
at net.minecraft.world.gen.WorldGenRegion.addEntity(WorldGenRegion.java:260) ~[forge:?] {re:classloading}
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:419) ~[?:1.8.0_271] {}
at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) ~[?:1.8.0_271] {}
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) ~[?:1.8.0_271] {}
at net.minecraft.world.IServerWorld.func_242417_l(IServerWorld.java:10) ~[forge:?] {re:classloading}
at net.minecraft.world.spawner.WorldEntitySpawner.performWorldGenSpawning(WorldEntitySpawner.java:372) ~[forge:?] {re:classloading}
at net.minecraft.world.gen.NoiseChunkGenerator.func_230354_a_(NoiseChunkGenerator.java:626) ~[forge:?] {re:classloading}
at net.minecraft.world.chunk.ChunkStatus.lambda$static$12(ChunkStatus.java:89) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.chunk.ChunkStatus$ISelectiveWorker.doWork(ChunkStatus.java:244) ~[forge:?] {re:classloading}
at net.minecraft.world.chunk.ChunkStatus.doGenerationWork(ChunkStatus.java:198) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.server.ChunkManager.lambda$chunkGenerate$18(ChunkManager.java:541) ~[forge:?] {re:classloading}
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?] {re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading}
at net.minecraft.world.server.ChunkManager.lambda$chunkGenerate$20(ChunkManager.java:539) ~[forge:?] {re:classloading}
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:966) ~[?:1.8.0_271] {}
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:940) ~[?:1.8.0_271] {}
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_271] {}
at net.minecraft.world.chunk.ChunkTaskPriorityQueueSorter.lambda$func_219069_a$1(ChunkTaskPriorityQueueSorter.java:44) ~[forge:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.driveOne(DelegatedTaskExecutor.java:88) ~[forge:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.driveWhile(DelegatedTaskExecutor.java:132) ~[forge:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.run(DelegatedTaskExecutor.java:100) ~[forge:?] {re:classloading}
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172) ~[?:1.8.0_271] {}
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Worker-Main-15
Stacktrace:
at taeda.OPRL.data.SerializableCapabilityProvider.serializeNBT(SerializableCapabilityProvider.java:31) ~[?:?] {re:classloading}
at net.minecraftforge.common.capabilities.CapabilityDispatcher.serializeNBT(CapabilityDispatcher.java:127) ~[forge:?] {re:classloading}
at net.minecraftforge.common.capabilities.CapabilityProvider.serializeCaps(CapabilityProvider.java:86) ~[forge:?] {re:classloading}
-- Entity being saved --
Details:
Entity Type: minecraft:sheep (net.minecraft.entity.passive.SheepEntity)
Entity ID: 1
Entity Name: Sheep
Entity's Exact location: -118.00, 70.00, 198.00
Entity's Block location: World: (-118,70,198), Chunk: (at 10,4,6 in -8,12; contains blocks -128,0,192 to -113,255,207), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
Entity's Momentum: 0.00, 0.00, 0.00
Entity's Passengers: []
Entity's Vehicle: ~~ERROR~~ NullPointerException: null
Stacktrace:
at net.minecraft.entity.Entity.writeWithoutTypeId(Entity.java:1567) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.entity.Entity.writeUnlessRemoved(Entity.java:1493) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.entity.Entity.writeUnlessPassenger(Entity.java:1509) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.chunk.ChunkPrimer.addEntity(ChunkPrimer.java:219) ~[forge:?] {re:classloading}
at net.minecraft.world.gen.WorldGenRegion.addEntity(WorldGenRegion.java:260) ~[forge:?] {re:classloading}
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:419) ~[?:1.8.0_271] {}
at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) ~[?:1.8.0_271] {}
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) ~[?:1.8.0_271] {}
at net.minecraft.world.IServerWorld.func_242417_l(IServerWorld.java:10) ~[forge:?] {re:classloading}
at net.minecraft.world.spawner.WorldEntitySpawner.performWorldGenSpawning(WorldEntitySpawner.java:372) ~[forge:?] {re:classloading}
at net.minecraft.world.gen.NoiseChunkGenerator.func_230354_a_(NoiseChunkGenerator.java:626) ~[forge:?] {re:classloading}
at net.minecraft.world.chunk.ChunkStatus.lambda$static$12(ChunkStatus.java:89) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.chunk.ChunkStatus$ISelectiveWorker.doWork(ChunkStatus.java:244) ~[forge:?] {re:classloading}
at net.minecraft.world.chunk.ChunkStatus.doGenerationWork(ChunkStatus.java:198) ~[forge:?] {re:classloading,pl:accesstransformer:B}
-- Chunk to be generated --
Details:
Location: -8,12
Position hash: 55834574840
Generator: net.minecraft.world.gen.NoiseChunkGenerator@6fd409b
Stacktrace:
at net.minecraft.world.server.ChunkManager.lambda$chunkGenerate$18(ChunkManager.java:541) ~[forge:?] {re:classloading}
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?] {re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading}
at net.minecraft.world.server.ChunkManager.lambda$chunkGenerate$20(ChunkManager.java:539) ~[forge:?] {re:classloading}
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:966) ~[?:1.8.0_271] {}
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:940) ~[?:1.8.0_271] {}
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_271] {}
at net.minecraft.world.chunk.ChunkTaskPriorityQueueSorter.lambda$func_219069_a$1(ChunkTaskPriorityQueueSorter.java:44) ~[forge:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.driveOne(DelegatedTaskExecutor.java:88) ~[forge:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.driveWhile(DelegatedTaskExecutor.java:132) ~[forge:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.run(DelegatedTaskExecutor.java:100) ~[forge:?] {re:classloading}
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172) ~[?:1.8.0_271] {}
-- System Details --
Details:
Minecraft Version: 1.16.4
Minecraft Version ID: 1.16.4
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_271, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 1267210720 bytes (1208 MB) / 1971847168 bytes (1880 MB) up to 3817865216 bytes (3641 MB)
CPUs: 16
JVM Flags: 2 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx4096m
ModLauncher: 8.0.6+85+master.325de55
ModLauncher launch target: fmluserdevclient
ModLauncher naming: mcp
ModLauncher services:
/mixin-0.8.2.jar mixin PLUGINSERVICE
/eventbus-3.0.5-service.jar eventbus PLUGINSERVICE
/forge-1.16.4-35.1.0_mapped_snapshot_20201028-1.16.3-launcher.jar object_holder_definalize PLUGINSERVICE
/forge-1.16.4-35.1.0_mapped_snapshot_20201028-1.16.3-launcher.jar runtime_enum_extender PLUGINSERVICE
/accesstransformers-2.2.0-shadowed.jar accesstransformer PLUGINSERVICE
/forge-1.16.4-35.1.0_mapped_snapshot_20201028-1.16.3-launcher.jar capability_inject_definalize PLUGINSERVICE
/forge-1.16.4-35.1.0_mapped_snapshot_20201028-1.16.3-launcher.jar runtimedistcleaner PLUGINSERVICE
/mixin-0.8.2.jar mixin TRANSFORMATIONSERVICE
/forge-1.16.4-35.1.0_mapped_snapshot_20201028-1.16.3-launcher.jar fml TRANSFORMATIONSERVICE
FML: 35.1
Forge: net.minecraftforge:35.1.0
FML Language Providers:
[email protected]
minecraft@1
Mod List:
client-extra.jar |Minecraft |minecraft |1.16.4 |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.4-35.1.0_mapped_snapshot_20201028-1.16.|Forge |forge |35.1.0 |DONE |NOSIGNATURE
main |One Piece: Roger's Legacy |oprl |0.0.01 |DONE |NOSIGNATURE
Crash Report UUID: f079221a-fc3d-457c-8053-600a7be078eb
[06:40:42] [Server thread/FATAL] [minecraft/ThreadTaskExecutor]: Error executing task on Chunk source main thread executor for minecraft:overworld
java.util.concurrent.CompletionException: net.minecraft.crash.ReportedException: Saving entity NBT
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273) ~[?:1.8.0_271] {}
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) ~[?:1.8.0_271] {}
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:975) ~[?:1.8.0_271] {}
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:940) ~[?:1.8.0_271] {}
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_271] {}
at net.minecraft.world.chunk.ChunkTaskPriorityQueueSorter.lambda$func_219069_a$1(ChunkTaskPriorityQueueSorter.java:44) ~[forge:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.driveOne(DelegatedTaskExecutor.java:88) ~[forge:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.driveWhile(DelegatedTaskExecutor.java:132) ~[forge:?] {re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.run(DelegatedTaskExecutor.java:100) ~[forge:?] {re:classloading}
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703) ~[?:1.8.0_271] {}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172) ~[?:1.8.0_271] {}
Caused by: net.minecraft.crash.ReportedException: Saving entity NBT
at net.minecraft.world.server.ChunkManager.lambda$chunkGenerate$18(ChunkManager.java:552) ~[forge:?] {re:classloading}
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?] {re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading}
at net.minecraft.world.server.ChunkManager.lambda$chunkGenerate$20(ChunkManager.java:539) ~[forge:?] {re:classloading}
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:966) ~[?:1.8.0_271] {}
... 11 more
Caused by: java.lang.NullPointerException
at taeda.OPRL.data.SerializableCapabilityProvider.serializeNBT(SerializableCapabilityProvider.java:31) ~[?:?] {re:classloading}
at net.minecraftforge.common.capabilities.CapabilityDispatcher.serializeNBT(CapabilityDispatcher.java:127) ~[forge:?] {re:classloading}
at net.minecraftforge.common.capabilities.CapabilityProvider.serializeCaps(CapabilityProvider.java:86) ~[forge:?] {re:classloading}
at net.minecraft.entity.Entity.writeWithoutTypeId(Entity.java:1567) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.entity.Entity.writeUnlessRemoved(Entity.java:1493) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.entity.Entity.writeUnlessPassenger(Entity.java:1509) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.chunk.ChunkPrimer.addEntity(ChunkPrimer.java:219) ~[forge:?] {re:classloading}
at net.minecraft.world.gen.WorldGenRegion.addEntity(WorldGenRegion.java:260) ~[forge:?] {re:classloading}
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:419) ~[?:1.8.0_271] {}
at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) ~[?:1.8.0_271] {}
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) ~[?:1.8.0_271] {}
at net.minecraft.world.IServerWorld.func_242417_l(IServerWorld.java:10) ~[forge:?] {re:classloading}
at net.minecraft.world.spawner.WorldEntitySpawner.performWorldGenSpawning(WorldEntitySpawner.java:372) ~[forge:?] {re:classloading}
at net.minecraft.world.gen.NoiseChunkGenerator.func_230354_a_(NoiseChunkGenerator.java:626) ~[forge:?] {re:classloading}
at net.minecraft.world.chunk.ChunkStatus.lambda$static$12(ChunkStatus.java:89) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.chunk.ChunkStatus$ISelectiveWorker.doWork(ChunkStatus.java:244) ~[forge:?] {re:classloading}
at net.minecraft.world.chunk.ChunkStatus.doGenerationWork(ChunkStatus.java:198) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.world.server.ChunkManager.lambda$chunkGenerate$18(ChunkManager.java:541) ~[forge:?] {re:classloading}
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?] {re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading}
at net.minecraft.world.server.ChunkManager.lambda$chunkGenerate$20(ChunkManager.java:539) ~[forge:?] {re:classloading}
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:966) ~[?:1.8.0_271] {}
... 11 more
Exception: java.util.ConcurrentModificationException thrown from the UncaughtExceptionHandler in thread "Worker-Main-20"
Exception: java.util.ConcurrentModificationException thrown from the UncaughtExceptionHandler in thread "Worker-Main-62"
Exception: java.util.ConcurrentModificationException thrown from the UncaughtExceptionHandler in thread "Worker-Main-153"
Process finished with exit code -1