java类org.bukkit.inventory.ItemStack的实例源码

CraftStorage.java 文件源码 项目:CaulCrafting 阅读 33 收藏 0 点赞 0 评论 0
@SuppressWarnings("unchecked")
public ArrayList<CraftArray> getCrafts(){
    ArrayList<CraftArray> craftlist = new ArrayList<CraftArray>();
    try {
        File craftfile = new File(plugin.getDataFolder(), "crafts.yml");
        craftfile.createNewFile();
        FileConfiguration craftconfig = YamlConfiguration.loadConfiguration(craftfile);
        if(craftconfig.isSet("Crafts")) {
            for(String craftpath : craftconfig.getConfigurationSection("Crafts").getKeys(false)) {
                craftpath = "Crafts." + craftpath;
                ArrayList<ItemStack> config_craft = (ArrayList<ItemStack>) craftconfig.getList(craftpath + ".craft");
                ArrayList<ItemStack> config_resultitems = (ArrayList<ItemStack>) craftconfig.getList(craftpath + ".result.items");
                ArrayList<Integer> config_resultprobs = (ArrayList<Integer>) craftconfig.getIntegerList(craftpath + ".result.probs");
                HashMap<ItemStack,Integer> config_result = new HashMap<ItemStack, Integer>();
                for(ItemStack resultitem : config_resultitems) {
                    config_result.put(resultitem, config_resultprobs.get(config_resultitems.indexOf(resultitem)));
                }
                ArrayList<String> config_cmds = (ArrayList<String>) craftconfig.getStringList(craftpath + ".cmds");
                boolean config_redstonepower = craftconfig.getBoolean(craftpath + ".redstonepower");
                int config_experience = craftconfig.getInt(craftpath + ".experience");
                CraftArray specraft = new CraftArray(config_craft, config_result, config_cmds, config_redstonepower, config_experience);
                craftlist.add(specraft);
            }
            return craftlist;
        } else {
            return craftlist;
        }
    } catch (Exception e) {
        e.printStackTrace();
        return craftlist;
    }
   }
BasicElement.java 文件源码 项目:black 阅读 19 收藏 0 点赞 0 评论 0
private ItemStack encrypted(ItemStack itemStack, String textToEncrypt) {
    final ItemMeta itemMeta = itemStack.getItemMeta();
    final List<String> lore = itemMeta.getLore() != null
        ? itemMeta.getLore()
        : new ArrayList<String>();
    lore.add(encrypted(textToEncrypt));
    itemMeta.setLore(lore);

    final ItemStack encryptedItemStack = itemStack.clone();
    encryptedItemStack.setItemMeta(itemMeta);
    return encryptedItemStack;
}
PacketUtil.java 文件源码 项目:Kineticraft 阅读 20 收藏 0 点赞 0 评论 0
/**
 * Force open a book for the given player.
 * @param player
 * @param book
 */
public static void openBook(Player player, ItemStack book) {
    ItemStack saved = player.getEquipment().getItemInMainHand();
    player.getEquipment().setItemInMainHand(book); // Change hand item to book.

    PacketDataSerializer pds = new PacketDataSerializer(Unpooled.buffer());
    pds.a(EnumHand.MAIN_HAND);
    sendPacket(player, new PacketPlayOutCustomPayload("MC|BOpen", pds));

    player.getEquipment().setItemInMainHand(saved); // Restore hand item.
}
WaterBowl.java 文件源码 项目:SurvivalPlus 阅读 24 收藏 0 点赞 0 评论 0
@EventHandler
public void onDrop(ItemSpawnEvent event)
{
    if(event.isCancelled()) return;
    final Item itemDrop = event.getEntity();
    if(itemDrop.getItemStack().getType() == Material.BOWL)
    {
        final Runnable task = new Runnable()
        {
            public void run()
            {
                if(itemDrop.getItemStack().getAmount() != 1) return;
                Location itemLocation = itemDrop.getLocation();
                if(itemLocation.getBlock().getType() == Material.WATER || itemLocation.getBlock().getType() == Material.STATIONARY_WATER)
                {
                    itemDrop.remove();

                    ItemStack i_beetroot = new ItemStack(Material.BEETROOT_SOUP, 1);
                    ItemMeta beetrootMeta= i_beetroot.getItemMeta();
                    beetrootMeta.setDisplayName(ChatColor.RESET + Survival.instance.Words.get("Water Bowl"));
                    i_beetroot.setItemMeta(beetrootMeta);

                    itemDrop.getWorld().dropItem(itemLocation, i_beetroot);
                }
            }
        };

        Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Survival.instance, task, 20L);
    }
}
UtilItem.java 文件源码 项目:OnlineChecker-Spigot-SQL-Support 阅读 26 收藏 0 点赞 0 评论 0
public static ItemStack rename(ItemStack i, String name) {

    ItemMeta meta = i.getItemMeta();
    meta.setDisplayName(name);
    i.setItemMeta(meta);
    return i;
}
PetManager.java 文件源码 项目:RPGInventory 阅读 25 收藏 0 点赞 0 评论 0
public static ItemStack toPetItem(ItemStack item) {
    List<String> itemLore = item.getItemMeta().getLore();
    for (PetType petType : PETS.values()) {
        List<String> petItemLore = petType.getSpawnItem().getItemMeta().getLore();
        if (itemLore.equals(petItemLore)) {
            return petType.getSpawnItem();
        }
    }

    return item;
}
ItemStacks.java 文件源码 项目:SaveableSerializing 阅读 22 收藏 0 点赞 0 评论 0
public ItemStacks(ItemStack sta){
    meta = new DefaultMeta(sta.getItemMeta());
    id = sta.getTypeId();
    durability = sta.getDurability();
    amount = sta.getAmount();
    array = new EnchantArray(sta);

}
CasterCommands.java 文件源码 项目:MystiCraft 阅读 21 收藏 0 点赞 0 评论 0
@Command(label = "bind", description = "Binds a spell to a wand in your hand", usage = "/bind <spell> <left|right>")
@Arguments(args = { @Argument(label = "spell", type = ArgumentType.STRING, required = true),
        @Argument(label = "hand", type = ArgumentType.OPTION, required = true, options = { "left", "right" }) })
public static boolean bindSpellCommand(CommandContext ctx) {
    if (!ctx.isPlayer()) {
        ctx.getSender().sendMessage(ChatColor.RED + "Only in-game players can bind spells");
        return true;
    }
    String spell = ctx.getParamater("spell").toString().toLowerCase();
    Caster caster = MystiCraft.getCasterManager().getCaster(ctx.getPlayer());
    if (MystiCraft.getSpellManager().getSpell(spell) != null && caster.getKnowledge().isSpellKnown(spell)) {
        ItemStack item = null;
        Wand wand = null;
        if (ctx.getParamater("hand").equals("right")) {
            item = ctx.getPlayer().getInventory().getItemInMainHand();
        } else if (ctx.getParamater("hand").equals("left")) {
            item = ctx.getPlayer().getInventory().getItemInOffHand();
        }
        if ((wand = MystiCraft.getWandManager().getWand(item)) != null) {
            wand.bind(item, spell);
        } else {
            ctx.getPlayer().sendMessage(ChatColor.RED + "The item in your " + ctx.getParamater("hand") + " hand is not a wand");
        }
    } else {
        ctx.getPlayer().sendMessage(ChatColor.RED + "You do not know " + spell);
    }
    return true;
}
VanillaPipeUDModel.java 文件源码 项目:Transport-Pipes 阅读 22 收藏 0 点赞 0 评论 0
private List<ArmorStandData> createIceASD() {
    List<ArmorStandData> asds = new ArrayList<>();
    ItemStack block = ITEM_ICE_BLOCK;

    asds.add(new ArmorStandData(new RelLoc(0.05f + 1.3f, -1.3f, 0.5f - 0.25f), new Vector(1, 0, 1), false, null, ITEM_BLAZE, new Vector(0f, 0f, 0f), new Vector(-10f, 90f, 90f)));
    asds.add(new ArmorStandData(new RelLoc(0.05f + 0.8f, -1.3f, 0.5f - 0.75f), new Vector(1, 0, 1), false, null, ITEM_BLAZE, new Vector(0f, 0f, 0f), new Vector(-10f, 90f, 90f)));
    asds.add(new ArmorStandData(new RelLoc(0.05f + 1.2f, -1.3f, 0.5f + 0.4f), new Vector(-1, 0, 1), false, null, ITEM_BLAZE, new Vector(0f, 0f, 0f), new Vector(-10f, 90f, 90f)));
    asds.add(new ArmorStandData(new RelLoc(0.05f + 0.74f, -1.3f, 0.5f + 0.84f), new Vector(-1, 0, 1), false, null, ITEM_BLAZE, new Vector(0f, 0f, 0f), new Vector(-10f, 90f, 90f)));
    asds.add(new ArmorStandData(new RelLoc(0.5f, -0.675f, 0.5f), new Vector(1, 0, 0), true, block, null, new Vector(0f, 0f, 0f), new Vector(0f, 0f, 0f)));
    asds.add(new ArmorStandData(new RelLoc(0.5f, -0.175f, 0.5f), new Vector(1, 0, 0), true, block, null, new Vector(0f, 0f, 0f), new Vector(0f, 0f, 0f)));

    return asds;

}
RuneListener.java 文件源码 项目:AsgardAscension 阅读 26 收藏 0 点赞 0 评论 0
@EventHandler
public void onRuneUse(PlayerInteractEvent event) {
    if(!(event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK))) {
        return;
    }

    if(event.getHand() == null || !event.getHand().equals(EquipmentSlot.HAND)) {
        return;
    }

    ItemStack item = event.getPlayer().getInventory().getItemInMainHand();
    if(item == null || item.getItemMeta() == null || !item.getType().equals(Material.ENCHANTED_BOOK)) {
        return;
    }

    Player player = event.getPlayer();
    Rune rune = plugin.getRuneManager().getRune(item.getItemMeta().getDisplayName().substring(2));
    if(rune == null) {
        return;
    }

    event.setCancelled(true);

    if(plugin.getRuneManager().hasActiveRune(player)) {
        player.sendMessage(Lang.HEADERS_TOKENS.toString() + Lang.TOKENS_RUNE_ALREADY_ACTIVE.toString());
        return;
    }

    if(Cooldowns.getCooldown(player, "rune") > 0) {
        player.sendMessage(Lang.HEADERS_TOKENS.toString() + Lang.TOKENS_RUNE_COOLDOWN.toString()
            .replaceAll("%d", Convert.timeToString((int) (Cooldowns.getCooldown(player, "rune") / 1000))));
        return;
    }

    plugin.getRuneManager().start(player, rune);
}


问题


面经


文章

微信
公众号

扫码关注公众号