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 |
|
|
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 ); |
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(); |
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 |
|
|