geforkt von Mirrors/Paper
[Bleeding] Added EnchantmentTable API.
By: Mike Primm <mike@primmhome.com>
Dieser Commit ist enthalten in:
Ursprung
b3642a04e1
Commit
58d9efad7c
@ -0,0 +1,105 @@
|
|||||||
|
package org.bukkit.event.enchantment;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.enchantments.Enchantment;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.Cancellable;
|
||||||
|
import org.bukkit.event.Event;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when an ItemStack is successfully enchanted (currently at enchantment table)
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("serial")
|
||||||
|
public class EnchantItemEvent extends Event implements Cancellable {
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
private Block table;
|
||||||
|
private ItemStack item;
|
||||||
|
private int level;
|
||||||
|
private boolean cancelled;
|
||||||
|
private Map<Enchantment,Integer> enchants;
|
||||||
|
private Player enchanter;
|
||||||
|
|
||||||
|
public EnchantItemEvent(Player enchanter, Block table, ItemStack item, int level, Map<Enchantment, Integer> enchants) {
|
||||||
|
this.enchanter = enchanter;
|
||||||
|
this.table = table;
|
||||||
|
this.item = item;
|
||||||
|
this.level = level;
|
||||||
|
this.enchants = new HashMap<Enchantment, Integer>(enchants);
|
||||||
|
this.cancelled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the player enchanting the item
|
||||||
|
*
|
||||||
|
* @returns enchanting player
|
||||||
|
*/
|
||||||
|
public Player getEnchanter() {
|
||||||
|
return enchanter;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the block being used to enchant the item
|
||||||
|
*
|
||||||
|
* @return the block used for enchanting
|
||||||
|
*/
|
||||||
|
public Block getEnchantBlock() {
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the item to be enchanted (can be modified)
|
||||||
|
*
|
||||||
|
* @return ItemStack of item
|
||||||
|
*/
|
||||||
|
public ItemStack getItem() {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get cost in exp levels of the enchantment
|
||||||
|
* @return experience level cost
|
||||||
|
*/
|
||||||
|
public int getExpLevelCost() {
|
||||||
|
return level;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set cost in exp levels of the enchantment
|
||||||
|
* @param level - cost in levels
|
||||||
|
*/
|
||||||
|
public void setExpLevelCost(int level) {
|
||||||
|
this.level = level;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get map of enchantment (levels, keyed by type) to be added to item (modify map returned to change values)
|
||||||
|
* Note: Any enchantments not allowed for the item will be ignored
|
||||||
|
*
|
||||||
|
* @return map of enchantment levels, keyed by enchantment
|
||||||
|
*/
|
||||||
|
public Map<Enchantment, Integer> getEnchantsToAdd() {
|
||||||
|
return enchants;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCancelled() {
|
||||||
|
return cancelled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCancelled(boolean cancel) {
|
||||||
|
this.cancelled = cancel;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HandlerList getHandlers() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,91 @@
|
|||||||
|
package org.bukkit.event.enchantment;
|
||||||
|
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.Cancellable;
|
||||||
|
import org.bukkit.event.Event;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when an ItemStack is inserted in an enchantment table - can be called multiple times
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("serial")
|
||||||
|
public class PrepareItemEnchantEvent extends Event implements Cancellable {
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
private Block table;
|
||||||
|
private ItemStack item;
|
||||||
|
private int[] levels_offered;
|
||||||
|
private int bonus;
|
||||||
|
private boolean cancelled;
|
||||||
|
private Player enchanter;
|
||||||
|
|
||||||
|
public PrepareItemEnchantEvent(Player enchanter, Block table, ItemStack item, int[] levels_offered, int bonus) {
|
||||||
|
this.enchanter = enchanter;
|
||||||
|
this.table = table;
|
||||||
|
this.item = item;
|
||||||
|
this.levels_offered = levels_offered;
|
||||||
|
this.bonus = bonus;
|
||||||
|
this.cancelled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the player enchanting the item
|
||||||
|
*
|
||||||
|
* @returns enchanting player
|
||||||
|
*/
|
||||||
|
public Player getEnchanter() {
|
||||||
|
return enchanter;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the block being used to enchant the item
|
||||||
|
*
|
||||||
|
* @return the block used for enchanting
|
||||||
|
*/
|
||||||
|
public Block getEnchantBlock() {
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the item to be enchanted (can be modified)
|
||||||
|
*
|
||||||
|
* @return ItemStack of item
|
||||||
|
*/
|
||||||
|
public ItemStack getItem() {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get list of offered exp level costs of the enchantment (modify values to change offer)
|
||||||
|
* @return experience level costs offered
|
||||||
|
*/
|
||||||
|
public int[] getExpLevelCostsOffered() {
|
||||||
|
return levels_offered;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get enchantment bonus in effect - corresponds to number of bookshelves
|
||||||
|
* @return enchantment bonus
|
||||||
|
*/
|
||||||
|
public int getEnchantmentBonus() {
|
||||||
|
return bonus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCancelled() {
|
||||||
|
return cancelled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCancelled(boolean cancel) {
|
||||||
|
this.cancelled = cancel;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HandlerList getHandlers() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
}
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren