Browse Source

Try Catch

combat-2
MagicBot 9 months ago
parent
commit
d363a9fc1b
  1. 155
      src/engine/objects/ItemTemplate.java

155
src/engine/objects/ItemTemplate.java

@ -12,6 +12,7 @@ import engine.Enum; @@ -12,6 +12,7 @@ import engine.Enum;
import engine.math.Vector3fImmutable;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.pmw.tinylog.Logger;
import java.util.EnumSet;
import java.util.HashMap;
@ -54,114 +55,118 @@ public class ItemTemplate { @@ -54,114 +55,118 @@ public class ItemTemplate {
public ItemTemplate(JSONObject jsonObject) {
// Reading a String
try {
// Reading a String
obj_name = (String) jsonObject.get("obj_name");
obj_name = (String) jsonObject.get("obj_name");
// Reading floats from an array
// Reading floats from an array
JSONArray scaleData = (JSONArray) jsonObject.get("obj_scale");
obj_scale = new Vector3fImmutable(((Double) scaleData.get(0)).floatValue(), ((Double) scaleData.get(1)).floatValue(),
((Double) scaleData.get(2)).floatValue());
JSONArray scaleData = (JSONArray) jsonObject.get("obj_scale");
obj_scale = new Vector3fImmutable(((Double) scaleData.get(0)).floatValue(), ((Double) scaleData.get(1)).floatValue(),
((Double) scaleData.get(2)).floatValue());
// Reading an integer value
// 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 = ((Long) jsonObject.get("obj_render_object")).intValue();
obj_icon = ((Long) jsonObject.get("obj_icon")).intValue();
// Reading float values
// 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 = ((Double) jsonObject.get("combat_health_current")).floatValue();
combat_health_full = ((Double) jsonObject.get("combat_health_full")).floatValue();
// Reading a hashmap of floats
// Reading a hashmap of floats
JSONObject resist_json = (JSONObject) jsonObject.get("combat_attack_resist");
JSONObject resist_json = (JSONObject) jsonObject.get("combat_attack_resist");
for (Object key : resist_json.keySet()) {
float resist = ((Double) resist_json.get(key)).floatValue();
combat_attack_resist.put((String) key, resist);
}
for (Object key : resist_json.keySet()) {
float resist = ((Double) resist_json.get(key)).floatValue();
combat_attack_resist.put((String) key, resist);
}
// Parsing an enum
// Parsing an enum
item_type = Enum.ItemType.valueOf((String) jsonObject.get("item_type"));
item_eq_slots_value = ((Long) jsonObject.get("item_eq_slots_value")).intValue();
item_eq_slots_type = (boolean) jsonObject.get("item_eq_slots_type");
item_type = Enum.ItemType.valueOf((String) jsonObject.get("item_type"));
item_eq_slots_value = ((Long) jsonObject.get("item_eq_slots_value")).intValue();
item_eq_slots_type = (boolean) jsonObject.get("item_eq_slots_type");
// Parsing an enumset
// Parsing an enumset
JSONArray eq_slots_or = (JSONArray) jsonObject.get("item_eq_slots_or");
JSONArray eq_slots_or = (JSONArray) jsonObject.get("item_eq_slots_or");
if (eq_slots_or.isEmpty() == false)
for (Object o : eq_slots_or)
item_eq_slots_or.add(Enum.ItemEquipSlotType.valueOf((String) o));
if (eq_slots_or.isEmpty() == false)
for (Object o : eq_slots_or)
item_eq_slots_or.add(Enum.ItemEquipSlotType.valueOf((String) o));
JSONArray eq_slots_and = (JSONArray) jsonObject.get("item_eq_slots_and");
JSONArray eq_slots_and = (JSONArray) jsonObject.get("item_eq_slots_and");
if (eq_slots_and.isEmpty() == false)
for (Object o : eq_slots_or)
item_eq_slots_and.add(Enum.ItemEquipSlotType.valueOf((String) o));
if (eq_slots_and.isEmpty() == false)
for (Object o : eq_slots_or)
item_eq_slots_and.add(Enum.ItemEquipSlotType.valueOf((String) o));
item_value = ((Long) jsonObject.get("item_value")).intValue();
item_wt = ((Long) jsonObject.get("item_wt")).intValue();
item_passive_defense_mod = ((Double) jsonObject.get("item_passive_defense_mod")).floatValue();
item_base_name = (String) jsonObject.get("item_base_name");
item_dsc = (String) jsonObject.get("item_dsc");
item_render_object_female = ((Long) jsonObject.get("item_render_object_female")).intValue();
item_health_full = ((Double) jsonObject.get("item_health_full")).floatValue();
item_value = ((Long) jsonObject.get("item_value")).intValue();
item_wt = ((Long) jsonObject.get("item_wt")).intValue();
item_passive_defense_mod = ((Double) jsonObject.get("item_passive_defense_mod")).floatValue();
item_base_name = (String) jsonObject.get("item_base_name");
item_dsc = (String) jsonObject.get("item_dsc");
item_render_object_female = ((Long) jsonObject.get("item_render_object_female")).intValue();
item_health_full = ((Double) jsonObject.get("item_health_full")).floatValue();
Object skills_used = jsonObject.get("item_skill_used");
Object skills_used = jsonObject.get("item_skill_used");
if (skills_used instanceof String) {
String skilString = (String) skills_used;
skilString = skilString.replaceAll("\\s", "");
skilString = skilString.replaceAll(",", "");
item_skill_used.add(Enum.CharacterSkills.valueOf(skilString));
}
if (skills_used instanceof String) {
String skilString = (String) skills_used;
skilString = skilString.replaceAll("\\s", "");
skilString = skilString.replaceAll(",", "");
item_skill_used.add(Enum.CharacterSkills.valueOf(skilString));
}
Object mastery_used = jsonObject.get("item_skill_mastery_used");
Object mastery_used = jsonObject.get("item_skill_mastery_used");
if (mastery_used instanceof String) {
String masteryString = (String) mastery_used;
masteryString = masteryString.replaceAll("\\s", "");
masteryString = masteryString.replaceAll(",", "");
item_skill_mastery_used.add(Enum.CharacterSkills.valueOf(masteryString));
}
if (mastery_used instanceof String) {
String masteryString = (String) mastery_used;
masteryString = masteryString.replaceAll("\\s", "");
masteryString = masteryString.replaceAll(",", "");
item_skill_mastery_used.add(Enum.CharacterSkills.valueOf(masteryString));
}
item_parry_anim_id = ((Long) jsonObject.get("item_parry_anim_id")).intValue();
item_parry_anim_id = ((Long) jsonObject.get("item_parry_anim_id")).intValue();
// Item Type == ARMOR?
// Item Type == ARMOR?
if (jsonObject.containsValue("item_bulk_factor"))
item_bulk_factor = ((Double) jsonObject.get("item_bulk_factor")).floatValue();
if (jsonObject.containsValue("item_bulk_factor"))
item_bulk_factor = ((Double) jsonObject.get("item_bulk_factor")).floatValue();
if (jsonObject.containsValue("item_defense_rating"))
item_defense_rating = ((Double) jsonObject.get("item_defense_rating")).floatValue();
if (jsonObject.containsValue("item_defense_rating"))
item_defense_rating = ((Double) jsonObject.get("item_defense_rating")).floatValue();
JSONArray itemflags = (JSONArray) jsonObject.get("item_flags");
JSONArray itemflags = (JSONArray) jsonObject.get("item_flags");
if (itemflags.isEmpty() == false)
for (Object o : itemflags)
item_flags.add(Enum.ItemFlags.valueOf((String) o));
if (itemflags.isEmpty() == false)
for (Object o : itemflags)
item_flags.add(Enum.ItemFlags.valueOf((String) o));
JSONArray itemUseflags = (JSONArray) jsonObject.get("item_use_flags");
JSONArray itemUseflags = (JSONArray) jsonObject.get("item_use_flags");
if (itemUseflags.isEmpty() == false)
for (Object o : itemUseflags)
item_use_flags.add(Enum.ItemUseFlags.valueOf((String) o));
if (itemUseflags.isEmpty() == false)
for (Object o : itemUseflags)
item_use_flags.add(Enum.ItemUseFlags.valueOf((String) o));
item_initial_charges = ((Long) jsonObject.get("item_initial_charges")).intValue();
item_initial_charges = ((Long) jsonObject.get("item_initial_charges")).intValue();
JSONArray skill_required = (JSONArray) jsonObject.get("item_skill_req");
JSONArray skill_required = (JSONArray) jsonObject.get("item_skill_req");
for (Object o : skill_required) {
JSONObject skill_req = (JSONObject) o;
String skill_type = (String) skill_req.get("skill_type");
skill_type = skill_type.replaceAll("\\s", "");
skill_type = skill_type.replaceAll(",", "");
int skill_level = ((Long) skill_req.get("skill_level")).intValue();
item_skill_required.put(Enum.CharacterSkills.valueOf(skill_type), skill_level);
for (Object o : skill_required) {
JSONObject skill_req = (JSONObject) o;
String skill_type = (String) skill_req.get("skill_type");
skill_type = skill_type.replaceAll("\\s", "");
skill_type = skill_type.replaceAll(",", "");
int skill_level = ((Long) skill_req.get("skill_level")).intValue();
item_skill_required.put(Enum.CharacterSkills.valueOf(skill_type), skill_level);
}
} catch (Exception e) {
Logger.error(e);
}
}

Loading…
Cancel
Save