當前位置: 首頁>>代碼示例>>Java>>正文


Java BookMeta類代碼示例

本文整理匯總了Java中org.bukkit.inventory.meta.BookMeta的典型用法代碼示例。如果您正苦於以下問題:Java BookMeta類的具體用法?Java BookMeta怎麽用?Java BookMeta使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


BookMeta類屬於org.bukkit.inventory.meta包,在下文中一共展示了BookMeta類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: handleEditBookEvent

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
public static void handleEditBookEvent(EntityPlayer player, ItemStack newBookItem) {
    int itemInHandIndex = player.inventory.itemInHandIndex;

    PlayerEditBookEvent editBookEvent = new PlayerEditBookEvent(player.getBukkitEntity(), player.inventory.itemInHandIndex, (BookMeta) CraftItemStack.getItemMeta(player.inventory.getItemInHand()), (BookMeta) CraftItemStack.getItemMeta(newBookItem), newBookItem.getItem() == Items.WRITTEN_BOOK);
    player.world.getServer().getPluginManager().callEvent(editBookEvent);
    ItemStack itemInHand = player.inventory.getItem(itemInHandIndex);

    // If they've got the same item in their hand, it'll need to be updated.
    if (itemInHand != null && itemInHand.getItem() == Items.BOOK_AND_QUILL) {
        if (!editBookEvent.isCancelled()) {
            CraftItemStack.setItemMeta(itemInHand, editBookEvent.getNewBookMeta());
            if (editBookEvent.isSigning()) {
                itemInHand.setItem(Items.WRITTEN_BOOK);
            }
        }

        // Client will have updated its idea of the book item; we need to overwrite that
        Slot slot = player.activeContainer.getSlot(player.inventory, itemInHandIndex);
        player.playerConnection.sendPacket(new PacketPlayOutSetSlot(player.activeContainer.windowId, slot.rawSlotIndex, itemInHand));
    }
}
 
開發者ID:OvercastNetwork,項目名稱:CraftBukkit,代碼行數:22,代碼來源:CraftEventFactory.java

示例2: serializeBookMeta

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
/**
 * Gets a JSONObject representation of a BookMeta. Book and Quills books will have a pages key, while
 * finished, written, books will also have an author and title key.
 *
 * @param meta The BookMeta to serialize
 * @return A JSON Representation of the give BookMeta
 */
public static JSONObject serializeBookMeta(BookMeta meta) {
    try {
        JSONObject root = new JSONObject();
        if (meta.hasTitle())
            root.put("title", meta.getTitle());
        if (meta.hasAuthor())
            root.put("author", meta.getAuthor());
        if (meta.hasPages()) {
            String[] pages = meta.getPages().toArray(new String[]{});
            root.put("pages", pages);
        }
        return root;
    } catch (JSONException e) {
        e.printStackTrace();
        return null;
    }
}
 
開發者ID:ThisIzEthan,項目名稱:NexusInventory,代碼行數:25,代碼來源:BookSerialization.java

示例3: handleEditBookEvent

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
public static void handleEditBookEvent(net.minecraft.entity.player.EntityPlayerMP player, net.minecraft.item.ItemStack newBookItem) {
    int itemInHandIndex = player.inventory.currentItem;

    PlayerEditBookEvent editBookEvent = new PlayerEditBookEvent(player.getBukkitEntity(), player.inventory.currentItem, (BookMeta) CraftItemStack.getItemMeta(player.inventory.getCurrentItem()), (BookMeta) CraftItemStack.getItemMeta(newBookItem), newBookItem.getItem() == net.minecraft.init.Items.written_book);
    player.worldObj.getServer().getPluginManager().callEvent(editBookEvent);
    net.minecraft.item.ItemStack itemInHand = player.inventory.getStackInSlot(itemInHandIndex);

    // If they've got the same item in their hand, it'll need to be updated.
    if (itemInHand != null && itemInHand.getItem() == net.minecraft.init.Items.writable_book) {
        if (!editBookEvent.isCancelled()) {
            CraftItemStack.setItemMeta(itemInHand, editBookEvent.getNewBookMeta());
            if (editBookEvent.isSigning()) {
                itemInHand.func_150996_a(net.minecraft.init.Items.written_book);
            }
        }

        // Client will have updated its idea of the book item; we need to overwrite that
        net.minecraft.inventory.Slot slot = player.openContainer.getSlotFromInventory((net.minecraft.inventory.IInventory) player.inventory, itemInHandIndex);
        player.playerNetServerHandler.sendPacket(new net.minecraft.network.play.server.S2FPacketSetSlot(player.openContainer.windowId, slot.slotNumber, itemInHand));
    }
}
 
開發者ID:UraniumMC,項目名稱:Uranium,代碼行數:22,代碼來源:CraftEventFactory.java

示例4: getSpellTome

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
public static ItemStack getSpellTome(String label, Player crafter) {
	ItemStack i = new ItemStack(MATERIAL);
	Spell spell = MystiCraft.getSpellManager().getSpell(label);
	BookMeta meta = (BookMeta)i.getItemMeta();
	meta.setDisplayName(DISPLAY_NAME + StringUtils.capitalize(label));
	if (crafter != null)
		meta.setAuthor(crafter.getName());
	else
		meta.setAuthor("unknown");
	meta.setGeneration(Generation.TATTERED);
	meta.setLore(Arrays.asList(new String[]{ChatColor.GRAY + spell.getDescription(), ChatColor.GRAY + "Mana Cost: " + spell.getManaCost()}));
	// TODO Add description
	meta.addPage("-------------------=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
	i.setItemMeta(meta);
	return i;
}
 
開發者ID:mcardy,項目名稱:MystiCraft,代碼行數:17,代碼來源:SpellTome.java

示例5: onPlayerInteract

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
    Player player = event.getPlayer();
    Location location = player.getLocation();
    ItemStack item = event.getItem();
    if (isBull(item) && event.getAction() == Action.RIGHT_CLICK_AIR | event.getAction() == Action.RIGHT_CLICK_BLOCK) {
        if (!FactionsXL.getInstance().getBoard().isAnnexable(location)) {
            ParsingUtil.sendMessage(player, FMessage.ERROR_LAND_NOT_FOR_SALE.getMessage());
            return;
        }
        FactionCache factions = FactionsXL.getInstance().getFactionCache();
        BookMeta meta = ((BookMeta) item.getItemMeta());
        String title = meta.getTitle().replace(" ", "-");
        if (factions.getByName(title) != null) {
            title += NumberUtil.generateRandomInt(0, 100);
        }
        FireworkUtil.spawnRandom(location);
        FactionsXL.getInstance().getFactionCache().create(player, title);
        player.getInventory().remove(item);
    }
}
 
開發者ID:DRE2N,項目名稱:FactionsXL,代碼行數:22,代碼來源:FBull.java

示例6: updateItem

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
@Override
public void updateItem() {

    if (getTitle() != null)
        getMeta().setTitle(getTitle());
    if (getAuthor() != null)
        getMeta().setAuthor(getAuthor());

    getMeta().setPages(new ArrayList<>()); // A book needs its page tag, so we'll default to an empty one.
    if (isWriteLines())// Save the book pages to the item.
        getMeta().pages.addAll(getPages().stream().map(TextBuilder::create)
                .map(TextUtils::toNMSComponent).collect(Collectors.toList()));

    if (getMeta().pages.isEmpty()) // Allow the book to be opened / editted.
        getMeta().addPage("");

    getMeta().setGeneration(BookMeta.Generation.TATTERED);
    this.page = 0; // Reset writer.
}
 
開發者ID:Kneesnap,項目名稱:Kineticraft,代碼行數:20,代碼來源:ItemBook.java

示例7: createBook

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
public static ItemStack createBook(String name, List<String> lore, String... pages) {
    ItemStack book = new ItemStack(Material.WRITTEN_BOOK);
    BookMeta meta = (BookMeta) book.getItemMeta();
    ItemMeta bookMeta = book.getItemMeta();

    bookMeta.setDisplayName(Utils.colorize(name));
    ArrayList<String> colorLore = new ArrayList<>();
    if (lore != null) lore.forEach(str -> colorLore.add(Utils.colorize(str)));
    bookMeta.setLore(colorLore);

    meta.addPage(pages);
    meta.setAuthor(Utils.colorize("&6ProjectAlpha"));

    book.setItemMeta(bookMeta);

    return book;
}
 
開發者ID:cadox8,項目名稱:PA,代碼行數:18,代碼來源:ItemUtil.java

示例8: parse

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
public static ItemMeta parse(Element xml, ItemMeta source) {
    if (source instanceof BannerMeta) {
        return parseBanner(xml, (BannerMeta) source);
    } else if (source instanceof BookMeta) {
        return parseBook(xml, (BookMeta) source);
    } else if (source instanceof EnchantmentStorageMeta) {
        return parseEnchantmentStorage(xml, (EnchantmentStorageMeta) source);
    } else if (source instanceof FireworkMeta) {
        return parseFirework(xml, (FireworkMeta) source);
    } else if (source instanceof FireworkEffectMeta) {
        return parseFireworkEffect(xml, (FireworkEffectMeta) source);
    } else if (source instanceof LeatherArmorMeta) {
        return parseLeatherArmor(xml, (LeatherArmorMeta) source);
    } else if (source instanceof MapMeta) {
        return parseMap(xml, (MapMeta) source);
    } else if (source instanceof PotionMeta) {
        return parsePotion(xml, (PotionMeta) source);
    } else if (source instanceof SkullMeta) {
        return parseSkull(xml, (SkullMeta) source);
    } else if (source instanceof SpawnEggMeta) {
        return parseSpawnEgg(xml, (SpawnEggMeta) source);
    }

    return source;
}
 
開發者ID:ShootGame,項目名稱:Arcade2,代碼行數:26,代碼來源:XMLItemMeta.java

示例9: parseBook

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
public static BookMeta parseBook(Element xml, BookMeta source) {
    Element book = xml.getChild("book");
    if (book != null) {
        Attribute author = book.getAttribute("author");
        if (author != null) {
            source.setAuthor(parseMessage(author.getValue()));
        }

        Attribute title = book.getAttribute("title");
        if (title != null) {
            source.setTitle(parseMessage(title.getValue()));
        }

        for (Element page : book.getChildren("page")) {
            source.addPage(parseMessage(page.getTextNormalize()));
        }
    }

    return source;
}
 
開發者ID:ShootGame,項目名稱:Arcade2,代碼行數:21,代碼來源:XMLItemMeta.java

示例10: loadWikiBook

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
public static BookMeta loadWikiBook(BookMeta im)
{
	String path = "plugins/Breakpoint/wikiBook/";
	List<String> contents = new ArrayList<String>();
	int page = 0;
	File file = new File(path + page + ".txt");
	while (file.exists())
	{
		String pageContent = getString(file);
		contents.add(pageContent);
		page++;
		file = new File(path + page + ".txt");
	}
	im.setPages(contents);
	
	return im;
}
 
開發者ID:Limeth,項目名稱:Breakpoint,代碼行數:18,代碼來源:FileManager.java

示例11: saveWikiBook

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
public static void saveWikiBook()
{
	String path = "plugins/Breakpoint/wikiBook/";
	BookMeta im = (BookMeta) InventoryMenuManager.wikiBook.getItemMeta();
	List<String> contents = im.getPages();
	for (int page = 0; page < contents.size(); page++)
	{
		File file = new File(path + page + ".txt");
		File pathFile = new File(path);
		pathFile.mkdirs();
		try
		{
			if (!file.exists())
				file.createNewFile();
			setString(file, contents.get(page));
		}
		catch (IOException e)
		{
			Breakpoint.warn("Wiki book did not save properly.");
			e.printStackTrace();
		}
	}
}
 
開發者ID:Limeth,項目名稱:Breakpoint,代碼行數:24,代碼來源:FileManager.java

示例12: CustomBookOverlay

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
public CustomBookOverlay(String title, String author, TellRawMessage... pages) {
	this.book = new ItemStack(Material.WRITTEN_BOOK);

	BookMeta meta = (BookMeta) this.book.getItemMeta();
	meta.setTitle(title);
	meta.setAuthor(author);

	for (TellRawMessage page: pages) {
		try {
			addPage(meta, page);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	this.book.setItemMeta(meta);
}
 
開發者ID:TheBusyBiscuit,項目名稱:CS-CoreLib,代碼行數:18,代碼來源:CustomBookOverlay.java

示例13: onItemPickup

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
@EventHandler
public void onItemPickup(PlayerPickupItemEvent e) {
	
	if (e.isCancelled()) {
		return;
	}
	
	ItemStack item = e.getItem().getItemStack();
	
	if (item.getType().equals(Material.WRITTEN_BOOK)) {
		BookMeta meta = (BookMeta) item.getItemMeta();
		
		if (meta.getTitle().equals("Quest Log")) {
			e.getItem().remove();
			e.setCancelled(true);
			
			QuestManagerPlugin.questManagerPlugin.getPlayerManager().getPlayer(
					e.getPlayer().getUniqueId()).addQuestBook();
			
		}
	}
	
}
 
開發者ID:Dove-Bren,項目名稱:QuestManager,代碼行數:24,代碼來源:QuestManager.java

示例14: setbookauthor

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
@SubCommand(value = "setbookauthor", permission = "nu.setbook")
public void setbookauthor(CommandSender sender, Arguments args) {
    if (!(args.length() > 1)) {
        msg(sender, "manual.setbookauthor.usage");
        return;
    }
    String author = args.next();
    Player p = asPlayer(sender);
    author = ChatColor.translateAlternateColorCodes('&', author);
    ItemStack item = p.getInventory().getItemInMainHand();
    if (item == null || !item.getType().equals(Material.WRITTEN_BOOK)) {
        msg(sender, "user.setbook.no_book");
        return;
    }
    BookMeta meta = (BookMeta) item.getItemMeta();
    meta.setAuthor(author);
    item.setItemMeta(meta);
    msg(sender, "user.setbook.success");
}
 
開發者ID:NyaaCat,項目名稱:NyaaUtils,代碼行數:20,代碼來源:CommandHandler.java

示例15: setbooktitle

import org.bukkit.inventory.meta.BookMeta; //導入依賴的package包/類
@SubCommand(value = "setbooktitle", permission = "nu.setbook")
public void setbooktitle(CommandSender sender, Arguments args) {
    if (!(args.length() > 1)) {
        msg(sender, "manual.setbooktitle.usage");
        return;
    }
    String title = args.next();
    Player p = asPlayer(sender);
    title = ChatColor.translateAlternateColorCodes('&', title);

    ItemStack item = p.getInventory().getItemInMainHand();
    if (item == null || !item.getType().equals(Material.WRITTEN_BOOK)) {
        msg(sender, "user.setbook.no_book");
        return;
    }
    BookMeta meta = (BookMeta) item.getItemMeta();
    meta.setTitle(title);
    item.setItemMeta(meta);
    msg(sender, "user.setbook.success");
}
 
開發者ID:NyaaCat,項目名稱:NyaaUtils,代碼行數:21,代碼來源:CommandHandler.java


注:本文中的org.bukkit.inventory.meta.BookMeta類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。