org.bukkit.Material#ENCHANTING_TABLE源码实例Demo

下面列出了org.bukkit.Material#ENCHANTING_TABLE 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Civs   文件: CivilianListener.java
@EventHandler(ignoreCancelled = true)
public void onCivilianUseExp(PlayerInteractEvent event) {
    if (event.getClickedBlock() == null || event.getAction() != Action.RIGHT_CLICK_BLOCK) {
        return;
    }
    Civilian civilian = CivilianManager.getInstance().getCivilian(event.getPlayer().getUniqueId());
    if (civilian.getMana() < 1 || civilian.getMana() > 99) {
        return;
    }
    Material mat = event.getClickedBlock().getType();
    if (mat == Material.ANVIL ||
            mat == Material.ENCHANTING_TABLE) {
        event.setCancelled(true);
        event.getPlayer().sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslationWithPlaceholders(
                event.getPlayer(), "mana-use-exp"));
    }
}
 
源代码2 项目: Slimefun4   文件: MagicSugar.java
@Override
public ItemUseHandler getItemHandler() {
    return e -> {
        // Check if it is being placed into an ancient altar.
        if (e.getClickedBlock().isPresent()) {
            Material block = e.getClickedBlock().get().getType();

            if (block == Material.DISPENSER || block == Material.ENCHANTING_TABLE) {
                return;
            }
        }

        Player p = e.getPlayer();
        if (p.getGameMode() != GameMode.CREATIVE) {
            ItemUtils.consumeItem(e.getItem(), false);
        }

        p.playSound(p.getLocation(), Sound.ENTITY_GENERIC_EAT, 1, 1);
        p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 600, 3));
    };
}
 
源代码3 项目: Slimefun4   文件: AncientAltarListener.java
@EventHandler
public void onInteract(PlayerRightClickEvent e) {
    if (altar == null || altar.isDisabled() || e.useBlock() == Result.DENY) {
        return;
    }

    Optional<Block> blockOptional = e.getClickedBlock();
    if (!blockOptional.isPresent()) {
        return;
    }

    Block b = blockOptional.get();
    if (b.getType() != Material.ENCHANTING_TABLE && b.getType() != Material.DISPENSER) {
        return;
    }

    Optional<SlimefunItem> slimefunBlock = e.getSlimefunBlock();
    if (!slimefunBlock.isPresent()) {
        return;
    }

    String id = slimefunBlock.get().getID();

    if (id.equals(SlimefunItems.ANCIENT_PEDESTAL.getItemId())) {
        e.cancel();
        usePedestal(b, e.getPlayer());
    }
    else if (id.equals(SlimefunItems.ANCIENT_ALTAR.getItemId())) {
        if (!Slimefun.hasUnlocked(e.getPlayer(), SlimefunItems.ANCIENT_ALTAR.getItem(), true) || altarsInUse.contains(b.getLocation())) {
            e.cancel();
            return;
        }

        // Make altarinuse simply because that was the last block clicked.
        altarsInUse.add(b.getLocation());
        e.cancel();

        useAltar(b, e.getPlayer());
    }
}
 
源代码4 项目: PlayerVaults   文件: SignListener.java
private boolean isInvalidBlock(Material material) {
    if (PlayerVaults.getInstance().getVersion().contains("v1_13")) {
        PlayerVaults.debug("[PlayerVaults] [Debug/SignListener] Block material checked for >= 1.13");
        return material == Material.CHEST || material == Material.TRAPPED_CHEST
                || material == Material.ENDER_CHEST || material == Material.FURNACE
                || material == Material.BREWING_STAND || material == Material.ENCHANTING_TABLE
                || material == Material.BEACON;
    }
    PlayerVaults.debug("[PlayerVaults] [Debug/SignListener] Block material checked for < 1.13");
    return material == Material.CHEST || material == Material.TRAPPED_CHEST
            || material == Material.ENDER_CHEST || material == Material.FURNACE
            || material == Material.valueOf("BURNING_FURNACE") || material == Material.BREWING_STAND
            || material == Material.valueOf("ENCHANTMENT_TABLE") || material == Material.BEACON;
}
 
源代码5 项目: MineTinker   文件: BlockListener.java
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onClick(PlayerInteractEvent event) {
	Player player = event.getPlayer();

	ItemStack norm = null;
	if (event.getHand() == EquipmentSlot.HAND) {
		norm = player.getInventory().getItemInMainHand();
	} else if (event.getHand() == EquipmentSlot.OFF_HAND) {
		norm = player.getInventory().getItemInOffHand();
	}

	if (norm == null) return;

	if (event.getAction() == Action.RIGHT_CLICK_AIR) {
		if (modManager.isModifierItem(norm)) {
			event.setCancelled(true);
		}
	} else if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
		Block block = event.getClickedBlock();

		if (block == null) {
			return;
		}
		if (!player.isSneaking()) {
			Material type = block.getType();

			if (type == Material.ANVIL || type == Material.CRAFTING_TABLE
					|| type == Material.CHEST || type == Material.ENDER_CHEST
					|| type == Material.DROPPER || type == Material.HOPPER
					|| type == Material.DISPENSER || type == Material.TRAPPED_CHEST
					|| type == Material.FURNACE || type == Material.ENCHANTING_TABLE) {

				return;
			}
		}

		if (modManager.isModifierItem(norm)) {
			event.setCancelled(true);
			return;
		}

		if (block.getType() == Material.getMaterial(MineTinker.getPlugin().getConfig().getString("BlockToEnchantModifiers", Material.BOOKSHELF.name()))) {
			ItemStack item = player.getInventory().getItemInMainHand();

			for (Modifier m : modManager.getAllMods()) {
				if (m.getModItem().getType().equals(item.getType())) {
					if (!m.isEnchantable()) continue;
					m.enchantItem(player);
					event.setCancelled(true);
					break;
				}
			}
		}
	}
}
 
 方法所在类
 同类方法