Search in sources :

Example 11 with net.minecraft.server.v1_12_R1

use of net.minecraft.server.v1_12_R1 in project MyPet by xXKeyleXx.

the class PlatformHelper method applyTagToEntity.

@Override
public void applyTagToEntity(TagCompound tag, Entity bukkitEntity) {
    net.minecraft.server.v1_12_R1.Entity entity = ((CraftEntity) bukkitEntity).getHandle();
    NBTTagCompound vanillaNBT = (NBTTagCompound) ItemStackNBTConverter.compoundToVanillaCompound(tag);
    // Just a temporary fix until I come up with a better solution
    if (bukkitEntity instanceof Villager) {
        EntityVillager villager = (EntityVillager) entity;
        villager.setProfession(vanillaNBT.getInt("Profession"));
        villager.riches = vanillaNBT.getInt("Riches");
        ReflectionUtil.setFieldValue("bK", villager, vanillaNBT.getInt("Career"));
        ReflectionUtil.setFieldValue("bL", villager, vanillaNBT.getInt("CareerLevel"));
        ReflectionUtil.setFieldValue("bH", villager, vanillaNBT.getBoolean("Willing"));
        if (vanillaNBT.hasKeyOfType("Offers", 10)) {
            NBTTagCompound nbttaglist = vanillaNBT.getCompound("Offers");
            ReflectionUtil.setFieldValue("trades", villager, new MerchantRecipeList(nbttaglist));
        }
        NBTTagList invTag = vanillaNBT.getList("Inventory", 10);
        for (int i = 0; i < invTag.size(); ++i) {
            ItemStack itemstack = new ItemStack(invTag.get(i));
            villager.inventory.a(itemstack);
        }
        villager.m(true);
        if (villager.isBaby()) {
            villager.goalSelector.a(8, new PathfinderGoalPlay(villager, 0.32D));
        } else if (villager.getProfession() == 0) {
            villager.goalSelector.a(6, new PathfinderGoalVillagerFarm(villager, 0.6D));
        }
    }
// can not be used in 1.10
// entity.f(vanillaNBT);
}
Also used : CraftEntity(org.bukkit.craftbukkit.v1_12_R1.entity.CraftEntity) Villager(org.bukkit.entity.Villager) net.minecraft.server.v1_12_R1(net.minecraft.server.v1_12_R1) CraftItemStack(org.bukkit.craftbukkit.v1_12_R1.inventory.CraftItemStack)

Example 12 with net.minecraft.server.v1_12_R1

use of net.minecraft.server.v1_12_R1 in project solinia3-core by mixxit.

the class ItemStackAdapter method Adapt.

public static ItemStack Adapt(ISoliniaItem soliniaItem) {
    ItemStack stack = new ItemStack(Material.valueOf(soliniaItem.getBasename().toUpperCase()), 1, soliniaItem.getColor());
    if (soliniaItem.getDamage() > 0) {
        if (soliniaItem.getBasename().equals("WOOD_SWORD") || soliniaItem.getBasename().equals("STONE_SWORD") || soliniaItem.getBasename().equals("IRON_SWORD") || soliniaItem.getBasename().equals("GOLD_SWORD") || soliniaItem.getBasename().equals("DIAMOND_SWORD") || soliniaItem.getBasename().equals("WOOD_AXE") || soliniaItem.getBasename().equals("STONE_AXE") || soliniaItem.getBasename().equals("IRON_AXE") || soliniaItem.getBasename().equals("GOLD_AXE") || soliniaItem.getBasename().equals("DIAMOND_AXE") || soliniaItem.getBasename().equals("WOOD_SPADE") || soliniaItem.getBasename().equals("STONE_SPADE") || soliniaItem.getBasename().equals("IRON_SPADE") || soliniaItem.getBasename().equals("GOLD_SPADE") || soliniaItem.getBasename().equals("DIAMOND_SPADE")) {
            net.minecraft.server.v1_12_R1.ItemStack nmsStack = CraftItemStack.asNMSCopy(stack);
            NBTTagCompound compound = (nmsStack.hasTag()) ? nmsStack.getTag() : new NBTTagCompound();
            NBTTagList modifiers = new NBTTagList();
            NBTTagCompound damagecompound = new NBTTagCompound();
            damagecompound.set("AttributeName", new NBTTagString("generic.attackDamage"));
            damagecompound.set("Name", new NBTTagString("generic.attackDamage"));
            damagecompound.set("Amount", new NBTTagInt(soliniaItem.getDamage()));
            damagecompound.set("Operation", new NBTTagInt(0));
            damagecompound.set("UUIDLeast", new NBTTagInt(894654));
            damagecompound.set("UUIDMost", new NBTTagInt(2872));
            damagecompound.set("Slot", new NBTTagString("mainhand"));
            modifiers.add(damagecompound);
            compound.set("AttributeModifiers", modifiers);
            nmsStack.setTag(compound);
            stack = CraftItemStack.asBukkitCopy(nmsStack);
        }
    }
    ItemMeta i = stack.getItemMeta();
    if (soliniaItem.getBasename().equals("POTION") || soliniaItem.getBasename().equals("SPLASH_POTION") || soliniaItem.getBasename().equals("LINGERING_POTION")) {
        i = (PotionMeta) stack.getItemMeta();
        PotionData data = new PotionData(PotionType.INSTANT_HEAL);
        ((PotionMeta) i).setBasePotionData(data);
    }
    if (soliniaItem.getTexturebase64() != null && !soliniaItem.getTexturebase64().equals("") && soliniaItem.getBasename().equals("SKULL_ITEM")) {
        UUID skinuuid = getUUIDFromString(soliniaItem.getTexturebase64());
        i = buildSkull((SkullMeta) i, skinuuid, soliniaItem.getTexturebase64(), null);
    }
    i.setUnbreakable(true);
    i.setDisplayName(soliniaItem.getDisplayname());
    List<String> loretxt = new ArrayList<String>();
    if (soliniaItem.getLore() != null) {
        String[] lorestr = soliniaItem.getLore().split("(?<=\\G.{34})");
        loretxt.addAll(Arrays.asList(lorestr));
    }
    if (soliniaItem.isArtifact() == true) {
        loretxt.add(ChatColor.GREEN + "This item is a unique artifact!" + ChatColor.RESET);
    }
    if (soliniaItem.isQuest() == true) {
        loretxt.add(ChatColor.YELLOW + "This item is part of a quest line" + ChatColor.RESET);
    }
    if (soliniaItem.isCrafting() == true) {
        loretxt.add(ChatColor.GOLD + "This looks like it could be crafted" + ChatColor.RESET);
        loretxt.add(ChatColor.GOLD + "into something useful" + ChatColor.RESET);
    }
    if (soliniaItem.isExperienceBonus() == true) {
        loretxt.add(ChatColor.GOLD + "Grant XP Experience!" + ChatColor.RESET);
    }
    if (soliniaItem.isFingersItem()) {
        loretxt.add(ChatColor.AQUA + "/EQUIP : FINGERS" + ChatColor.RESET);
    }
    if (soliniaItem.isNeckItem()) {
        loretxt.add(ChatColor.AQUA + "/EQUIP : NECK" + ChatColor.RESET);
    }
    if (soliniaItem.isShouldersItem()) {
        loretxt.add(ChatColor.AQUA + "/EQUIP : SHOULDERS" + ChatColor.RESET);
    }
    if (soliniaItem.isAugmentation() == true) {
        loretxt.add(ChatColor.AQUA + "This looks like it could augment " + ChatColor.RESET);
        loretxt.add(ChatColor.AQUA + "weapon or armour" + ChatColor.RESET);
        loretxt.add(ChatColor.AQUA + "Augments Item Slots: " + soliniaItem.getAugmentationFitsSlotType().name() + ChatColor.RESET);
    }
    if (soliniaItem.getDamage() > 0) {
        if (soliniaItem.getBasename().equals("BOW")) {
            loretxt.add("Modifies Arrow Dmg: " + ChatColor.GREEN + soliniaItem.getDamage() + ChatColor.RESET);
        }
    }
    if (soliniaItem.getBaneUndead() > 0) {
        loretxt.add("Bane UNDEAD: " + ChatColor.GREEN + soliniaItem.getBaneUndead() + ChatColor.RESET);
    }
    if (soliniaItem.getAC() > 0) {
        loretxt.add("Armour Class: " + ChatColor.GREEN + soliniaItem.getAC() + ChatColor.RESET);
    }
    String classtxt = "";
    if (soliniaItem.getAllowedClassNames().size() > 0) {
        classtxt = "Usable By: ";
        for (String classname : soliniaItem.getAllowedClassNames()) {
            classtxt += ChatColor.YELLOW + classname + ChatColor.RESET + " ";
        }
    }
    if (!classtxt.equals("")) {
        loretxt.add(classtxt);
    }
    if (soliniaItem.getMinLevel() > 0) {
        loretxt.add("Minimum Level: " + ChatColor.YELLOW + soliniaItem.getMinLevel() + ChatColor.RESET);
    }
    String stattxt = "";
    if (soliniaItem.getStrength() > 0) {
        stattxt = "STR: " + ChatColor.GREEN + soliniaItem.getStrength() + ChatColor.RESET + " ";
    }
    if (soliniaItem.getStamina() > 0) {
        stattxt += "STA: " + ChatColor.GREEN + soliniaItem.getStamina() + ChatColor.RESET + " ";
    }
    if (soliniaItem.getAgility() > 0) {
        stattxt += "AGI: " + ChatColor.GREEN + soliniaItem.getAgility() + ChatColor.RESET + " ";
    }
    if (!stattxt.equals("")) {
        loretxt.add(stattxt);
    }
    stattxt = "";
    if (soliniaItem.getDexterity() > 0) {
        stattxt = "DEX: " + ChatColor.GREEN + soliniaItem.getDexterity() + ChatColor.RESET + " ";
    }
    if (soliniaItem.getIntelligence() > 0) {
        stattxt += "INT: " + ChatColor.GREEN + soliniaItem.getIntelligence() + ChatColor.RESET + " ";
    }
    if (soliniaItem.getWisdom() > 0) {
        stattxt += "WIS: " + ChatColor.GREEN + soliniaItem.getWisdom() + ChatColor.RESET + " ";
    }
    if (soliniaItem.getCharisma() > 0) {
        stattxt += "CHA: " + ChatColor.GREEN + soliniaItem.getCharisma() + ChatColor.RESET + " ";
    }
    if (!stattxt.equals("")) {
        loretxt.add(stattxt);
    }
    String resisttxt = "";
    if (soliniaItem.getFireResist() > 0) {
        resisttxt += "FR: " + ChatColor.AQUA + soliniaItem.getFireResist() + ChatColor.RESET + " ";
    }
    if (soliniaItem.getColdResist() > 0) {
        resisttxt += "CR: " + ChatColor.AQUA + soliniaItem.getColdResist() + ChatColor.RESET + " ";
    }
    if (soliniaItem.getMagicResist() > 0) {
        resisttxt += "MR: " + ChatColor.AQUA + soliniaItem.getMagicResist() + ChatColor.RESET + " ";
    }
    if (soliniaItem.getPoisonResist() > 0) {
        resisttxt += "PR: " + ChatColor.AQUA + soliniaItem.getPoisonResist() + ChatColor.RESET + " ";
    }
    if (!resisttxt.equals("")) {
        loretxt.add(resisttxt);
    }
    String regentxt = "";
    if (soliniaItem.getHpregen() > 0 || soliniaItem.getMpregen() > 0) {
        if (soliniaItem.getHpregen() > 0) {
            regentxt = ChatColor.WHITE + "HPRegen: " + ChatColor.YELLOW + soliniaItem.getHpregen() + ChatColor.RESET;
        }
        if (soliniaItem.getMpregen() > 0) {
            if (!regentxt.equals(""))
                regentxt += " ";
            regentxt += ChatColor.WHITE + "MPRegen: " + ChatColor.YELLOW + soliniaItem.getMpregen() + ChatColor.RESET;
        }
    }
    if (!(soliniaItem.getSkillModType().equals(SkillType.None))) {
        loretxt.add(ChatColor.WHITE + "Modifies skill checks for: " + ChatColor.YELLOW + soliniaItem.getSkillModType().toString() + "  +(" + soliniaItem.getSkillModValue() + ")" + ChatColor.RESET);
    }
    if (!(soliniaItem.getSkillModType2().equals(SkillType.None))) {
        loretxt.add(ChatColor.WHITE + "Modifies skill checks for: " + ChatColor.YELLOW + soliniaItem.getSkillModType2().toString() + "  +(" + soliniaItem.getSkillModValue2() + ")" + ChatColor.RESET);
    }
    if (!(soliniaItem.getSkillModType3().equals(SkillType.None))) {
        loretxt.add(ChatColor.WHITE + "Modifies skill checks for: " + ChatColor.YELLOW + soliniaItem.getSkillModType3().toString() + "  +(" + soliniaItem.getSkillModValue3() + ")" + ChatColor.RESET);
    }
    if (!(soliniaItem.getSkillModType4().equals(SkillType.None))) {
        loretxt.add(ChatColor.WHITE + "Modifies skill checks for: " + ChatColor.YELLOW + soliniaItem.getSkillModType4().toString() + "  +(" + soliniaItem.getSkillModValue4() + ")" + ChatColor.RESET);
    }
    if (!(soliniaItem.getAcceptsAugmentationSlotType().equals(AugmentationSlotType.NONE))) {
        loretxt.add(ChatColor.WHITE + "Augmentation Slot Types: " + ChatColor.YELLOW + soliniaItem.getAcceptsAugmentationSlotType().name() + ChatColor.RESET);
    }
    if (!regentxt.equals("")) {
        loretxt.add(regentxt);
    }
    String hpmanatxt = "";
    if (soliniaItem.getHp() > 0 || soliniaItem.getMana() > 0) {
        if (soliniaItem.getHp() > 0) {
            hpmanatxt = ChatColor.WHITE + "HP: " + ChatColor.YELLOW + soliniaItem.getHp() + ChatColor.RESET;
        }
        if (soliniaItem.getMana() > 0) {
            if (!hpmanatxt.equals(""))
                hpmanatxt += " ";
            hpmanatxt += ChatColor.WHITE + "Mana: " + ChatColor.YELLOW + soliniaItem.getMana() + ChatColor.RESET;
        }
    }
    if (!hpmanatxt.equals("")) {
        loretxt.add(hpmanatxt);
    }
    if (soliniaItem.getAbilityid() > 0 && soliniaItem.isSpellscroll()) {
        loretxt.addAll(generateSpellLoreText(soliniaItem));
    }
    if (soliniaItem.getAbilityid() > 0 && !soliniaItem.isSpellscroll()) {
        loretxt.addAll(generateConsumableAbilityLoreText(soliniaItem));
    }
    if (soliniaItem.getWeaponabilityid() > 0 && !soliniaItem.isSpellscroll()) {
        loretxt.addAll(generateWeaponAbilityLoreText(soliniaItem));
    }
    loretxt.add("Discovered By: " + soliniaItem.getDiscoverer());
    if (soliniaItem.getWorth() > 0) {
        loretxt.add(ChatColor.WHITE + "Worth: " + ChatColor.YELLOW + soliniaItem.getWorth() + ChatColor.RESET);
    }
    if (soliniaItem.isTemporary()) {
        loretxt.add("Temporary: " + StateManager.getInstance().getInstanceGuid());
    }
    i.setLore(loretxt);
    stack.setItemMeta(i);
    stack.addUnsafeEnchantment(Enchantment.DURABILITY, 1000 + soliniaItem.getId());
    if (soliniaItem.getEnchantment1() != null) {
        if (soliniaItem.getEnchantment1val() > 0) {
            try {
                Enchantment enchantment = Utils.getEnchantmentFromEnchantmentName(soliniaItem.getEnchantment1());
                stack.addUnsafeEnchantment(enchantment, soliniaItem.getEnchantment1val());
            } catch (Exception e) {
                System.out.println("WARNING: Invalid Enchantment Item on SoliniaItem: " + soliniaItem.getId());
            }
        }
    }
    if (soliniaItem.getEnchantment2() != null) {
        if (soliniaItem.getEnchantment2val() > 0) {
            try {
                Enchantment enchantment = Utils.getEnchantmentFromEnchantmentName(soliniaItem.getEnchantment2());
                stack.addUnsafeEnchantment(enchantment, soliniaItem.getEnchantment2val());
            } catch (Exception e) {
                System.out.println("WARNING: Invalid Enchantment Item on SoliniaItem: " + soliniaItem.getId());
            }
        }
    }
    if (soliniaItem.getEnchantment3() != null) {
        if (soliniaItem.getEnchantment3val() > 0) {
            try {
                Enchantment enchantment = Utils.getEnchantmentFromEnchantmentName(soliniaItem.getEnchantment3());
                stack.addUnsafeEnchantment(enchantment, soliniaItem.getEnchantment3val());
            } catch (Exception e) {
                System.out.println("WARNING: Invalid Enchantment Item on SoliniaItem: " + soliniaItem.getId());
            }
        }
    }
    if (soliniaItem.getEnchantment4() != null) {
        if (soliniaItem.getEnchantment4val() > 0) {
            try {
                Enchantment enchantment = Utils.getEnchantmentFromEnchantmentName(soliniaItem.getEnchantment4());
                stack.addUnsafeEnchantment(enchantment, soliniaItem.getEnchantment4val());
            } catch (Exception e) {
                System.out.println("WARNING: Invalid Enchantment Item on SoliniaItem: " + soliniaItem.getId());
            }
        }
    }
    if (soliniaItem.getTexturebase64() != null && !soliniaItem.getTexturebase64().equals("") && soliniaItem.getBasename().equals("SKULL_ITEM")) {
        stack.setDurability((short) 3);
    }
    return stack;
}
Also used : NBTTagInt(net.minecraft.server.v1_12_R1.NBTTagInt) NBTTagCompound(net.minecraft.server.v1_12_R1.NBTTagCompound) ArrayList(java.util.ArrayList) PotionMeta(org.bukkit.inventory.meta.PotionMeta) SkullMeta(org.bukkit.inventory.meta.SkullMeta) NBTTagString(net.minecraft.server.v1_12_R1.NBTTagString) CoreStateInitException(com.solinia.solinia.Exceptions.CoreStateInitException) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) NBTTagList(net.minecraft.server.v1_12_R1.NBTTagList) PotionData(org.bukkit.potion.PotionData) NBTTagString(net.minecraft.server.v1_12_R1.NBTTagString) CraftItemStack(org.bukkit.craftbukkit.v1_12_R1.inventory.CraftItemStack) ItemStack(org.bukkit.inventory.ItemStack) UUID(java.util.UUID) Enchantment(org.bukkit.enchantments.Enchantment) ItemMeta(org.bukkit.inventory.meta.ItemMeta)

Example 13 with net.minecraft.server.v1_12_R1

use of net.minecraft.server.v1_12_R1 in project solinia3-core by mixxit.

the class SoliniaItem method convertItemStackToJsonRegular.

private String convertItemStackToJsonRegular() {
    // First we convert the item stack into an NMS itemstack
    net.minecraft.server.v1_12_R1.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(asItemStack());
    NBTTagCompound compound = new NBTTagCompound();
    compound = nmsItemStack.save(compound);
    return compound.toString();
}
Also used : NBTTagCompound(net.minecraft.server.v1_12_R1.NBTTagCompound)

Example 14 with net.minecraft.server.v1_12_R1

use of net.minecraft.server.v1_12_R1 in project solinia3-core by mixxit.

the class ItemStackUtils method getWeaponDamage.

public static int getWeaponDamage(ItemStack itemStack) {
    if (isMeleeWeapon(itemStack)) {
        net.minecraft.server.v1_12_R1.ItemStack nmsStack = CraftItemStack.asNMSCopy(itemStack);
        NBTTagCompound compound = nmsStack.hasTag() ? nmsStack.getTag() : new NBTTagCompound();
        return compound.getCompound("generic.attackDamage").getInt("Amount");
    }
    return 0;
}
Also used : NBTTagCompound(net.minecraft.server.v1_12_R1.NBTTagCompound)

Example 15 with net.minecraft.server.v1_12_R1

use of net.minecraft.server.v1_12_R1 in project askyblock by tastybento.

the class NMSHandler method setBlockSuperFast.

@Override
public void setBlockSuperFast(Block b, int blockId, byte data, boolean applyPhysics) {
    net.minecraft.server.v1_12_R1.World w = ((CraftWorld) b.getWorld()).getHandle();
    net.minecraft.server.v1_12_R1.Chunk chunk = w.getChunkAt(b.getX() >> 4, b.getZ() >> 4);
    BlockPosition bp = new BlockPosition(b.getX(), b.getY(), b.getZ());
    int combined = blockId + (data << 12);
    IBlockData ibd = net.minecraft.server.v1_12_R1.Block.getByCombinedId(combined);
    if (applyPhysics) {
        w.setTypeAndData(bp, ibd, 3);
    } else {
        w.setTypeAndData(bp, ibd, 2);
    }
    chunk.a(bp, ibd);
}
Also used : IBlockData(net.minecraft.server.v1_12_R1.IBlockData) BlockPosition(net.minecraft.server.v1_12_R1.BlockPosition) CraftWorld(org.bukkit.craftbukkit.v1_12_R1.CraftWorld)

Aggregations

NBTTagCompound (net.minecraft.server.v1_12_R1.NBTTagCompound)13 CraftItemStack (org.bukkit.craftbukkit.v1_12_R1.inventory.CraftItemStack)6 BlockPosition (net.minecraft.server.v1_12_R1.BlockPosition)5 NBTTagString (net.minecraft.server.v1_12_R1.NBTTagString)5 ItemStack (org.bukkit.inventory.ItemStack)5 CompoundTag (com.wasteofplastic.org.jnbt.CompoundTag)4 ListTag (com.wasteofplastic.org.jnbt.ListTag)4 StringTag (com.wasteofplastic.org.jnbt.StringTag)4 Tag (com.wasteofplastic.org.jnbt.Tag)4 HashMap (java.util.HashMap)4 Map (java.util.Map)4 CraftWorld (org.bukkit.craftbukkit.v1_12_R1.CraftWorld)4 CraftEntity (org.bukkit.craftbukkit.v1_12_R1.entity.CraftEntity)4 ArrayList (java.util.ArrayList)3 AxisAlignedBB (net.minecraft.server.v1_12_R1.AxisAlignedBB)3 NBTTagList (net.minecraft.server.v1_12_R1.NBTTagList)3 ItemMeta (org.bukkit.inventory.meta.ItemMeta)3 CoreStateInitException (com.solinia.solinia.Exceptions.CoreStateInitException)2 IBlockData (net.minecraft.server.v1_12_R1.IBlockData)2 TileEntityFlowerPot (net.minecraft.server.v1_12_R1.TileEntityFlowerPot)2