|
|
|
@ -140,69 +140,68 @@ public class ItemTemplate {
@@ -140,69 +140,68 @@ public class ItemTemplate {
|
|
|
|
|
try { |
|
|
|
|
// Reading a String
|
|
|
|
|
|
|
|
|
|
obj_name = (String) jsonObject.get("obj_name"); |
|
|
|
|
obj_name = jsonObject.getString("obj_name"); |
|
|
|
|
|
|
|
|
|
// Reading a boolean
|
|
|
|
|
|
|
|
|
|
obj_pickable = (boolean) jsonObject.get("obj_pickable"); |
|
|
|
|
obj_pickable = jsonObject.getBoolean("obj_pickable"); |
|
|
|
|
|
|
|
|
|
// Reading floats from an array (note always check for empty arrays)
|
|
|
|
|
|
|
|
|
|
JSONArray scaleData = (JSONArray) jsonObject.get("obj_scale"); |
|
|
|
|
JSONArray scaleData = jsonObject.getJSONArray("obj_scale"); |
|
|
|
|
|
|
|
|
|
if (scaleData.isEmpty() == false) |
|
|
|
|
obj_scale = new Vector3fImmutable(((Double) scaleData.get(0)).floatValue(), ((Double) scaleData.get(1)).floatValue(), |
|
|
|
|
((Double) scaleData.get(2)).floatValue()); |
|
|
|
|
obj_scale = new Vector3fImmutable(scaleData.getFloat(0), scaleData.getFloat(1), |
|
|
|
|
scaleData.getFloat(2)); |
|
|
|
|
|
|
|
|
|
JSONArray forwardVector = (JSONArray) jsonObject.get("obj_forward_vector"); |
|
|
|
|
JSONArray forwardVector = jsonObject.getJSONArray("obj_forward_vector"); |
|
|
|
|
|
|
|
|
|
if (forwardVector.isEmpty() == false) |
|
|
|
|
obj_forward_vector = new Vector3fImmutable(((Double) forwardVector.get(0)).floatValue(), ((Double) forwardVector.get(1)).floatValue(), |
|
|
|
|
((Double) forwardVector.get(2)).floatValue()); |
|
|
|
|
obj_forward_vector = new Vector3fImmutable(forwardVector.getFloat(0), forwardVector.getFloat(1), |
|
|
|
|
forwardVector.getFloat(2)); |
|
|
|
|
|
|
|
|
|
JSONArray defaultAlighment = (JSONArray) jsonObject.get("obj_default_alignment"); |
|
|
|
|
JSONArray defaultAlignment = jsonObject.getJSONArray("obj_default_alignment"); |
|
|
|
|
|
|
|
|
|
if (defaultAlighment.isEmpty() == false) |
|
|
|
|
obj_default_alignment = new Vector3fImmutable(((Double) defaultAlighment.get(0)).floatValue(), ((Double) defaultAlighment.get(1)).floatValue(), |
|
|
|
|
((Double) defaultAlighment.get(2)).floatValue()); |
|
|
|
|
if (defaultAlignment.isEmpty() == false) |
|
|
|
|
obj_default_alignment = new Vector3fImmutable(defaultAlignment.getFloat(0), defaultAlignment.getFloat(1), |
|
|
|
|
defaultAlignment.getFloat(2)); |
|
|
|
|
|
|
|
|
|
// Reading an integer value
|
|
|
|
|
|
|
|
|
|
obj_render_object = ((Long) jsonObject.get("obj_render_object")).intValue(); |
|
|
|
|
obj_icon = ((Long) jsonObject.get("obj_icon")).intValue(); |
|
|
|
|
obj_render_object = jsonObject.getInt("obj_render_object"); |
|
|
|
|
obj_icon = jsonObject.getInt("obj_icon"); |
|
|
|
|
|
|
|
|
|
JSONObject obj_sparse_json = (JSONObject) jsonObject.get("obj_sparse_data"); |
|
|
|
|
JSONObject obj_sparse_json = jsonObject.getJSONObject("obj_sparse_data"); |
|
|
|
|
|
|
|
|
|
for (Object key : obj_sparse_json.keySet()) { |
|
|
|
|
String sparseType = (String) key; |
|
|
|
|
Object sparseValue = obj_sparse_json.get(sparseType); |
|
|
|
|
obj_sparse_data.put(sparseType, sparseValue.toString()); |
|
|
|
|
for (String key : obj_sparse_json.keySet()) { |
|
|
|
|
String sparseValue = obj_sparse_json.getString(key); |
|
|
|
|
obj_sparse_data.put(key, sparseValue); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Banes are defined by their sparse data field
|
|
|
|
|
|
|
|
|
|
if (obj_sparse_data.get("ACTIONRESPONSE") != null) |
|
|
|
|
if (obj_sparse_data.get("ACTIONRESPONSE").equals("4250517122")) |
|
|
|
|
item_bane_rank = ((Long) jsonObject.get("item_bane_rank")).intValue(); |
|
|
|
|
item_bane_rank = jsonObject.getInt("item_bane_rank"); |
|
|
|
|
|
|
|
|
|
// Reading float values
|
|
|
|
|
|
|
|
|
|
combat_health_current = ((Double) jsonObject.get("combat_health_current")).floatValue(); |
|
|
|
|
combat_health_full = ((Double) jsonObject.get("combat_health_full")).floatValue(); |
|
|
|
|
combat_health_current = jsonObject.getFloat("combat_health_current"); |
|
|
|
|
combat_health_full = jsonObject.getFloat("combat_health_full"); |
|
|
|
|
|
|
|
|
|
// Reading a hashmap of floats
|
|
|
|
|
|
|
|
|
|
JSONObject resist_json = (JSONObject) jsonObject.get("combat_attack_resist"); |
|
|
|
|
JSONObject resist_json = jsonObject.getJSONObject("combat_attack_resist"); |
|
|
|
|
|
|
|
|
|
for (String key : resist_json.keySet()) { |
|
|
|
|
float resist = ((Double) resist_json.get(key)).floatValue(); |
|
|
|
|
combat_attack_resist.put((String) key, resist); |
|
|
|
|
float resist = resist_json.getFloat(key); |
|
|
|
|
combat_attack_resist.put(key, resist); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Parsing an enum
|
|
|
|
|
|
|
|
|
|
item_type = mbEnums.ItemType.valueOf((String) jsonObject.get("item_type")); |
|
|
|
|
item_eq_slots_value = ((Long) jsonObject.get("item_eq_slots_value")).intValue(); |
|
|
|
|
item_type = mbEnums.ItemType.valueOf(jsonObject.getString("item_type")); |
|
|
|
|
item_eq_slots_value = jsonObject.getInt("item_eq_slots_value"); |
|
|
|
|
item_eq_slots_type = (boolean) jsonObject.get("item_eq_slots_type"); |
|
|
|
|
|
|
|
|
|
// Parsing an enumset
|
|
|
|
|