本文整理汇总了Java中org.bukkit.event.inventory.CraftItemEvent类的典型用法代码示例。如果您正苦于以下问题:Java CraftItemEvent类的具体用法?Java CraftItemEvent怎么用?Java CraftItemEvent使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
CraftItemEvent类属于org.bukkit.event.inventory包,在下文中一共展示了CraftItemEvent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onCraft
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
/**
* Prevents crafting of EnderChest unless the player has permission
*
* @param event
*/
@EventHandler(priority = EventPriority.LOW)
public void onCraft(CraftItemEvent event) {
if (DEBUG) {
plugin.getLogger().info(event.getEventName());
}
Player player = (Player) event.getWhoClicked();
if (Util.inWorld(player) || player.getWorld().equals(IslandWorld.getNetherWorld())) {
if (event.getRecipe().getResult().getType() == Material.ENDER_CHEST) {
if (!(player.hasPermission(Settings.PERMPREFIX + "craft.enderchest"))) {
Util.sendMessage(player, plugin.getLocale(player.getUniqueId()).get("general.errors.no-permission"));
event.setCancelled(true);
}
}
}
}
示例2: onCraft
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
@EventHandler
public void onCraft(CraftItemEvent e)
{
Player p = (Player) e.getWhoClicked();
if(e.getRecipe() instanceof ShapedRecipe)
{
ShapedRecipe sr = (ShapedRecipe) e.getRecipe();
if(Bukkit.getBukkitVersion().contains("1.11"))
{
for(BagBase bb : Util.getBags())
{
if(((ShapedRecipe)bb.getRecipe()).getShape().equals(sr.getShape()))
{
if(!hasPermission(new Permission("bag.craft." + bb.getName(), PermissionDefault.TRUE), p))
e.setCancelled(true);
}
}
}
else
if(sr.getKey().getNamespace().startsWith("bag_"))
{
if(!hasPermission(new Permission("bag.craft." + sr.getKey().getKey(), PermissionDefault.TRUE), p))
e.setCancelled(true);
}
}
}
示例3: onCraftItem
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
/**
* Limits the player to one workbench by means of crafting.
*
* @param event The event
*/
@EventHandler(ignoreCancelled = true)
public void onCraftItem(CraftItemEvent event) {
if (event.getRecipe().getResult().getType().equals(Material.WORKBENCH)) {
Player player = (Player) event.getWhoClicked();
UUID uuid = player.getUniqueId();
if (craftedWorkbench.contains(uuid)) {
player.sendMessage(ChatColor.RED + "You may not craft another workbench!");
} else {
craftedWorkbench.add(uuid);
limitWorkbenches(player);
player.sendMessage(ChatColor.YELLOW + "You have crafted a workbench. You may not have another one.");
}
}
}
示例4: onCraftItem
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
/**
* Prevents players from crafting leather or iron armor.
*
* @param event The event
*/
@EventHandler(ignoreCancelled = true)
public void onCraftItem(CraftItemEvent event) {
Material result = event.getRecipe().getResult().getType();
if (result.equals(Material.LEATHER_HELMET)
|| result.equals(Material.LEATHER_CHESTPLATE)
|| result.equals(Material.LEATHER_LEGGINGS)
|| result.equals(Material.LEATHER_BOOTS)) {
event.setCancelled(true);
event.getWhoClicked().sendMessage(ChatColor.RED + "You may not craft leather armor!");
} else if (result.equals(Material.IRON_HELMET)
|| result.equals(Material.IRON_CHESTPLATE)
|| result.equals(Material.IRON_LEGGINGS)
|| result.equals(Material.IRON_BOOTS)) {
event.setCancelled(true);
event.getWhoClicked().sendMessage(ChatColor.RED + "You may not craft iron armor!");
}
}
示例5: onCraft
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
@EventHandler
public void onCraft(CraftItemEvent e) {
if (QuestManagerPlugin.questManagerPlugin.getPluginConfiguration().getAllowCrafting()) {
return;
}
if (e.getWhoClicked() instanceof Player) {
Player p = (Player) e.getWhoClicked();
Location loc = p.getLocation();
if (QuestManagerPlugin.questManagerPlugin.getPluginConfiguration()
.getWorlds().contains(loc.getWorld().getName())) {
e.setCancelled(true);
}
}
}
示例6: onCraft
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onCraft(final CraftItemEvent event) {
final PlayerStat stat = PlayerStat.ITEMS_CRAFTED;
// Get player
final Player player = (Player) event.getWhoClicked();
// Do general check
if (!plugin.doGeneralCheck(player, stat))
return;
final String itemCrafted = event.getCurrentItem().getType().toString();
// Update value to new stat.
plugin.getDataManager().setPlayerInfo(player.getUniqueId(), stat,
StatzUtil.makeQuery("uuid", player.getUniqueId().toString(), "value", 1, "world",
player.getWorld().getName(), "item", itemCrafted));
}
示例7: onCraft
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
@EventHandler
public void onCraft(CraftItemEvent cie) {
Player player = (Player) cie.getWhoClicked();
Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player);
if (game == null) {
return;
}
if (game.getState() == GameState.STOPPED) {
return;
}
if (BedwarsRel.getInstance().getBooleanConfig("allow-crafting", false)) {
return;
}
cie.setCancelled(true);
}
示例8: onCraftItem
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
@EventHandler(priority = EventPriority.LOW)
public void onCraftItem(CraftItemEvent event)
{
if (!event.isCancelled())
{
ItemStack gapple = new ItemStack(Material.GOLDEN_APPLE, (short) 1);
if (event.getRecipe().getResult() == gapple)
{
if (event.getWhoClicked() instanceof Player)
{
plugin.getCoreErrors().cantCraftGoldenApples((Player) event.getWhoClicked());
}
event.setCancelled(true);
}
}
}
示例9: onCraftItem
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
@EventHandler
public void onCraftItem(CraftItemEvent event) {
NovaPlayer nPlayer = PlayerManager.getPlayer(event.getWhoClicked());
if(event.getRecipe().getResult().getType() != Material.SHIELD
|| !nPlayer.hasGuild()
|| nPlayer.getGuild().getBannerMeta().numberOfPatterns() == 0) {
return;
}
for(ItemStack ingredient : event.getInventory().getContents()) {
if(ingredient != null
&& ingredient.getType() == Material.SHIELD
&& ingredient.hasItemMeta()) {
return;
}
}
event.getInventory().setResult(BannerUtils.applyMeta(event.getRecipe().getResult(), nPlayer.getGuild().getBannerMeta()));
}
示例10: OnCraftItemEvent
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
@EventHandler(priority = EventPriority.HIGHEST)
public void OnCraftItemEvent(CraftItemEvent event) {
Player player;
try {
player = CivGlobal.getPlayer(event.getWhoClicked().getName());
} catch (CivException e) {
e.printStackTrace();
return;
}
for (ItemStack stack : event.getInventory().getMatrix()) {
BonusGoodie goodie = CivGlobal.getBonusGoodie(stack);
if (goodie != null) {
CivMessage.sendError(player, "Cannot use bonus goodies in a crafting recipe.");
event.setCancelled(true);
}
}
}
示例11: onCraft
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
/**
* Prevents crafting of EnderChest unless the player has permission
*
* @param event
*/
@EventHandler(priority = EventPriority.LOW)
public void onCraft(CraftItemEvent event) {
if (DEBUG) {
plugin.getLogger().info(event.getEventName());
}
Player player = (Player) event.getWhoClicked();
if (inWorld(player) || player.getWorld().equals(ASkyBlock.getNetherWorld())) {
if (event.getRecipe().getResult().getType() == Material.ENDER_CHEST) {
if (!(player.hasPermission(Settings.PERMPREFIX + "craft.enderchest"))) {
Util.sendMessage(player, ChatColor.RED + plugin.myLocale(player.getUniqueId()).errorNoPermission);
event.setCancelled(true);
}
}
}
}
示例12: onCraftItem
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onCraftItem(CraftItemEvent event) {
final HumanEntity whoClicked = event.getWhoClicked();
if (!whoClicked.hasMetadata(mcMMO.playerDataKey)) {
return;
}
ItemStack result = event.getRecipe().getResult();
if (!ItemUtils.isMcMMOItem(result)) {
return;
}
new PlayerUpdateInventoryTask((Player) whoClicked).runTaskLater(plugin, 0);
}
示例13: onCraft
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onCraft(CraftItemEvent event)
{
if (event.getRecipe().getResult() == null)
{
return;
}
if (event.getWhoClicked() instanceof Player)
{
ItemCraft action = this.newAction(ItemCraft.class, event.getWhoClicked().getWorld());
if (action != null)
{
this.setPlayerAndLocation((Player)event.getWhoClicked(), action);
action.setItemstack(event.getRecipe().getResult());
this.logAction(action);
}
}
else
{
// TODO missing action entity craft item
}
}
示例14: onCrafting
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
@EventHandler(priority=EventPriority.MONITOR)
public void onCrafting(CraftItemEvent event) {
if (event.isCancelled()) {
return;
}
if (event.getWhoClicked() instanceof Player) {
Player player = (Player) event.getWhoClicked();
String playerID = PlayerConverter.getID(player);
CraftData playerData = (CraftData) dataMap.get(playerID);
if (containsPlayer(playerID) && item.compare(event.getRecipe().getResult()) && checkConditions(playerID)) {
playerData.subtract(event.getRecipe().getResult().getAmount());
if (playerData.isZero()) {
completeObjective(playerID);
}
}
}
}
示例15: onCraftItem
import org.bukkit.event.inventory.CraftItemEvent; //导入依赖的package包/类
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
private void onCraftItem(CraftItemEvent event) {
FilteredWorkbenchView workbench = _viewMap.get(event.getView());
if (workbench == null)
return;
ItemFilter filter = workbench.getItemFilter();
if (filter == null)
return;
ItemStack result = event.getRecipe().getResult();
if (!filter.isValid(result)) {
tellNoCraftMessage(workbench);
event.setCancelled(true);
}
}