eduardo-mior / System

Sistema geral completo, otimizado e super util para todos os tipos de servidores.
https://gamersboard.com.br/topic/61255-free-system-o-seu-novo-super-essentials/
23 stars 18 forks source link

Could not pass event CreatureSpawnEvent to System v1.14.18 #24

Open RapperHiro78 opened 1 year ago

RapperHiro78 commented 1 year ago

Estou usando o System Plugin no meu servidor de pixelmon e os pokemons simplesmente não saem por causa desse erro que fica sempre se repetindo no console quando alguém está no servidor, como eu posso arruma-lo?

O erro é o seguinte:

[18:09:43 ERROR]: Could not pass event CreatureSpawnEvent to System v1.14.18 org.bukkit.event.EventException: null at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:63) ~[EventExecutor.class:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[TimedEventExecutor.class:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:66) ~[RegisteredListener.class:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [SimplePluginManager.class:?] at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callCreatureSpawnEvent(CraftEventFactory.java:380) [CraftEventFactory.class:?] at net.minecraft.world.World.addEntity(World.java:1500) [amu.class:?] at net.minecraft.world.WorldServer.addEntity(WorldServer.java:1251) [oo.class:?] at net.minecraft.world.WorldServer.func_72838_d(WorldServer.java:1245) [oo.class:?] at com.pixelmonmod.pixelmon.api.spawning.SpawnAction.doSpawn(SpawnAction.java:94) [SpawnAction.class:8.3.8] at com.pixelmonmod.pixelmon.api.spawning.archetypes.entities.pokemon.SpawnActionPokemon.doSpawn(SpawnActionPokemon.java:129) [SpawnActionPokemon.class:8.3.8] at com.pixelmonmod.pixelmon.api.spawning.archetypes.entities.pokemon.SpawnActionPokemon.doSpawn(SpawnActionPokemon.java:39) [SpawnActionPokemon.class:8.3.8] at com.pixelmonmod.pixelmon.api.spawning.archetypes.spawners.TickingSpawner.doPass(TickingSpawner.java:105) [TickingSpawner.class:8.3.8] at com.pixelmonmod.pixelmon.api.spawning.SpawnerCoordinator.onTick(SpawnerCoordinator.java:59) [SpawnerCoordinator.class:8.3.8] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_513_SpawnerCoordinator_onTick_ServerTickEvent.invoke(.dynamic) [?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:96) [ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:186) [EventBus.class:?] at net.minecraftforge.fml.common.FMLCommonHandler.onPostServerTick(FMLCommonHandler.java:264) [FMLCommonHandler.class:?] at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:822) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:624) [MinecraftServer.class:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312] Caused by: java.lang.IllegalArgumentException: No enum constant rush.enums.EntityName.PIXELMON_PIXELMON at java.lang.Enum.valueOf(Enum.java:238) ~[?:1.8.0_312] at rush.enums.EntityName.valueOf(EntityName.java:1) ~[?:?] at rush.enums.EntityName.valueOf(EntityName.java:148) ~[?:?] at rush.sistemas.gerais.StackMobs.onSpawn(StackMobs.java:57) ~[?:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor133.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:61) ~[EventExecutor.class:?] ... 19 more

joaoespanhol commented 1 year ago

[13:22:19 ERROR]: Could not pass event CreatureSpawnEvent to System v1.14.18 org.bukkit.event.EventException: null at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:63) ~[EventExecutor.class:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[TimedEventExecutor.class:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:66) ~[RegisteredListener.class:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [SimplePluginManager.class:?] at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callCreatureSpawnEvent(CraftEventFactory.java:380) [CraftEventFactory.class:?] at net.minecraft.world.World.addEntity(World.java:1500) [amu.class:?] at net.minecraft.world.WorldServer.addEntity(WorldServer.java:1251) [oo.class:?] at net.minecraft.world.WorldEntitySpawner.findChunksForSpawning(WorldEntitySpawner.java:210) [anb.class:?] at net.minecraft.world.WorldServer.tick(WorldServer.java:318) [oo.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:884) [MinecraftServer.class:?] at net.minecraft.server.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:461) [nz.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:778) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:624) [MinecraftServer.class:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312] Caused by: java.lang.IllegalArgumentException: No enum constant rush.enums.EntityName.BEWITCHMENT_GHOST at java.lang.Enum.valueOf(Enum.java:238) ~[?:1.8.0_312] at rush.enums.EntityName.valueOf(EntityName.java:1) ~[?:?] at rush.enums.EntityName.valueOf(EntityName.java:148) ~[?:?] at rush.sistemas.gerais.StackMobs.onSpawn(StackMobs.java:66) ~[?:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor97.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:61) ~[EventExecutor.class:?] ... 13 more

Continua com mesmo error.

joaoespanhol commented 1 year ago

acontece com mohist 1.12.2 e das versões para cima

joaoespanhol commented 1 year ago

esse erro acontece, porque o plugin não consegue ler os mobs existe do server. como é um server modpack, ele só esta a ler os mobs do diretorio já escrito.

joaoespanhol commented 1 year ago

https://github.com/eduardo-mior/System/blob/master/src/rush/enums/EntityName.java

Deve muda essa meto .

eduardo-mior commented 1 year ago

@joaoespanhol @RapperHiro78 para corrigir este problema basta desabilitar a função do StackMobs nas configurações do plugin

joaoespanhol commented 1 year ago

@joaoespanhol @RapperHiro78 para corrigir este problema basta desabilitar a função do StackMobs nas configurações do plugin

Isso não resolve o meu problema, pois preciso usar essa funcionalidade

Para corrigir este problema, pode usar algo deste tipo para obter mobs inves fazer uma lista deles

public void onSpawn(CreatureSpawnEvent event) { Entity entity = event.getEntity(); EntityType type = entity.getType();

// Check if the entity type is recognized by the EntityName enum
try {
    String name = EntityName.valueOf(type.name()).toString();
    // rest of the code that uses the entity name...
} catch (IllegalArgumentException e) {
    // Entity type not recognized
    getLogger().warning("Entity type " + type.name() + " is not recognized.");
    return;
}

}

joaoespanhol commented 1 year ago

pode obter todos os mobs e por automaticamente do ficheiro, assim corrigir o problema.

eduardo-mior commented 1 year ago

@joaoespanhol infelizmente nem todas as funcionalidades do system funcionam em todas as versões do minecraft ou com todos os mods do minecraft.

O system foi desenvolvido para a versão 1.8 do minecraft porém ganhou suporte para as outras versões.

Nesse caso podemos contornar usando o código que você deu de exemplo ali, porém vale citar que o System esta programado daquele jeito para que possa ser feita a tradução dos nomes dos mobs para Português. Originalmente todos os mods e jars do bukkit e spigot disponibilizam apenas os nomes em Inglês, e essa classe EntityName do System serve para fazer a tradução do nome de Inglês para Português.

eduardo-mior commented 1 year ago

@joaoespanhol infelizmente não tenho tempo no momento para dar manutenção ou trabalhar em cima do System, sugiro que você faça um Fork do projeto e implemente esse código por conta própria.

Desculpa por não poder ajudar, mas infelizmente não tenho tempo para dar manutenção no System no momento.