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(); |
123 |
} |
} |
124 |
|
|
125 |
public ItemStack getItemStack(Player player, 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 |
try { |
try { |
140 |
stack.addEnchantments( parseEnchantmentString(enc) ); |
stack.addEnchantments( parseEnchantmentString(enc) ); |
141 |
} catch (IllegalArgumentException e) { |
} catch (IllegalArgumentException e) { |
142 |
plugin.getLogger().info( "EXCEPTION Error applying enchantment" + e.getMessage() ); |
plugin.getLogger().info( "EXCEPTION Error applying enchantment" + e.getMessage() ); |
143 |
plugin.getLogger().info( "EXCEPTION Player " + player.getName() ); |
plugin.getLogger().info( "EXCEPTION Player " + player.getName() ); |
144 |
plugin.getLogger().info( "EXCEPTION Type=" + type + " enhancement=" + enc); |
plugin.getLogger().info( "EXCEPTION Type=" + typeStr + " enhancement=" + enc); |
145 |
} |
} |
146 |
return stack; |
return stack; |
147 |
} |
} |