// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // Magicbane Emulator Project © 2013 - 2022 // www.magicbane.com package engine.objects; import engine.math.Vector3fImmutable; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import java.util.HashMap; public class ItemTemplate { // Global template lookup public static HashMap itemTemplates = new HashMap<>(); // Template Properties public String obj_name = ""; public Vector3fImmutable obj_scale = new Vector3fImmutable(); public int obj_render_object; public HashMap combat_attack_resist = new HashMap<>(); public ItemTemplate(JSONObject jsonObject) { // Reading a String obj_name = (String) jsonObject.get("obj_name"); // 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()); // Reading an integer value obj_render_object = ((Long) jsonObject.get("obj_render_object")).intValue(); // Reading a hashmap of floats JSONObject resist_json = (JSONObject) jsonObject.get("combat_attack_resist"); for (Object key : resist_json.keySet()) { Float resist = (Float) resist_json.get(key); combat_attack_resist.put((String) key, resist); } } }