当前位置: 首页>>代码示例>>Java>>正文


Java CraftItemEvent类代码示例

本文整理汇总了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);
            }
        }
    }
}
 
开发者ID:tastybento,项目名称:bskyblock,代码行数:21,代码来源:IslandGuard.java

示例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);
		}
	}
}
 
开发者ID:benfah,项目名称:Bags2,代码行数:27,代码来源:CraftListener.java

示例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.");
    }
  }
}
 
开发者ID:twizmwazin,项目名称:OpenUHC,代码行数:21,代码来源:BenchBlitz.java

示例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!");
  }
}
 
开发者ID:twizmwazin,项目名称:OpenUHC,代码行数:23,代码来源:GoldRush.java

示例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);
		}
	}
}
 
开发者ID:Dove-Bren,项目名称:QuestManager,代码行数:17,代码来源:QuestManager.java

示例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));

}
 
开发者ID:Staartvin,项目名称:Statz,代码行数:21,代码来源:ItemsCraftedListener.java

示例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);
}
 
开发者ID:BedwarsRel,项目名称:BedwarsRel,代码行数:20,代码来源:PlayerListener.java

示例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);
        }
    }
}
 
开发者ID:Vanillacraft,项目名称:vanillacraft,代码行数:17,代码来源:WorldNerf.java

示例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()));
}
 
开发者ID:MarcinWieczorek,项目名称:NovaGuilds,代码行数:21,代码来源:RegionInteractListener.java

示例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);
		}
	}
}
 
开发者ID:netizen539,项目名称:civcraft,代码行数:19,代码来源:BonusGoodieManager.java

示例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);
            }
        }
    }
}
 
开发者ID:tastybento,项目名称:acidisland,代码行数:21,代码来源:IslandGuard.java

示例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);
}
 
开发者ID:Pershonkey,项目名称:McMMOPlus,代码行数:17,代码来源:InventoryListener.java

示例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
    }
}
 
开发者ID:CubeEngine,项目名称:modules-extra,代码行数:23,代码来源:ListenerItem.java

示例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);
			}
		}
	}
}
 
开发者ID:Co0sh,项目名称:BetonQuest,代码行数:18,代码来源:CraftingObjective.java

示例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);
    }
}
 
开发者ID:JCThePants,项目名称:NucleusFramework,代码行数:19,代码来源:FilteredWorkbenchView.java


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