/[projects]/miscJava/bukkit-minecraft-plugins/CreativeWorld/src/main/java/dk/thoerup/bukkit/creativeworld/WorldChanged.java
ViewVC logotype

Diff of /miscJava/bukkit-minecraft-plugins/CreativeWorld/src/main/java/dk/thoerup/bukkit/creativeworld/WorldChanged.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

miscJava/bukkit-minecraft-plugins/CreativeWorld/src/dk/thoerup/bukkit/creativeworld/WorldChanged.java revision 1657 by torben, Sat Dec 10 19:33:19 2011 UTC miscJava/bukkit-minecraft-plugins/CreativeWorld/src/main/java/dk/thoerup/bukkit/creativeworld/WorldChanged.java revision 1697 by torben, Mon Feb 27 17:41:10 2012 UTC
# Line 2  package dk.thoerup.bukkit.creativeworld; Line 2  package dk.thoerup.bukkit.creativeworld;
2    
3  import org.bukkit.*;  import org.bukkit.*;
4  import org.bukkit.entity.*;  import org.bukkit.entity.*;
5    import org.bukkit.event.*;
6  import org.bukkit.event.player.*;  import org.bukkit.event.player.*;
7  import org.bukkit.configuration.*;  import org.bukkit.configuration.*;
8  import org.bukkit.inventory.*;  import org.bukkit.inventory.*;
9    
10  public class WorldChanged extends PlayerListener {  public class WorldChanged implements Listener {
11            final static String STACK_TYPE = ".type";
12            final static String STACK_AMOUNT = ".amount";
13            final static String STACK_DAMAGE = ".damage";
14            final static String STACK_DATA = ".data";
15    
16            final static String INVENTORY_CREATIVE = ".inventory.creative.";
17            final static String INVENTORY_CREATIVE_ARMOR = ".inventory.creative.armor.";
18    
19          CreativeMain plugin;          CreativeMain plugin;
20          public WorldChanged(CreativeMain plugin) {          public WorldChanged(CreativeMain plugin) {
21                  this.plugin = plugin;                  this.plugin = plugin;
22          }          }
23    
24          @Override  
25            @EventHandler
26            public void onPlayerExpChange(PlayerExpChangeEvent event) {
27                    if (event.getPlayer().getWorld().getName().equalsIgnoreCase("creative")) {
28                            event.setAmount(0); //users don't acummulate xp points in creative mode
29                    }      
30            }
31    
32            @EventHandler
33          public void onPlayerChangedWorld(PlayerChangedWorldEvent event) {          public void onPlayerChangedWorld(PlayerChangedWorldEvent event) {
34    
35    
# Line 30  public class WorldChanged extends Player Line 46  public class WorldChanged extends Player
46                          PlayerInventory inv = player.getInventory();                          PlayerInventory inv = player.getInventory();
47    
48                          for (int i=0; i<inv.getSize(); i++) {                          for (int i=0; i<inv.getSize(); i++) {
49                                  String node =  player.getName() + ".inventory.creative." + i;;                                  String node =  player.getName() + INVENTORY_CREATIVE + i;;
50                                  //config.set( node, inv.getItem(i) );                                  //config.set( node, inv.getItem(i) );
51                                  saveItemStack(config, node, inv.getItem(i) );                                  saveItemStack(config, node, inv.getItem(i) );
52                          }                          }
53    
54                          ItemStack armor[] = inv.getArmorContents();                          ItemStack armor[] = inv.getArmorContents();
55                          for (int i=0; i<armor.length; i++) {                          for (int i=0; i<armor.length; i++) {
56                                  String node =  player.getName() + ".inventory.creative.armor." + i;;                                  String node =  player.getName() + INVENTORY_CREATIVE_ARMOR + i;;
57                                  //config.set( node, armor[i] );                                  //config.set( node, armor[i] );
58                                  saveItemStack(config, node, armor[i] );                                  saveItemStack(config, node, armor[i] );
59                          }                          }
# Line 59  public class WorldChanged extends Player Line 75  public class WorldChanged extends Player
75                          ItemStack items[] = new ItemStack[ inv.getSize() ];                          ItemStack items[] = new ItemStack[ inv.getSize() ];
76    
77                          for (int i=0; i<inv.getSize(); i++) {                          for (int i=0; i<inv.getSize(); i++) {
78                                  String node =  player.getName() + ".inventory.creative." + i;;                                  String node =  player.getName() + INVENTORY_CREATIVE + i;;
79                                  //items[i] = config.getItemStack(node);                                  //items[i] = config.getItemStack(node);
80                                  items[i] = getItemStack(config, node);                                  items[i] = getItemStack(config, node);
81                          }                          }
# Line 68  public class WorldChanged extends Player Line 84  public class WorldChanged extends Player
84    
85                          ItemStack armor[] = new ItemStack[  inv.getArmorContents().length];                          ItemStack armor[] = new ItemStack[  inv.getArmorContents().length];
86                          for (int i=0; i<armor.length; i++) {                          for (int i=0; i<armor.length; i++) {
87                                  String node =  player.getName() + ".inventory.creative.armor." + i;                                  String node =  player.getName() + INVENTORY_CREATIVE_ARMOR + i;
88                                  //armor[i] = config.getItemStack(node);                                  //armor[i] = config.getItemStack(node);
89                                  armor[i] = getItemStack(config, node);                                  armor[i] = getItemStack(config, node);
90                          }                          }
# Line 80  public class WorldChanged extends Player Line 96  public class WorldChanged extends Player
96    
97    
98          public void saveItemStack(Configuration config, String node, ItemStack stack) {          public void saveItemStack(Configuration config, String node, ItemStack stack) {
99                  config.set(node + ".type", stack.getTypeId() );                  config.set(node + STACK_TYPE, stack.getTypeId() );
100                  config.set(node + ".amount", stack.getAmount() );                  config.set(node + STACK_AMOUNT, stack.getAmount() );
101                  config.set(node + ".damage", (int)stack.getDurability() );                  config.set(node + STACK_DAMAGE, (int)stack.getDurability() );
102                  config.set(node + ".data", (int)stack.getData().getData() );                  config.set(node + STACK_DATA, (int)stack.getData().getData() );
103          }          }
104    
105          public ItemStack getItemStack(Configuration config, String node) {          public ItemStack getItemStack(Configuration config, String node) {
106                  int type = config.getInt( node + ".type");                  int type = config.getInt( node + STACK_TYPE);
107                  int amount = config.getInt( node + ".amount");                  int amount = config.getInt( node + STACK_AMOUNT);
108                  short damage = (short) config.getInt(node + ".damage");                  short damage = (short) config.getInt(node + STACK_DAMAGE);
109                  byte data = (byte) config.getInt(node + ".data");                  byte data = (byte) config.getInt(node + STACK_DATA);
110    
111                  return new ItemStack(type,amount,damage,data);                  ItemStack stack = new ItemStack(type,amount,damage,data);
112                    stack.setDurability( damage ); //ItemStack constructor with Data value overrides durability
113                    return stack;
114          }          }
115                    
116  }  }

Legend:
Removed from v.1657  
changed lines
  Added in v.1697

  ViewVC Help
Powered by ViewVC 1.1.20