Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dev.acri.omegapet;
- import java.util.ArrayList;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.entity.ArmorStand;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.ItemFlag;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.SkullMeta;
- public class Pet {
- public static ArrayList<Pet> pets;
- public static final int DELAY = 16;
- private Player owner;
- private ArmorStand armorstand;
- private Location[] locations;
- private int pointer;
- private boolean isFilled;
- public Pet(Player owner) {
- System.out.println("setting up pet");
- this.owner = owner;
- this.locations = new Location[DELAY];
- this.pointer = 0;
- this.isFilled = false;
- init();
- System.out.println("adding pet");
- pets.add(this);
- System.out.println("added pet");
- }
- private void init() {
- System.out.println("init pet");
- this.armorstand = owner.getLocation().getWorld().spawn(owner.getLocation().clone().subtract(0, 1.4, 0), ArmorStand.class);
- this.armorstand.setBasePlate(false);
- this.armorstand.setArms(true);
- this.armorstand.setVisible(false);
- this.armorstand.setCanPickupItems(false);
- this.armorstand.setGravity(false);
- this.armorstand.setCustomNameVisible(true);
- this.armorstand.setCustomName("ยง6" + owner.getName());
- ItemStack it = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
- SkullMeta meta = (SkullMeta) it.getItemMeta();
- meta.setDisplayName("ยง6" + owner.getName());
- meta.addItemFlags(ItemFlag.values());
- meta.setOwner(owner.getName());
- it.setItemMeta(meta);
- this.armorstand.setHelmet(it);
- System.out.println("pet inited!!");
- }
- public void removePet() {
- System.out.println("removing old pet");
- pets.remove(this);
- locations = null;
- owner = null;
- armorstand.remove();
- armorstand = null;
- }
- public Player getOwner() {
- return owner;
- }
- public ArmorStand getArmorstand() {
- return armorstand;
- }
- public Location[] getLocations() {
- return locations;
- }
- public int getPointer() {
- return pointer;
- }
- public void setPointer(int pointer) {
- this.pointer = pointer;
- }
- public boolean isFilled() {
- return isFilled;
- }
- public void setFilled(boolean isFilled) {
- this.isFilled = isFilled;
- }
- public static void loadPets() {
- Pet.pets = new ArrayList<Pet>();
- }
- public static Pet getPet(Player owner) {
- for(Pet p : Pet.pets) {
- if(p.getOwner().equals(owner))
- return p;
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement