--- miscJava/bukkit-minecraft-plugins/CreativeWorld/src/dk/thoerup/bukkit/creativeworld/WorldChanged.java 2011/12/12 10:17:47 1658 +++ miscJava/bukkit-minecraft-plugins/CreativeWorld/src/dk/thoerup/bukkit/creativeworld/WorldChanged.java 2012/01/26 19:01:52 1682 @@ -2,11 +2,12 @@ import org.bukkit.*; import org.bukkit.entity.*; +import org.bukkit.event.*; import org.bukkit.event.player.*; import org.bukkit.configuration.*; import org.bukkit.inventory.*; -public class WorldChanged extends PlayerListener { +public class WorldChanged implements Listener { final static String STACK_TYPE = ".type"; final static String STACK_AMOUNT = ".amount"; final static String STACK_DAMAGE = ".damage"; @@ -20,7 +21,15 @@ this.plugin = plugin; } - @Override + + @EventHandler + public void onPlayerExpChange(PlayerExpChangeEvent event) { + if (event.getPlayer().getWorld().getName().equalsIgnoreCase("creative")) { + event.setAmount(0); //users don't acummulate xp points in creative mode + } + } + + @EventHandler public void onPlayerChangedWorld(PlayerChangedWorldEvent event) { @@ -99,7 +108,9 @@ short damage = (short) config.getInt(node + STACK_DAMAGE); byte data = (byte) config.getInt(node + STACK_DATA); - return new ItemStack(type,amount,damage,data); + ItemStack stack = new ItemStack(type,amount,damage,data); + stack.setDurability( damage ); //ItemStack constructor with Data value overrides durability + return stack; } }