Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.94 KB | None | 0 0
  1. package dev.acri.omegapet;
  2.  
  3. import java.util.ArrayList;
  4. import org.bukkit.Location;
  5. import org.bukkit.Material;
  6. import org.bukkit.entity.ArmorStand;
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.inventory.ItemFlag;
  9. import org.bukkit.inventory.ItemStack;
  10. import org.bukkit.inventory.meta.SkullMeta;
  11.  
  12. public class Pet {
  13.        
  14.     public static ArrayList<Pet> pets;
  15.     public static final int DELAY = 16;
  16.        
  17.     private Player owner;
  18.     private ArmorStand armorstand;
  19.     private Location[] locations;
  20.     private int pointer;
  21.     private boolean isFilled;
  22.    
  23.     public Pet(Player owner) {
  24.        
  25.         System.out.println("setting up pet");
  26.        
  27.         this.owner = owner;
  28.         this.locations = new Location[DELAY];
  29.         this.pointer = 0;
  30.         this.isFilled = false;
  31.        
  32.         init();
  33.        
  34.         System.out.println("adding pet");
  35.        
  36.         pets.add(this);
  37.        
  38.         System.out.println("added pet");
  39.        
  40.     }
  41.    
  42.     private void init() {
  43.        
  44.         System.out.println("init pet");
  45.        
  46.         this.armorstand = owner.getLocation().getWorld().spawn(owner.getLocation().clone().subtract(0, 1.4, 0), ArmorStand.class);
  47.        
  48.         this.armorstand.setBasePlate(false);
  49.         this.armorstand.setArms(true);
  50.         this.armorstand.setVisible(false);
  51.         this.armorstand.setCanPickupItems(false);
  52.         this.armorstand.setGravity(false);
  53.         this.armorstand.setCustomNameVisible(true);
  54.         this.armorstand.setCustomName("ยง6" + owner.getName());
  55.        
  56.         ItemStack it = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
  57.         SkullMeta meta = (SkullMeta) it.getItemMeta();
  58.         meta.setDisplayName("ยง6" + owner.getName());
  59.         meta.addItemFlags(ItemFlag.values());
  60.         meta.setOwner(owner.getName());
  61.         it.setItemMeta(meta);
  62.        
  63.         this.armorstand.setHelmet(it);
  64.        
  65.         System.out.println("pet inited!!");
  66.        
  67.     }
  68.    
  69.     public void removePet() {
  70.        
  71.         System.out.println("removing old pet");
  72.        
  73.         pets.remove(this);
  74.         locations = null;
  75.         owner = null;
  76.         armorstand.remove();
  77.         armorstand = null;
  78.        
  79.     }
  80.    
  81.     public Player getOwner() {
  82.         return owner;
  83.     }
  84.    
  85.     public ArmorStand getArmorstand() {
  86.         return armorstand;
  87.     }
  88.    
  89.     public Location[] getLocations() {
  90.         return locations;
  91.     }
  92.    
  93.     public int getPointer() {
  94.         return pointer;
  95.     }
  96.    
  97.     public void setPointer(int pointer) {
  98.         this.pointer = pointer;
  99.     }
  100.    
  101.     public boolean isFilled() {
  102.         return isFilled;
  103.     }
  104.    
  105.     public void setFilled(boolean isFilled) {
  106.         this.isFilled = isFilled;
  107.     }
  108.    
  109.     public static void loadPets() {
  110.         Pet.pets = new ArrayList<Pet>();
  111.     }
  112.  
  113.     public static Pet getPet(Player owner) {
  114.         for(Pet p : Pet.pets) {
  115.             if(p.getOwner().equals(owner))
  116.                 return p;
  117.         }
  118.         return null;
  119.     }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement