Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.23 KB | None | 0 0
  1. package me.belka.skin;
  2.  
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import java.util.Map.Entry;
  6.  
  7. import net.minecraft.server.v1_7_R3.EntityWitherSkull;
  8. import net.minecraft.server.v1_7_R3.WorldServer;
  9.  
  10. import org.bukkit.Location;
  11. import org.bukkit.Material;
  12. import org.bukkit.craftbukkit.v1_7_R3.CraftWorld;
  13. import org.bukkit.entity.Entity;
  14. import org.bukkit.entity.Item;
  15. import org.bukkit.inventory.ItemStack;
  16.  
  17. public class FloatingItem {
  18.  
  19.   private String tag;
  20.   private Material mater;
  21.   private Location loc;
  22.   private String name;
  23.   private Map<Entity, Entity> ids = new HashMap<>();
  24.  
  25.   public FloatingItem(Location loc, String name, Material mater, String tag) {
  26.       this.mater = mater;
  27.       this.tag = tag;
  28.       this.name = name;
  29.       this.loc = loc;
  30.   }
  31.  
  32.   public void show() {
  33.       if(ids.isEmpty()) {
  34.       WorldServer world = ((CraftWorld) loc.getWorld()).getHandle();
  35.       EntityWitherSkull skull = new EntityWitherSkull(world);
  36.       skull.setLocation(loc.getX(), loc.getY() + 1 + 55, loc.getZ(), 0, 0);
  37.       ((CraftWorld) loc.getWorld()).getHandle().addEntity(skull);
  38.      
  39.       Item item = loc.getWorld().dropItem(loc, new ItemStack(mater));
  40.       item.setPickupDelay(Integer.MAX_VALUE);
  41.       loc.getWorld().getEntities().get(skull.getId()).setPassenger(item);
  42.       if(!ids.containsKey(loc.getWorld().getEntities().get(skull.getId())) && !ids.containsValue(item)) {
  43.       ids.put(loc.getWorld().getEntities().get(skull.getId()), item);
  44.       }
  45.       }
  46.   }
  47.  
  48.   public Location getLocation() {
  49.       return loc;
  50.   }
  51.  
  52.   public void setLocation(Location location) {
  53.       this.loc = location;
  54.   }
  55.  
  56.   public String getName() {
  57.       return name;
  58.   }
  59.  
  60.   public void setName(String name) {
  61.     this.name = name;
  62.   }
  63.  
  64.   public Material getMater() {
  65.       return mater;
  66.   }
  67.  
  68.   public void setMater(Material mater) {
  69.       this.mater = mater;
  70.   }
  71.  
  72.   public String getTag() {
  73.       return tag;
  74.   }
  75.  
  76.   public void setTag(String tag) {
  77.       this.tag = tag;
  78.   }
  79.  
  80.   public void destroy() {
  81.       for(Entry<Entity, Entity> entry : ids.entrySet()) {
  82.           entry.getKey().remove();
  83.           entry.getValue().remove();
  84.           ids.clear();
  85.           tag = null;
  86.           mater = null;
  87.           loc = null;
  88.           name = null;
  89.       }
  90.   }
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement