private static Rabbit.Type typeFromInt(int i){ switch(i){ case 1: return Rabbit.Type.BLACK; case 2: return Rabbit.Type.BLACK_AND_WHITE; case 3: return Rabbit.Type.BROWN; case 4: return Rabbit.Type.GOLD; case 5: return Rabbit.Type.SALT_AND_PEPPER; case 6: return Rabbit.Type.THE_KILLER_BUNNY; case 7: return Rabbit.Type.WHITE; default: break; } return Rabbit.Type.BLACK; }
/** * {@inheritDoc} */ public RabbitMenu(Plot plot, Rabbit rabbit) { super(plot, rabbit); //type ItemStack type = new ItemStack(Material.BONE); ItemMeta typeMeta = type.getItemMeta(); typeMeta.setDisplayName(ChatColor.GREEN + "Change type"); type.setItemMeta(typeMeta); insertItem(type, event -> { new RabbitTypeMenu(rabbit).open((Player) event.getWhoClicked()); event.setCancelled(true); }, 0); }
private boolean isPet(Entity entity) { if (entity instanceof ArmorStand) { final ArmorStand stand = (ArmorStand) entity; final int xidentifier = (int) stand.getBodyPose().getZ(); final int identifier = (int) stand.getRightArmPose().getX(); if (xidentifier == 2877 && identifier == 2877) { return true; } } else if (entity instanceof Rabbit && entity.getCustomName() != null && entity.getCustomName().equals("PetBlockIdentifier")) { return true; } return false; }
private boolean isDeadBall(Entity entity) { if (!this.isBall(entity)) { if (entity instanceof ArmorStand) { final ArmorStand stand = (ArmorStand) entity; final int xidentifier = (int) stand.getBodyPose().getZ(); final int identifier = (int) stand.getRightArmPose().getX(); if (xidentifier == 2777 && identifier == 2777) { return true; } } else if (entity instanceof Rabbit && entity.getCustomName() != null && entity.getCustomName().equals("MyBallsIdentifier")) { return true; } } return false; }
protected static Rabbit.Type fromMagic(int magicValue) { if (magicValue < INVERSE.length) { return INVERSE[magicValue]; } else if (magicValue == 99) { return Rabbit.Type.THE_KILLER_BUNNY; } // a default return Rabbit.Type.BROWN; }
protected static Rabbit.Type fromMagic(int magicValue){ if(magicValue < INVERSE.length){ return INVERSE[magicValue]; }else if(magicValue == 99){ return Rabbit.Type.THE_KILLER_BUNNY; } // a default return Rabbit.Type.BROWN; }
@Override public void onLoad() { add(Rabbit.Type.BROWN, "Brown", "BR"); add(Rabbit.Type.WHITE, "White", "WH", "W"); add(Rabbit.Type.BLACK, "Black", "BL", "B"); add(Rabbit.Type.BLACK_AND_WHITE, "Black and White", "BW", "Black White"); add(Rabbit.Type.GOLD, "Gold", "GO", "G"); add(Rabbit.Type.SALT_AND_PEPPER, "Salt and Pepper", "SP", "Salt", "Pepper", "Salt Pepper"); add(Rabbit.Type.THE_KILLER_BUNNY, "The Killer Bunny", "TKB", "KB", "K", "Killer", "Killer Bunny", "KillerB"); }
private static int intFromType(Rabbit.Type type){ int i = 0; switch(type){ case BLACK: i = 1; break; case BLACK_AND_WHITE: i = 2; break; case BROWN: i = 3; break; case GOLD: i = 4; break; case SALT_AND_PEPPER: i = 5; break; case THE_KILLER_BUNNY: i = 6; break; case WHITE: i = 7; break; default: break; } return i; }
private boolean isMonster(Entity entity) { if(entity instanceof Monster) return true; EntityType type = entity.getType(); if(type == EntityType.GHAST || type == EntityType.MAGMA_CUBE || type == EntityType.SHULKER) return true; if(type == EntityType.RABBIT) { Rabbit rabbit = (Rabbit)entity; if(rabbit.getRabbitType() == Rabbit.Type.THE_KILLER_BUNNY) return true; } return false; }
@Override public void rawset(LuaValue key, LuaValue value) { if (key.isstring()) { switch (key.checkjstring()) { case "type": getRabbitTrait().setRabbitType(ScriptUtil.enumValue(value, Rabbit.Type.class)); break; } } super.rawset(key, value); }
@EventHandler public void on(CreatureSpawnEvent event) { if (!(event.getEntity() instanceof Rabbit)) return; Rabbit rabbit = (Rabbit) event.getEntity(); // switch to a killer rabbit if (random.nextDouble() < .01D) rabbit.setRabbitType(Rabbit.Type.THE_KILLER_BUNNY); }
public RabbitAnimal(Entity entity) { PreCon.notNull(entity); PreCon.isValid(entity instanceof Rabbit, "org.bukkit.entity.Rabbit expected."); Rabbit rabbit = (Rabbit)entity; _type = rabbit.getRabbitType(); }
@Override public boolean apply(Entity entity) { PreCon.notNull(entity); PreCon.isValid(entity instanceof Rabbit, "org.bukkit.entity.Rabbit expected."); Rabbit rabbit = (Rabbit)entity; rabbit.setRabbitType(_type); return true; }
@Override public void deserialize(LoreMetaMap metaMap) { LoreMetaItem typeItem = metaMap.get("rabbit-type"); if (typeItem != null) _type = typeItem.enumValue(Rabbit.Type.class); }
@Override public Rabbit getMovementEntity() { return this.slime.getSpigotEntity(); }
Rabbit getSpigotEntity() { return (Rabbit) this.getBukkitEntity(); }
@Override public Rabbit.Type getRabbitType(){ return TypeMapping.fromMagic(this.datawatcher.get(TYPE)); }
@Override public void setRabbitType(Rabbit.Type type){ this.datawatcher.set(TYPE, TypeMapping.toMagic(type)); }
private static void set(Rabbit.Type type, int magicValue) { NMS_TYPES[type.ordinal()] = magicValue; if (magicValue < INVERSE.length) { INVERSE[magicValue] = type; } }
protected static int toMagic(Rabbit.Type type) { return NMS_TYPES[type.ordinal()]; }