@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;
}
}
java类org.bukkit.inventory.ItemStack的实例源码
CraftStorage.java 文件源码
项目:CaulCrafting
阅读 33
收藏 0
点赞 0
评论 0
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);
}