org.bukkit.World#dropItem ( )源码实例Demo

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

源代码1 项目: civcraft   文件: CommonCustomMob.java
public void dropItems() {
	try {
		if (entity == null) {
			return;
		}
		
		LinkedList<MobDrop> dropped = getRandomDrops();
		World world = entity.getBukkitEntity().getWorld();
		Location loc = getLocation(entity);
		
		for (MobDrop d : dropped) {
			ItemStack stack;
			if (d.isVanillaDrop) {
				stack = ItemManager.createItemStack(d.vanillaType, 1, d.vanillaData);
			} else {
				LoreCraftableMaterial craftMat = LoreCraftableMaterial.getCraftMaterialFromId(d.craftMatId);
				stack = LoreCraftableMaterial.spawn(craftMat);
			}
			
			world.dropItem(loc, stack);
		}
		
		if (this.coinMax != 0 && this.coinMin != 0) {
			ExperienceOrb orb = (ExperienceOrb)world.spawn(loc, ExperienceOrb.class);
			Random random = new Random();
			int coins = random.nextInt(this.coinMax - this.coinMin) + this.coinMin;
			orb.setExperience(coins);

		}
	} catch(Exception e) {
		e.printStackTrace();
	}
}
 
源代码2 项目: HeavySpleef   文件: FlagItemReward.java
@Subscribe
public void onPlayerWinGame(PlayerWinGameEvent event) {
	SpleefPlayer[] winners = event.getWinners();
	
	for (SpleefPlayer player : winners) {
		Player bukkitPlayer = player.getBukkitPlayer();
		World world = bukkitPlayer.getWorld();
		
		Inventory inventory = bukkitPlayer.getInventory();
		boolean invFull = false;
		
		for (ItemStack reward : getValue()) {
               if (reward.getType() == Material.AIR) {
                   continue;
               }

			if (invFull) {
				world.dropItem(bukkitPlayer.getLocation(), reward);
			} else {
				if (isInventoryFull(inventory)) {
					invFull = true;
					world.dropItem(bukkitPlayer.getLocation(), reward);
					bukkitPlayer.sendMessage(getI18N().getString(Messages.Player.ITEMREWARD_ITEMS_DROPPED));
				} else {
					inventory.addItem(reward);
				}
			}
		}
	}
}