/[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

revision 1966 by torben, Thu Apr 4 12:05:06 2013 UTC revision 3238 by torben, Wed Jul 18 07:41:35 2018 UTC
# Line 82  public class WorldChanged implements Lis Line 82  public class WorldChanged implements Lis
82                          for (int i=0; i<inv.getSize(); i++) {                          for (int i=0; i<inv.getSize(); i++) {
83                                  String node =  player.getName() + INVENTORY_CREATIVE + i;;                                  String node =  player.getName() + INVENTORY_CREATIVE + i;;
84                                  //items[i] = config.getItemStack(node);                                  //items[i] = config.getItemStack(node);
85                                  items[i] = getItemStack(config, node);                                  items[i] = getItemStack(player, config, node);
86                          }                          }
87    
88    
# Line 91  public class WorldChanged implements Lis Line 91  public class WorldChanged implements Lis
91                          for (int i=0; i<armor.length; i++) {                          for (int i=0; i<armor.length; i++) {
92                                  String node =  player.getName() + INVENTORY_CREATIVE_ARMOR + i;                                  String node =  player.getName() + INVENTORY_CREATIVE_ARMOR + i;
93                                  //armor[i] = config.getItemStack(node);                                  //armor[i] = config.getItemStack(node);
94                                  armor[i] = getItemStack(config, node);                                  armor[i] = getItemStack(player, config, node);
95                          }                          }
96    
97                          inv.setContents( items );                          inv.setContents( items );
# Line 101  public class WorldChanged implements Lis Line 101  public class WorldChanged implements Lis
101    
102    
103          public void saveItemStack(Configuration config, String node, ItemStack stack) {          public void saveItemStack(Configuration config, String node, ItemStack stack) {
104                  int type = 0;                  String type = "";
105                  int amount = 0;                  int amount = 0;
106                  int damage = 0;                  int damage = 0;
107                  int data = 0;                  int data = 0;
108                  String enchantment = "";                  String enchantment = "";
109    
110                  if (stack != null) {                  if (stack != null) {
111                          type = stack.getTypeId();                          type = stack.getType().name();
112                          amount = stack.getAmount();                          amount = stack.getAmount();
113                          damage = stack.getDurability();                          damage = stack.getDurability();
114                          data = stack.getData().getData();                          data = stack.getData().getData();
# Line 122  public class WorldChanged implements Lis Line 122  public class WorldChanged implements Lis
122                  config.set(node + STACK_ENCHANTMENT, enchantment );                  config.set(node + STACK_ENCHANTMENT, enchantment );
123          }          }
124    
125          public ItemStack getItemStack(Configuration config, String node) {          public ItemStack getItemStack(Player player, Configuration config, String node) {
126                  int type = config.getInt( node + STACK_TYPE);                  String typeStr = config.getString( node + STACK_TYPE);
127                  int amount = config.getInt( node + STACK_AMOUNT);                  int amount = config.getInt( node + STACK_AMOUNT);
128                  short damage = (short) config.getInt(node + STACK_DAMAGE);                  short damage = (short) config.getInt(node + STACK_DAMAGE);
129                  byte data = (byte) config.getInt(node + STACK_DATA);                  byte data = (byte) config.getInt(node + STACK_DATA);
130                  String enc = config.getString(node + STACK_ENCHANTMENT );                  String enc = config.getString(node + STACK_ENCHANTMENT );
131    
132                  ItemStack stack = new ItemStack(type,amount,damage);                  Material mat = Material.valueOf(typeStr);
133                  MaterialData matData = new MaterialData(type,data);  
134                    ItemStack stack = new ItemStack(mat,amount,damage);
135                    MaterialData matData = new MaterialData(mat,data); //TODO: fix this
136                  stack.setData(matData);                  stack.setData(matData);
137                    
138                  stack.setDurability( damage ); //ItemStack constructor with Data value overrides durability                  stack.setDurability( damage ); //ItemStack constructor with Data value overrides durability
139                  stack.addEnchantments( parseEnchantmentString(enc) );                  try {
140                            stack.addEnchantments( parseEnchantmentString(enc) );
141                    } catch (IllegalArgumentException e) {
142                            plugin.getLogger().info( "EXCEPTION Error applying enchantment" + e.getMessage() );
143                            plugin.getLogger().info( "EXCEPTION Player " + player.getName() );
144                            plugin.getLogger().info( "EXCEPTION Type=" + typeStr + "  enhancement=" + enc);
145                    }
146                  return stack;                  return stack;
147          }          }
148    

Legend:
Removed from v.1966  
changed lines
  Added in v.3238

  ViewVC Help
Powered by ViewVC 1.1.20