ProfessorFichte / Elemental-Wizards-RPG-Class

https://www.curseforge.com/minecraft/mc-mods/elemental-wizards-rpg-class
MIT License
0 stars 0 forks source link

Serverside logic running on the client #1

Closed Bawnorton closed 2 months ago

Bawnorton commented 3 months ago

This method is ran on the client and server https://github.com/ProfessorFichte/Elemental-Wizards-RPG-Class/blob/77ef532a37903957106043b7c762dd809e351eb2/src/main/java/net/elemental_wizards_rpg/effect/SoakedEffect.java#L19, yet the ParticleHelper.sendBatches(...) uses a server-side only api. You should check if the entity world is not the client before performing server only logic.

Associated Crash

[00:30:41] [Render thread/ERROR]: Reported exception thrown!
net.minecraft.util.crash.CrashException: Ticking entity
    at net.minecraft.world.World.tickEntity(World.java:487) ~[client-intermediary.jar:?]
    at net.minecraft.client.world.ClientWorld.method_32124(ClientWorld.java:255) ~[client-intermediary.jar:?]
    at net.minecraft.world.EntityList.forEach(EntityList.java:54) ~[client-intermediary.jar:?]
    at net.minecraft.client.world.ClientWorld.tickEntities(ClientWorld.java:251) ~[client-intermediary.jar:?]
    at net.minecraft.client.MinecraftClient.tick(MinecraftClient.java:1901) ~[client-intermediary.jar:?]
    at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1181) ~[client-intermediary.jar:?]
    at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:802) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:250) ~[1.20.1-0.15.11.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.11.jar:?]
Caused by: java.lang.IllegalArgumentException: Only supported on server worlds!
    at net.fabricmc.fabric.api.networking.v1.PlayerLookup.tracking(PlayerLookup.java:127) ~[fabric-networking-api-v1-1.3.11+1802ada577-a65c3ef3908d32fd.jar:?]
    at net.spell_engine.particle.ParticleHelper.sendBatches(ParticleHelper.java:32) ~[spell_engine-0.14.3+1.20.1.jar:?]
    at net.spell_engine.particle.ParticleHelper.sendBatches(ParticleHelper.java:28) ~[spell_engine-0.14.3+1.20.1.jar:?]
    at net.elemental_wizards_rpg.effect.SoakedEffect.applyUpdateEffect(SoakedEffect.java:24) ~[elemental_wizards_rpg-1.1.1.jar:?]
    at net.minecraft.entity.effect.StatusEffectInstance.method_5589(StatusEffectInstance.java:209) ~[client-intermediary.jar:?]
    at net.minecraft.entity.effect.StatusEffectInstance.update(StatusEffectInstance.java:182) ~[client-intermediary.jar:?]
    at net.minecraft.entity.LivingEntity.tickStatusEffects(LivingEntity.java:814) ~[client-intermediary.jar:?]
    at net.minecraft.entity.LivingEntity.baseTick(LivingEntity.java:457) ~[client-intermediary.jar:?]
    at net.minecraft.entity.mob.MobEntity.baseTick(MobEntity.java:284) ~[client-intermediary.jar:?]
    at net.minecraft.entity.Entity.tick(Entity.java:474) ~[client-intermediary.jar:?]
    at net.minecraft.entity.LivingEntity.tick(LivingEntity.java:2380) ~[client-intermediary.jar:?]
    at net.minecraft.entity.mob.MobEntity.tick(MobEntity.java:351) ~[client-intermediary.jar:?]
    at net.minecraft.entity.passive.TameableShoulderEntity.tick(TameableShoulderEntity.java:35) ~[client-intermediary.jar:?]
    at com.cobblemon.mod.common.entity.pokemon.PokemonEntity.tick(PokemonEntity.java:313) ~[Cobblemon-fabric-1.5.2+1.20.1.jar:?]
    at net.minecraft.client.world.ClientWorld.tickEntity(ClientWorld.java:272) ~[client-intermediary.jar:?]
    at net.minecraft.world.World.tickEntity(World.java:480) ~[client-intermediary.jar:?]
ProfessorFichte commented 2 months ago

Did not check the Issues on Github for a while sorry, fixed this issue in a new update. Sorry for the late answer