use of de.keyle.knbt.TagCompound in project MyPet by xXKeyleXx.
the class EntityConverterService method convertVillager.
public void convertVillager(Villager villager, TagCompound properties) {
int profession = villager.getProfession().ordinal();
properties.getCompoundData().put("Profession", new TagInt(profession));
TagCompound villagerTag = MyPetApi.getPlatformHelper().entityToTag(villager);
String[] allowedTags = { "Riches", "Career", "CareerLevel", "Willing", "Inventory", "Offers" };
Set<String> keys = new HashSet<>(villagerTag.getCompoundData().keySet());
for (String key : keys) {
if (Arrays.binarySearch(allowedTags, key) > -1) {
continue;
}
villagerTag.remove(key);
}
properties.getCompoundData().put("OriginalData", villagerTag);
}
use of de.keyle.knbt.TagCompound in project MyPet by xXKeyleXx.
the class EntityConverterService method convertEquipable.
public void convertEquipable(LivingEntity entity, TagCompound properties) {
List<TagCompound> equipmentList = new ArrayList<>();
if (random.nextFloat() <= entity.getEquipment().getChestplateDropChance()) {
ItemStack itemStack = entity.getEquipment().getChestplate();
if (itemStack != null && itemStack.getType() != Material.AIR) {
TagCompound item = MyPetApi.getPlatformHelper().itemStackToCompund(itemStack);
item.getCompoundData().put("Slot", new TagInt(EquipmentSlot.Chestplate.getSlotId()));
equipmentList.add(item);
}
}
if (random.nextFloat() <= entity.getEquipment().getHelmetDropChance()) {
ItemStack itemStack = entity.getEquipment().getHelmet();
if (itemStack != null && itemStack.getType() != Material.AIR) {
TagCompound item = MyPetApi.getPlatformHelper().itemStackToCompund(itemStack);
item.getCompoundData().put("Slot", new TagInt(EquipmentSlot.Helmet.getSlotId()));
equipmentList.add(item);
}
}
if (random.nextFloat() <= entity.getEquipment().getLeggingsDropChance()) {
ItemStack itemStack = entity.getEquipment().getLeggings();
if (itemStack != null && itemStack.getType() != Material.AIR) {
TagCompound item = MyPetApi.getPlatformHelper().itemStackToCompund(itemStack);
item.getCompoundData().put("Slot", new TagInt(EquipmentSlot.Leggins.getSlotId()));
equipmentList.add(item);
}
}
if (random.nextFloat() <= entity.getEquipment().getBootsDropChance()) {
ItemStack itemStack = entity.getEquipment().getBoots();
if (itemStack != null && itemStack.getType() != Material.AIR) {
TagCompound item = MyPetApi.getPlatformHelper().itemStackToCompund(itemStack);
item.getCompoundData().put("Slot", new TagInt(EquipmentSlot.Boots.getSlotId()));
equipmentList.add(item);
}
}
properties.getCompoundData().put("Equipment", new TagList(equipmentList));
}
use of de.keyle.knbt.TagCompound in project MyPet by xXKeyleXx.
the class EggIconService method updateIcon.
@Override
public void updateIcon(MyPetType type, IconMenuItem icon) {
icon.setMaterial(Material.MONSTER_EGG);
TagCompound entityTag = new TagCompound();
switch(type) {
case Bat:
entityTag.put("id", new TagString("Bat"));
break;
case Blaze:
entityTag.put("id", new TagString("Blaze"));
break;
case CaveSpider:
entityTag.put("id", new TagString("CaveSpider"));
break;
case Chicken:
entityTag.put("id", new TagString("Chicken"));
break;
case Cow:
entityTag.put("id", new TagString("Cow"));
break;
case Creeper:
entityTag.put("id", new TagString("Creeper"));
break;
case EnderDragon:
entityTag.put("id", new TagString("EnderDragon"));
break;
case Enderman:
entityTag.put("id", new TagString("Enderman"));
break;
case Endermite:
entityTag.put("id", new TagString("Endermite"));
break;
case Ghast:
entityTag.put("id", new TagString("Ghast"));
break;
case Giant:
entityTag.put("id", new TagString("Giant"));
break;
case Guardian:
entityTag.put("id", new TagString("Guardian"));
break;
case Horse:
entityTag.put("id", new TagString("EntityHorse"));
break;
case IronGolem:
entityTag.put("id", new TagString("VillagerGolem"));
icon.setGlowing(true);
break;
case MagmaCube:
entityTag.put("id", new TagString("LavaSlime"));
break;
case Mooshroom:
entityTag.put("id", new TagString("MushroomCow"));
break;
case Ocelot:
entityTag.put("id", new TagString("Ozelot"));
break;
case Pig:
entityTag.put("id", new TagString("pig"));
break;
case PigZombie:
entityTag.put("id", new TagString("PigZombie"));
break;
case PolarBear:
entityTag.put("id", new TagString("PolarBear"));
break;
case Rabbit:
entityTag.put("id", new TagString("Rabbit"));
break;
case Sheep:
entityTag.put("id", new TagString("Sheep"));
break;
case Silverfish:
entityTag.put("id", new TagString("Silverfish"));
break;
case Skeleton:
entityTag.put("id", new TagString("Skeleton"));
break;
case Slime:
entityTag.put("id", new TagString("Slime"));
break;
case Snowman:
entityTag.put("id", new TagString("Snowman"));
break;
case Spider:
entityTag.put("id", new TagString("Spider"));
break;
case Squid:
entityTag.put("id", new TagString("Squid"));
break;
case Witch:
entityTag.put("id", new TagString("Witch"));
break;
case Wither:
entityTag.put("id", new TagString("WitherBoss"));
icon.setGlowing(true);
break;
case Wolf:
entityTag.put("id", new TagString("Wolf"));
break;
case Villager:
entityTag.put("id", new TagString("Villager"));
break;
case Zombie:
entityTag.put("id", new TagString("Zombie"));
break;
}
icon.addTag("EntityTag", entityTag);
}
use of de.keyle.knbt.TagCompound in project MyPet by xXKeyleXx.
the class EntityConverterService method convertEquipable.
public void convertEquipable(LivingEntity entity, TagCompound properties) {
List<TagCompound> equipmentList = new ArrayList<>();
if (random.nextFloat() <= entity.getEquipment().getChestplateDropChance()) {
ItemStack itemStack = entity.getEquipment().getChestplate();
if (itemStack != null && itemStack.getType() != Material.AIR) {
TagCompound item = MyPetApi.getPlatformHelper().itemStackToCompund(itemStack);
item.getCompoundData().put("Slot", new TagInt(EquipmentSlot.Chestplate.getSlotId()));
equipmentList.add(item);
}
}
if (random.nextFloat() <= entity.getEquipment().getHelmetDropChance()) {
ItemStack itemStack = entity.getEquipment().getHelmet();
if (itemStack != null && itemStack.getType() != Material.AIR) {
TagCompound item = MyPetApi.getPlatformHelper().itemStackToCompund(itemStack);
item.getCompoundData().put("Slot", new TagInt(EquipmentSlot.Helmet.getSlotId()));
equipmentList.add(item);
}
}
if (random.nextFloat() <= entity.getEquipment().getLeggingsDropChance()) {
ItemStack itemStack = entity.getEquipment().getLeggings();
if (itemStack != null && itemStack.getType() != Material.AIR) {
TagCompound item = MyPetApi.getPlatformHelper().itemStackToCompund(itemStack);
item.getCompoundData().put("Slot", new TagInt(EquipmentSlot.Leggins.getSlotId()));
equipmentList.add(item);
}
}
if (random.nextFloat() <= entity.getEquipment().getBootsDropChance()) {
ItemStack itemStack = entity.getEquipment().getBoots();
if (itemStack != null && itemStack.getType() != Material.AIR) {
TagCompound item = MyPetApi.getPlatformHelper().itemStackToCompund(itemStack);
item.getCompoundData().put("Slot", new TagInt(EquipmentSlot.Boots.getSlotId()));
equipmentList.add(item);
}
}
properties.getCompoundData().put("Equipment", new TagList(equipmentList));
}
use of de.keyle.knbt.TagCompound in project MyPet by xXKeyleXx.
the class EntityConverterService method convertHorse.
public void convertHorse(Horse horse, TagCompound properties) {
byte type = (byte) horse.getVariant().ordinal();
int style = horse.getStyle().ordinal();
int color = horse.getColor().ordinal();
int variant = color & 255 | style << 8;
if (horse.getInventory().getArmor() != null) {
TagCompound armor = MyPetApi.getPlatformHelper().itemStackToCompund(horse.getInventory().getArmor());
properties.getCompoundData().put("Armor", armor);
}
if (horse.getInventory().getSaddle() != null) {
TagCompound saddle = MyPetApi.getPlatformHelper().itemStackToCompund(horse.getInventory().getSaddle());
properties.getCompoundData().put("Saddle", saddle);
}
properties.getCompoundData().put("Type", new TagByte(type));
properties.getCompoundData().put("Variant", new TagInt(variant));
properties.getCompoundData().put("Chest", new TagByte(horse.isCarryingChest()));
properties.getCompoundData().put("Age", new TagInt(horse.getAge()));
if (horse.isCarryingChest()) {
ItemStack[] contents = horse.getInventory().getContents();
for (int i = 2; i < contents.length; i++) {
ItemStack item = contents[i];
if (item != null) {
horse.getWorld().dropItem(horse.getLocation(), item);
}
}
}
}
Aggregations