Luohuayu / CatServer

高性能和高兼容性的1.12.2/1.16.5/1.18.2版本Forge+Bukkit+Spigot服务端 (A high performance and high compatibility 1.12.2/1.16.5/1.18.2 version Forge+Bukkit+Spigot server)
https://catmc.org
GNU Lesser General Public License v3.0
1.95k stars 204 forks source link

[1.16.5] Can't summon entity from mods #802

Open dayd21git opened 1 year ago

dayd21git commented 1 year ago

Minecraft version: 1.16.5 Build version: 1.16.5-9b57815e Mods/Plugins: MrCrayfish's Vehicle, MyPlugin Description: When I try to summon an entity with the standard /summon vehicle:couch command, everything goes well. But if I try to summon an entity with a custom /plug summon vehicle:couch or /plug summon vehicle_couch command, nothing comes out.

Code:

private void summon(CommandSender s, String args[]) {
    if (args.length < 2) return;
    EntityType type;
    try {
        type = EntityType.valueOf(args[1].toUpperCase());
    } catch (IllegalArgumentException | NullPointerException e) {
        return;
    }
    Location loc;
    if ((s instanceof Player)) loc = ((Player)s).getLocation().add(0, 2, 0);
    else {
        if (args.length < 6) return;
        World world = Bukkit.getWorld(args[2]);
        if (world == null) return;
        int x = 0, y = 0, z = 0;
        try {
            x = Integer.parseInt(args[3]);
            y = Integer.parseInt(args[4]);
            z = Integer.parseInt(args[5]);
        } catch (NumberFormatException e) {
            return;
        }
        loc = new Location(world, x, y, z);
    }
    loc.getWorld().spawnEntity(loc, type);
}

Log:

[14:45:12] [Craft Scheduler Thread - 50/WARN]: [TimeRP] Plugin TimeRP v1.0.0 generated an exception while executing task 2151
 java.lang.IllegalArgumentException: Cannot spawn an entity for catserver.server.entity.CraftCustomEntity
        at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.createEntity(CraftWorld.java:1862) ~[forge:1.16.5-9b57815e]
        at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.spawn(CraftWorld.java:1887) ~[forge:1.16.5-9b57815e]
        at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.spawn(CraftWorld.java:1467) ~[forge:1.16.5-9b57815e]
        at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.spawnEntity(CraftWorld.java:705) ~[forge:1.16.5-9b57815e]
        at plug.commands.MainCmd.summon(MainCmd.java:25) ~[?:?]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:81) ~[forge:?]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) [forge:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_292]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_292]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
Kotori0629 commented 1 year ago

Try use latest build

dayd21git commented 12 months ago

Try use latest build

Not working. Version: This server is running CatServer version 1.16.5-671de43b (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT, Forge version 36.2.39)

[16:41:00] [Server thread/WARN]: [MyPlug] Task #3303 for MyPlug v1.0.0 generated an exception
 java.lang.IllegalArgumentException: Cannot spawn an entity for catserver.server.entity.CraftCustomEntity
        at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.createEntity(CraftWorld.java:1871) ~[forge:1.16.5-671de43b]
        at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.spawn(CraftWorld.java:1896) ~[forge:1.16.5-671de43b]
        at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.spawn(CraftWorld.java:1476) ~[forge:1.16.5-671de43b]
        at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.spawnEntity(CraftWorld.java:707) ~[forge:1.16.5-671de43b]
        at myplug.tasks.TaskMobs.lambda$2(TaskMobs.java:67) ~[?:?]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:81) ~[forge:?]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400) ~[forge:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:997) ~[?:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:336) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:943) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:775) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_240783_a_(MinecraftServer.java:265) ~[?:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
world.spawnEntity(loc, type);