How do i create new ItemFrames

Discussion in 'Plugin Development' started by Ewe Loon, Nov 2, 2012.

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

    Ewe Loon

    I have a few hundres item frames to copy,
    getting the locations and data of the existing ones ie easy, but how do i create new Item frames

    I tries (Location,EntityType) but it says i canr spawn Itemframes
    I cant figure out how to use World.spawn(Location,Class<T>) , and from the error i got from World.spawnEntity it wont work because of same reason

    Anyone have any suggestions
     
  2. Offline

    Deleted user

    event.getPlayer().getLocation().getBlock().setType(Material.ITEM_FRAME);
     
  3. Offline

    fireblast709

    These both just work fine for me, server running the latest CB:
    Code:java
    1. player.getWorld().spawnEntity(Location, EntityType.ITEM_FRAME);
    2. player.getWorld().spawn(Location, ItemFrame.class)


    Eballer48 Your method gives me a "Unexpected exception NullPointerException" (quoting minecraft_server code xD, I actually expected it)
     
  4. Offline

    Deleted user

    Huh, didn't know ItemFrame was an entity.
     
  5. Offline

    fireblast709

    Eballer48 A lot of people don't (and before I actually started using 1.4 as a dev, I didn't knew either)
     
  6. Offline

    8uurg

    I got this error when trying to spawn an itemframe:
    Code:
    2012-11-03 09:10:56 [SEVERE] Could not pass event PlayerInteractEvent to IFOChest v0.1
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:341)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:177)
        at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:366)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:650)
        at net.minecraft.server.Packet15Place.handle(SourceFile:58)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:282)
        at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:111)
        at net.minecraft.server.ServerConnection.b(SourceFile:35)
        at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
        at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:578)
        at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:215)
        at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:495)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:428)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:818)
    Caused by: java.lang.IllegalArgumentException: Cannot spawn an entity for org.bukkit.entity.ItemFrame
        at org.bukkit.craftbukkit.CraftWorld.spawn(CraftWorld.java:999)
        at org.bukkit.craftbukkit.CraftWorld.spawn(CraftWorld.java:779)
        at org.bukkit.craftbukkit.CraftWorld.spawnEntity(CraftWorld.java:326)
        at com.eightuurg.ifochest.Events.openChest(Events.java:23)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:339)
        ... 16 more
    In case someone wants to help us.
     
  7. Offline

    Freelix2000

    *facepalm* An Item Frame is an entity, not a block. You can't set a block's type to item frame.
     
Thread Status:
Not open for further replies.

Share This Page