Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.belka.skin;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Map.Entry;
- import net.minecraft.server.v1_7_R3.EntityWitherSkull;
- import net.minecraft.server.v1_7_R3.WorldServer;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.craftbukkit.v1_7_R3.CraftWorld;
- import org.bukkit.entity.Entity;
- import org.bukkit.entity.Item;
- import org.bukkit.inventory.ItemStack;
- public class FloatingItem {
- private String tag;
- private Material mater;
- private Location loc;
- private String name;
- private Map<Entity, Entity> ids = new HashMap<>();
- public FloatingItem(Location loc, String name, Material mater, String tag) {
- this.mater = mater;
- this.tag = tag;
- this.name = name;
- this.loc = loc;
- }
- public void show() {
- if(ids.isEmpty()) {
- WorldServer world = ((CraftWorld) loc.getWorld()).getHandle();
- EntityWitherSkull skull = new EntityWitherSkull(world);
- skull.setLocation(loc.getX(), loc.getY() + 1 + 55, loc.getZ(), 0, 0);
- ((CraftWorld) loc.getWorld()).getHandle().addEntity(skull);
- Item item = loc.getWorld().dropItem(loc, new ItemStack(mater));
- item.setPickupDelay(Integer.MAX_VALUE);
- loc.getWorld().getEntities().get(skull.getId()).setPassenger(item);
- if(!ids.containsKey(loc.getWorld().getEntities().get(skull.getId())) && !ids.containsValue(item)) {
- ids.put(loc.getWorld().getEntities().get(skull.getId()), item);
- }
- }
- }
- public Location getLocation() {
- return loc;
- }
- public void setLocation(Location location) {
- this.loc = location;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Material getMater() {
- return mater;
- }
- public void setMater(Material mater) {
- this.mater = mater;
- }
- public String getTag() {
- return tag;
- }
- public void setTag(String tag) {
- this.tag = tag;
- }
- public void destroy() {
- for(Entry<Entity, Entity> entry : ids.entrySet()) {
- entry.getKey().remove();
- entry.getValue().remove();
- ids.clear();
- tag = null;
- mater = null;
- loc = null;
- name = null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement