• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java BlockStateMeta类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.bukkit.inventory.meta.BlockStateMeta的典型用法代码示例。如果您正苦于以下问题:Java BlockStateMeta类的具体用法?Java BlockStateMeta怎么用?Java BlockStateMeta使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



BlockStateMeta类属于org.bukkit.inventory.meta包,在下文中一共展示了BlockStateMeta类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: onBlockPlace

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onBlockPlace(BlockPlaceEvent event) {
    Block block = event.getBlock();
    ItemStack item = event.getItemInHand();
    if (block != null && item != null && item.getType().equals(Material.SIGN) &&
            (block.getType().equals(Material.WALL_SIGN) || block.getType().equals(Material.SIGN_POST))) {
        Player player = event.getPlayer();
        if ((player.isOp() && player.getGameMode().equals(GameMode.CREATIVE)) ||
                !item.hasItemMeta() || !(item.getItemMeta() instanceof BlockStateMeta) ||
                !player.hasPermission("nu.se.player")) {
            return;
        }
        SignContent c = SignContent.fromItemStack(item);
        if (!c.getContent().isEmpty()) {
            signContents.put(event.getPlayer().getUniqueId(), c);
        }
    }
}
 
开发者ID:NyaaCat,项目名称:NyaaUtils,代码行数:19,代码来源:SignEditListener.java


示例2: onBankClick

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
@EventHandler
public void onBankClick(InventoryClickEvent event){
	Player player = (Player) event.getWhoClicked();
	Account account = new Account(player);
	ca.damocles.accountsystem.Character character = account.getLoadedCharacter();
	
	if(character == null){
		return;
	}
	
	if(event.getInventory().getName().equalsIgnoreCase(character.getUsername()+"'s Bank")){
		if(event.getCurrentItem() == null){
			return;
		}
		event.setCancelled(true);
		
		if(event.getCurrentItem().hasItemMeta()){
			
			if(event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GOLD+"Empty Bank")){
				event.setCancelled(true);
				return;
			}
			
			if(event.getSlot() == 5){
				if(event.getCurrentItem().getItemMeta() instanceof BlockStateMeta){
					ItemStack item = event.getCurrentItem();
					event.getWhoClicked().closeInventory();
					event.getWhoClicked().openInventory(new NBTHandler(item).getBoxInventory());
				}
			}
			
			
		}
		
	}
}
 
开发者ID:DamoclesProject,项目名称:Damocles,代码行数:37,代码来源:EquipHandler.java


示例3: setBoxInventory

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
public void setBoxInventory(Inventory inventory){
	if(item.getItemMeta() instanceof BlockStateMeta){
		BlockStateMeta im = (BlockStateMeta)item.getItemMeta();
		if(im.getBlockState() instanceof ShulkerBox){
			ShulkerBox shulker = (ShulkerBox) im.getBlockState();
			shulker.getInventory().setContents(inventory.getContents());
			im.setBlockState(shulker);
			item.setItemMeta(im);
			return;
		}
	}
	return;
}
 
开发者ID:DamoclesProject,项目名称:Damocles,代码行数:14,代码来源:NBTHandler.java


示例4: getBoxInventory

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
public Inventory getBoxInventory(){
	Inventory inv = Bukkit.createInventory(null, 27, "Bank");
	if(item.getItemMeta() instanceof BlockStateMeta){
		BlockStateMeta im = (BlockStateMeta)item.getItemMeta();
		if(im.getBlockState() instanceof ShulkerBox){
			ShulkerBox shulker = (ShulkerBox) im.getBlockState();
			inv.setContents(shulker.getInventory().getContents());
			return inv;
		}
	}
	return inv;
}
 
开发者ID:DamoclesProject,项目名称:Damocles,代码行数:13,代码来源:NBTHandler.java


示例5: containsBook

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
public static boolean containsBook(ItemStack item) {
    if (item.hasItemMeta() && item.getItemMeta() instanceof BlockStateMeta) {
        BlockStateMeta blockStateMeta = (BlockStateMeta) item.getItemMeta();
        if (blockStateMeta.hasBlockState() && blockStateMeta.getBlockState() instanceof InventoryHolder) {
            InventoryHolder inventoryHolder = (InventoryHolder) blockStateMeta.getBlockState();
            for (ItemStack itemStack : inventoryHolder.getInventory().getContents()) {
                if (itemStack != null && itemStack.getType() != Material.AIR &&
                        itemStack.hasItemMeta() && itemStack.getItemMeta() instanceof BookMeta) {
                    return true;
                }
            }
        }
    }
    return false;
}
 
开发者ID:NyaaCat,项目名称:HamsterEcoHelper,代码行数:16,代码来源:MarketManager.java


示例6: fromItemStack

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
public static SignContent fromItemStack(ItemStack item) {
    SignContent content = new SignContent();
    if (item.hasItemMeta() && item.getItemMeta() instanceof BlockStateMeta) {
        BlockStateMeta blockStateMeta = (BlockStateMeta) item.getItemMeta();
        if (blockStateMeta.hasBlockState() && blockStateMeta.getBlockState() instanceof Sign) {
            Sign sign = ((Sign) blockStateMeta.getBlockState());
            for (int i = 0; i < 4; i++) {
                content.setLine(i, sign.getLine(i));
            }
        }
    }
    return content;
}
 
开发者ID:NyaaCat,项目名称:NyaaUtils,代码行数:14,代码来源:SignContent.java


示例7: toItemStack

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
public ItemStack toItemStack(ItemStack item) {
    if (item.getItemMeta() instanceof BlockStateMeta) {
        BlockStateMeta blockStateMeta = (BlockStateMeta) item.getItemMeta();
        if (blockStateMeta.getBlockState() instanceof Sign) {
            Sign sign = ((Sign) blockStateMeta.getBlockState());
            for (int i = 0; i < 4; i++) {
                sign.setLine(i, getLine(i));
            }
            blockStateMeta.setBlockState(sign);
        }
        item.setItemMeta(blockStateMeta);
    }
    return item;
}
 
开发者ID:NyaaCat,项目名称:NyaaUtils,代码行数:15,代码来源:SignContent.java


示例8: applyMeta

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
/**
 * Applies meta to a shield
 *
 * @param itemStack  shield item
 * @param bannerMeta banner meta
 * @return shield item
 */
public static ItemStack applyMeta(ItemStack itemStack, BannerMeta bannerMeta) {
	if(itemStack.getType() != Material.SHIELD && itemStack.getType() != Material.BANNER) {
		throw new IllegalArgumentException("Passed ItemStack is not a shield nor a banner");
	}

	ItemMeta meta = itemStack.getItemMeta();
	BlockStateMeta blockStateMeta = (BlockStateMeta) meta;
	Banner banner = (Banner) blockStateMeta.getBlockState();
	applyMeta(banner, bannerMeta);
	banner.update();
	blockStateMeta.setBlockState(banner);
	itemStack.setItemMeta(blockStateMeta);
	return itemStack;
}
 
开发者ID:MarcinWieczorek,项目名称:NovaGuilds,代码行数:22,代码来源:BannerUtils.java


示例9: initialize

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
@Override
public SerialItemData initialize(ItemStack stack) {
  TNE.debug("ShulkerData.initialize.");
  if(SerialItem.isShulker(stack.getType())) {
    TNE.debug("Passed shulker check");
    ItemMeta meta = stack.getItemMeta();
    if(meta instanceof BlockStateMeta) {
      TNE.debug("Is BlockStateMeta");
      BlockStateMeta state = (BlockStateMeta)meta;
      if(state.getBlockState() instanceof ShulkerBox) {
        TNE.debug("Is ShulkerBox BlockState");
        valid = true;
        ShulkerBox shulker = (ShulkerBox)state.getBlockState();
        Inventory inventory = shulker.getInventory();
        TNE.debug("Initializing shulker box..");
        for(int i = 0; i < inventory.getSize(); i++) {
          if(inventory.getItem(i) == null || inventory.getItem(i).getType().equals(Material.AIR)) {
            if(items.containsKey(i)) {
              items.remove(i);
              TNE.debug("Removing item from slot " + i);
            }
          } else {
            TNE.debug("Adding Item: " + inventory.getItem(i).getType().name());
            TNE.debug("Item Slot: " + i);
            items.put(i, new SerialItem(inventory.getItem(i)));
          }
        }
      }
    }
  }
  return this;
}
 
开发者ID:TheNewEconomy,项目名称:TNE-Bukkit,代码行数:33,代码来源:ShulkerData.java


示例10: build

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
@Override
public ItemStack build(ItemStack stack) {
  if(valid) {
    BlockStateMeta meta = (BlockStateMeta)stack.getItemMeta();
    ShulkerBox shulkerBox = (ShulkerBox)meta;
    items.forEach((slot, item)->shulkerBox.getInventory().setItem(slot, item.getStack()));
    meta.setBlockState(shulkerBox);
    stack.setItemMeta(meta);

  }
  return stack;
}
 
开发者ID:TheNewEconomy,项目名称:TNE-Bukkit,代码行数:13,代码来源:ShulkerData.java


示例11: getItemJsonStripped

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
private String getItemJsonStripped(ItemStack item) {
    ItemStack cloned = item.clone();
    if (cloned.hasItemMeta() && cloned.getItemMeta() instanceof BookMeta) {
        return ItemStackUtils.itemToJson(removeBookContent(cloned));
    }
    if (cloned.hasItemMeta() && cloned.getItemMeta() instanceof BlockStateMeta) {
        BlockStateMeta blockStateMeta = (BlockStateMeta) cloned.getItemMeta();
        if (blockStateMeta.hasBlockState() && blockStateMeta.getBlockState() instanceof InventoryHolder) {
            InventoryHolder inventoryHolder = (InventoryHolder) blockStateMeta.getBlockState();
            ArrayList<ItemStack> items = new ArrayList<>();
            for (int i = 0; i < inventoryHolder.getInventory().getSize(); i++) {
                ItemStack itemStack = inventoryHolder.getInventory().getItem(i);
                if (itemStack != null && itemStack.getType() != Material.AIR) {
                    if (items.size() < 5) {
                        if (itemStack.hasItemMeta()) {
                            if (itemStack.getItemMeta().hasLore()) {
                                ItemMeta meta = itemStack.getItemMeta();
                                meta.setLore(new ArrayList<String>());
                                itemStack.setItemMeta(meta);
                            }
                            if (itemStack.getItemMeta() instanceof BookMeta) {
                                itemStack = removeBookContent(itemStack);
                            }
                        }
                        items.add(itemStack);
                    } else {
                        items.add(new ItemStack(Material.STONE));
                    }
                }
            }
            inventoryHolder.getInventory().clear();
            for (int i = 0; i < items.size(); i++) {
                inventoryHolder.getInventory().setItem(i, items.get(i));
            }
            blockStateMeta.setBlockState((BlockState) inventoryHolder);
            cloned.setItemMeta(blockStateMeta);
            return ItemStackUtils.itemToJson(cloned);
        }
    }
    return ItemStackUtils.itemToJson(cloned);
}
 
开发者ID:NyaaCat,项目名称:NyaaCore,代码行数:42,代码来源:Message.java


示例12: getSpawnerType

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
@Override
public EntityType getSpawnerType(ItemStack item) {
    BlockStateMeta bsm = (BlockStateMeta) item.getItemMeta();
    CreatureSpawner bs = (CreatureSpawner) bsm.getBlockState();
    return bs.getSpawnedType();
}
 
开发者ID:novucs,项目名称:factions-top,代码行数:7,代码来源:Craftbukkit18R3.java


示例13: getItemMetaIntenal

import org.bukkit.inventory.meta.BlockStateMeta; //导入依赖的package包/类
private ItemMeta getItemMetaIntenal(Material material) {
      switch (material) {
      case AIR:
          return null;
      case WRITTEN_BOOK:
      case BOOK_AND_QUILL:
      	return mock(BookMeta.class);
      case SKULL_ITEM:
      	return mock(SkullMeta.class);
      case LEATHER_HELMET:
      case LEATHER_CHESTPLATE:
      case LEATHER_LEGGINGS:
      case LEATHER_BOOTS:
      	return mock(LeatherArmorMeta.class);
      case POTION:
      case SPLASH_POTION:
      case LINGERING_POTION:
      case TIPPED_ARROW:
      	return mock(PotionMeta.class);
      case MAP:
      	return mock(PotionMeta.class);
      case FIREWORK:
      	return mock(PotionMeta.class);
      case FIREWORK_CHARGE:
      	return mock(FireworkEffectMeta.class);
      case ENCHANTED_BOOK:
      	return mock(EnchantmentStorageMeta.class);
      case BANNER:
      	return mock(BannerMeta.class);
      case FURNACE:
      case CHEST:
      case TRAPPED_CHEST:
      case JUKEBOX:
      case DISPENSER:
      case DROPPER:
      case SIGN:
      case MOB_SPAWNER:
      case NOTE_BLOCK:
      case PISTON_BASE:
      case BREWING_STAND_ITEM:
      case ENCHANTMENT_TABLE:
      case COMMAND:
      case COMMAND_REPEATING:
      case COMMAND_CHAIN:
      case BEACON:
      case DAYLIGHT_DETECTOR:
      case DAYLIGHT_DETECTOR_INVERTED:
      case HOPPER:
      case REDSTONE_COMPARATOR:
      case FLOWER_POT_ITEM:
      case SHIELD:
      case STRUCTURE_BLOCK:
return mock(BlockStateMeta.class);
      default:
  		return mock(ItemMeta.class);
      }
  }
 
开发者ID:DevotedMC,项目名称:ExilePearl,代码行数:58,代码来源:TestItemFactory.java



注:本文中的org.bukkit.inventory.meta.BlockStateMeta类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java MetricsServlet类代码示例发布时间:2022-05-21
下一篇:
Java NumberStringConverter类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap