use of com.elmakers.mine.bukkit.magic.Mage in project MagicPlugin by elBukkit.
the class PlayerController method onPlayerGameModeChange.
@EventHandler
public void onPlayerGameModeChange(PlayerGameModeChangeEvent event) {
if (event.getNewGameMode() == GameMode.CREATIVE) {
Player player = event.getPlayer();
Mage mage = controller.getMage(player);
com.elmakers.mine.bukkit.api.wand.Wand activeWand = mage.getActiveWand();
if (activeWand != null) {
activeWand.closeInventory();
}
if (enableCreativeModeEjecting) {
boolean ejected = false;
if (activeWand != null) {
activeWand.deactivate();
}
Inventory inventory = player.getInventory();
ItemStack[] contents = inventory.getContents();
for (int i = 0; i < contents.length; i++) {
ItemStack item = contents[i];
if (Wand.isWand(item)) {
ejected = true;
inventory.setItem(i, null);
player.getWorld().dropItemNaturally(player.getLocation(), item);
}
}
if (ejected) {
mage.sendMessage("Ejecting wands, creative mode will destroy them!");
}
}
}
}
use of com.elmakers.mine.bukkit.magic.Mage in project MagicPlugin by elBukkit.
the class PlayerController method onConsume.
@EventHandler(ignoreCancelled = true)
public void onConsume(PlayerItemConsumeEvent event) {
ItemStack item = event.getItem();
if (!item.hasItemMeta())
return;
// The item we get passed in this event is a shallow bukkit copy.
item = CompatibilityUtils.makeReal(item);
String consumeSpell = controller.getWandProperty(item, "consume_spell", "");
if (!consumeSpell.isEmpty()) {
Mage mage = controller.getMage(event.getPlayer());
Spell spell = mage.getSpell(consumeSpell);
if (spell != null) {
spell.cast();
}
}
}
Aggregations