Solved Making spawned mob walk to area

Discussion in 'Plugin Development' started by Jomens235, Mar 7, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    Jomens235

    Working on a plugin, and I'm trying to spawn a horse and make it walk to an area by adding a number to its Z coordinate. I've tried a few times with Pathfinder and setTarget, but it doesn't move the mob. I was wondering if anyone can help me with this, I've looked at many tutorials or other similar questions but I always seem to get an error. Here's my code:
    Code:
    if (event.getBlockPlaced().getType().equals(Material.LAPIS_BLOCK)) {
                Player player = event.getPlayer();
                player.sendMessage(FroggerMain.getInstance().title
                        + ChatColor.GREEN + "You have placed a horse spawner.");
                World world = event.getPlayer().getWorld();
                Location spawnLocation = event.getBlockPlaced().getLocation();
                @SuppressWarnings("deprecation")
                Horse horse = (Horse) world.spawnCreature(spawnLocation,
                        EntityType.HORSE);
                EntityCreature ec = ((CraftCreature) horse).getHandle();
                Block to = (Block) spawnLocation.add(0, 0, 53);
                PathEntity pf = ((CraftWorld) to.getWorld()).getHandle().a(ec,
                        to.getX(), to.getY(), to.getZ(), 16.0f, true, false, false,
                        true);
                ec.setPathEntity(pf);
     
  2. Offline

    Skionz

  3. Offline

    Jomens235

    @Skionz I wasn't getting an error on loading the plugin, but now I am. The error would be:
    Code:
    [22:03:50 ERROR]: Error occurred while enabling Frogger v1.0 (Is it up to date?)
    
    java.lang.NoClassDefFoundError: net/minecraft/server/v1_7_R3/Entity
            at me.jomens.FroggerMain.onEnable(FroggerMain.java:32) ~[?:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[s
    pigot.jar:git-Spigot-1647]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:332) [spigot.jar:git-Spigot-1647]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:417) [spigot.jar:git-Spigot-1647]
            at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.jav
    a:476) [spigot.jar:git-Spigot-1647]
            at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.
    java:394) [spigot.jar:git-Spigot-1647]
            at org.bukkit.craftbukkit.v1_7_R4.CraftServer.reload(CraftServer.java:86
    6) [spigot.jar:git-Spigot-1647]
            at org.bukkit.Bukkit.reload(Bukkit.java:301) [spigot.jar:git-Spigot-1647
    ]
            at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
    23) [spigot.jar:git-Spigot-1647]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:18
    1) [spigot.jar:git-Spigot-1647]
            at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServe
    r.java:767) [spigot.jar:git-Spigot-1647]
            at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchServerCommand(Craf
    tServer.java:753) [spigot.jar:git-Spigot-1647]
            at net.minecraft.server.v1_7_R4.DedicatedServer.aB(DedicatedServer.java:
    326) [spigot.jar:git-Spigot-1647]
            at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:2
    90) [spigot.jar:git-Spigot-1647]
            at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:5
    84) [spigot.jar:git-Spigot-1647]
            at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java
    :490) [spigot.jar:git-Spigot-1647]
            at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:6
    28) [spigot.jar:git-Spigot-1647]
    Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_7_R3.Entity
    
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:91) ~[spigot.jar:git-Spigot-1647]
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:86) ~[spigot.jar:git-Spigot-1647]
            at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
            at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
            ... 17 more
    Using this code:
    Code:
    @EventHandler
        public void onBlockPlace(BlockPlaceEvent event) {
            if (event.getBlockPlaced().getType().equals(Material.LAPIS_BLOCK)) {
                Player player = event.getPlayer();
                player.sendMessage(FroggerMain.getInstance().title
                        + ChatColor.GREEN + "You have placed a horse spawner.");
                World world = event.getPlayer().getWorld();
                Location spawnLocation = event.getBlockPlaced().getLocation();
                @SuppressWarnings("deprecation")
                Horse horse = (Horse) world.spawnCreature(spawnLocation,
                        EntityType.HORSE);
                EntityHorse ec = ((CraftHorse) horse).getHandle();
                Block to = (Block) spawnLocation.add(0, 0, 53);
                PathEntity pf = ((CraftWorld) to.getWorld()).getHandle().a(ec,
                        to.getX(), to.getY(), to.getZ(), 16.0f, true, false, false,
                        true);
                ec.setPathEntity(pf);
            } else if (event.getBlockPlaced().getType().equals(Material.TNT)) {
                World world = event.getPlayer().getWorld();
                Location spawnLocation = event.getBlockPlaced().getLocation();
                @SuppressWarnings("deprecation")
                Horse horse = (Horse) world.spawnCreature(spawnLocation,
                        EntityType.HORSE);
                int locx = (int) spawnLocation.getX();
                int locy = (int) spawnLocation.getY();
                int locz = (int) spawnLocation.getZ();
                horseMoveTo(horse, locx, locy, (locz + 52));
                Player player = event.getPlayer();
                player.sendMessage(FroggerMain.getInstance().title
                        + ChatColor.GREEN
                        + "You have placed a reverse horse spawner.");
            }
        }
    
        private void horseMoveTo(Horse horse, int x, int y, int z) {
            horse.setTarget(null);
            EntityHorse ec = ((CraftHorse) horse).getHandle();
            PathEntity pf = new net.minecraft.server.v1_7_R3.PathEntity(
                    new net.minecraft.server.v1_7_R3.PathPoint[] { new net.minecraft.server.v1_7_R3.PathPoint(
                            x, y, z) });
            ec.setPathEntity(pf);
        }
     
  4. Offline

    Skionz

    @Jomens235 Your server is running a different version of CraftBukkit than you are compiling with.
     
  5. Offline

    Jomens235

    @Skionz Okay, I just used the same versions but the horse still didn't do what I want. The plugin loaded, but I got this error:
    Code:
    [22:30:38 ERROR]: Could not pass event BlockPlaceEvent to Frogger v1.0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:294) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:501) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:486) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.callBlockPlace
    Event(CraftEventFactory.java:117) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3
    980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ItemBlock.processBlockPlace(ItemBlock.ja
    va:88) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ItemBlock.interactWith(ItemBlock.java:72
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ItemStack.placeItem(ItemStack.java:78) [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.PlayerInteractManager.interact(PlayerInt
    eractManager.java:390) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046j
    nks]
            at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java
    :629) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInBlockPlace.a(SourceFile:60)
    [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInBlockPlace.handle(SourceFile
    :9) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:148
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134) [craf
    tbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:6
    67) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:2
    60) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:5
    58) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java
    :469) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6
    28) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
    Caused by: java.lang.ClassCastException: org.bukkit.Location cannot be cast to o
    rg.bukkit.block.Block
            at me.jomens.FroggerEvents.onBlockPlace(FroggerEvents.java:147) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0
    _25]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0
    _25]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .8.0_25]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:292) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            ... 18 more
    [22:30:40 ERROR]: Could not pass event BlockPlaceEvent to Frogger v1.0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:294) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:501) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:486) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.callBlockPlace
    Event(CraftEventFactory.java:117) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3
    980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ItemBlock.processBlockPlace(ItemBlock.ja
    va:88) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ItemBlock.interactWith(ItemBlock.java:72
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ItemStack.placeItem(ItemStack.java:78) [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.PlayerInteractManager.interact(PlayerInt
    eractManager.java:390) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046j
    nks]
            at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java
    :629) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInBlockPlace.a(SourceFile:60)
    [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInBlockPlace.handle(SourceFile
    :9) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:148
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134) [craf
    tbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:6
    67) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:2
    60) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:5
    58) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java
    :469) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6
    28) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
    Caused by: java.lang.ClassCastException: org.bukkit.Location cannot be cast to o
    rg.bukkit.block.Block
            at me.jomens.FroggerEvents.onBlockPlace(FroggerEvents.java:147) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0
    _25]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0
    _25]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .8.0_25]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:292) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            ... 18 more
    [22:30:51 ERROR]: Could not pass event BlockPlaceEvent to Frogger v1.0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:294) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:501) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:486) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.callBlockPlace
    Event(CraftEventFactory.java:117) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3
    980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ItemBlock.processBlockPlace(ItemBlock.ja
    va:88) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ItemBlock.interactWith(ItemBlock.java:72
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ItemStack.placeItem(ItemStack.java:78) [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.PlayerInteractManager.interact(PlayerInt
    eractManager.java:390) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046j
    nks]
            at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java
    :629) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInBlockPlace.a(SourceFile:60)
    [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInBlockPlace.handle(SourceFile
    :9) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:148
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134) [craf
    tbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:6
    67) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:2
    60) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:5
    58) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java
    :469) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6
    28) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
    Caused by: java.lang.ClassCastException: org.bukkit.Location cannot be cast to o
    rg.bukkit.block.Block
            at me.jomens.FroggerEvents.onBlockPlace(FroggerEvents.java:147) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0
    _25]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0
    _25]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .8.0_25]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:292) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-18-g3c3980f-b3046jnks]
            ... 18 more
    And do you have any way I could use a Spigot build instead of a CraftBukkit? So the server I'm making it for can use it
     
  6. Offline

    Skionz

  7. Offline

    Jomens235

    @Skionz Okay, makes sense, I changed it to "Location to = (Location) spawnLocation.add(0, 0, 53);" and now it doesn't like:
    Code:
    PathEntity pf = ((CraftWorld) to.getWorld()).getHandle().a(ec,
                        to.getX(), to.getY(), to.getZ(), 16.0f, true, false, false,
                        true);
    because of this: http://prntscr.com/6e7nmz
     
  8. Offline

    Skionz

    @Jomens235 You're providing the wrong arguments.
     
  9. Offline

    Jomens235

    @Skionz Could you show me the correct arguments or have a link that could explain needed arguments?
     
  10. Offline

    Skionz

    @Jomens235 Your IDE is showing you the correct arguments.
     
  11. Offline

    westjet

  12. Offline

    Jomens235

    @westjet Thanks! That is super close to what I need. I just need to change some stuff. Thank you.
     
Thread Status:
Not open for further replies.

Share This Page