Tater-Certified / Lustrousness

The Main Content Addon for WanderLust
GNU Lesser General Public License v3.0
1 stars 0 forks source link

Certain mobs break with rng health #1

Open QPCrummer opened 2 years ago

QPCrummer commented 2 years ago
QPCrummer commented 2 years ago

Also this crash: java.lang.IllegalStateException: Accessing LegacyRandomSource from multiple threads at net.minecraft.util.thread.LockHelper.crash(LockHelper.java:84) at net.minecraft.util.math.random.CheckedRandom.next(CheckedRandom.java:49) at net.minecraft.util.math.random.BaseRandom.nextInt(BaseRandom.java:33) at net.minecraft.world.SpawnHelper.spawnEntitiesInChunk(SpawnHelper.java:246) at net.minecraft.world.SpawnHelper.spawnEntitiesInChunk(SpawnHelper.java:212) at net.minecraft.world.SpawnHelper.spawn(SpawnHelper.java:200) at net.minecraft.server.world.ServerChunkManager.tickChunks(ServerChunkManager.java:376) at net.minecraft.server.world.ServerChunkManager.tick(ServerChunkManager.java:323) at net.minecraft.server.world.ServerWorld.tick(ServerWorld.java:318) at net.minecraft.server.MinecraftServer.tickWorlds(MinecraftServer.java:875) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:819) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:98) at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:665) at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:258) at java.base/java.lang.Thread.run(Thread.java:833)

i-like-trains72 commented 2 years ago

I would attempt to create separate parameters for the entities you mentioned. Maybe try checking for tamed wolves, and if they exist, randomize health. As for slides, maybe during spawning give them a tag that says their size.

As for the crash, well, you're letting multiple threads attempt to simultaneously access stuff. Aka, multithreading's gone wrong somewhere.

@KJP12 any ideas? I am java noob

QPCrummer commented 2 years ago

We actually aren't multithreading anything

i-like-trains72 commented 2 years ago

We actually aren't multithreading anything

Oh okay i'm dum then uhhhhhhh idk lol

QPCrummer commented 2 years ago

We can just copy the health over from the wolf to the dog. Should be simple enough. As for the slimes and cubes, we are going to just keep the dividing the main health in half and giving it to the new slimes

Ampflower commented 2 years ago

I would attempt to create separate parameters for the entities you mentioned. Maybe try checking for tamed wolves, and if they exist, randomize health. As for slides, maybe during spawning give them a tag that says their size.

Would see how feasible that is; we hook into the constructor of LivingEntity.

As for the crash, well, you're letting multiple threads attempt to simultaneously access stuff. Aka, multithreading's gone wrong somewhere.

@KJP12 any ideas? I am java noob

No idea for this bit.

i-like-trains72 commented 2 years ago

I would attempt to create separate parameters for the entities you mentioned. Maybe try checking for tamed wolves, and if they exist, randomize health. As for slides, maybe during spawning give them a tag that says their size.

Would see how feasible that is; we hook into the constructor of LivingEntity.

As for the crash, well, you're letting multiple threads attempt to simultaneously access stuff. Aka, multithreading's gone wrong somewhere.

@KJP12 any ideas? I am java noob

No idea for this bit.

i figured as much, it's confusion. Silence the error and let the game run