The ITEM, DEED and RUNE cache templates implement the getters for the 65 fields all three define. The Item-only fields (weapon, primary and secondary attr, bulk, defense rating, sheath, stub flag/id) stay off the interface. CObjectTemplate.lookup delegates to CObjectIndex.lookup. JSON-Refactor-Plan Task 1.1 (D1). No consumers change; no values change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
100 lines
3.9 KiB
Java
100 lines
3.9 KiB
Java
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
// Magicbane Emulator Project © 2013 - 2026
|
|
// https://www.magicbane.com
|
|
|
|
package engine.parsers.objects;
|
|
|
|
import engine.math.Vector3fImmutable;
|
|
import engine.mbEnums;
|
|
import engine.parsers.cache.CObjectIndex;
|
|
import org.json.JSONArray;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.EnumMap;
|
|
import java.util.EnumSet;
|
|
import java.util.HashMap;
|
|
import java.util.LinkedHashMap;
|
|
|
|
// Common type for ITEM, DEED and RUNE cache templates, which share one id space.
|
|
// Getters cover only the obj_/combat_/item_ fields all three define (JSON-Refactor-Plan D1).
|
|
// Returned collections are the template's own; never modify them.
|
|
|
|
public interface CObjectTemplate {
|
|
|
|
static CObjectTemplate lookup(int templateId) {
|
|
return CObjectIndex.lookup(templateId);
|
|
}
|
|
|
|
int getTemplateId();
|
|
String getObjName();
|
|
boolean getObjPickable();
|
|
float getObjGravity();
|
|
float getObjCullDistance();
|
|
Vector3fImmutable getObjScale();
|
|
int getObjRenderObject();
|
|
boolean getObjDoubleFusion();
|
|
Vector3fImmutable getObjForwardVector();
|
|
String getObjTrackingName();
|
|
float getObjMaxTrackingDistance();
|
|
int getObjIcon();
|
|
float getObjGravityF();
|
|
LinkedHashMap<String, Integer> getObjSoundEvents();
|
|
JSONArray getObjArcHardpointList();
|
|
HashMap<String, String> getObjSparseData();
|
|
int getObjRenderObjectLowDetail();
|
|
Vector3fImmutable getObjDefaultAlignment();
|
|
String getObjSoundTable();
|
|
|
|
float getCombatHealthCurrent();
|
|
float getCombatHealthFull();
|
|
EnumMap<mbEnums.DamageType, Float> getCombatAttackResist();
|
|
JSONArray getCombatPowers();
|
|
|
|
mbEnums.ItemType getItemType();
|
|
int getItemEqSlotsValue();
|
|
boolean getItemEqSlotsType();
|
|
EnumSet<mbEnums.EquipSlotType> getItemEqSlotsOr();
|
|
EnumSet<mbEnums.EquipSlotType> getItemEqSlotsAnd();
|
|
boolean getItemTakeable();
|
|
int getItemValue();
|
|
int getItemWt();
|
|
float getItemPassiveDefenseMod();
|
|
String getItemBaseName();
|
|
String getItemDsc();
|
|
int getItemRenderObjectFemale();
|
|
float getItemHealthFull();
|
|
String getItemSkillUsed();
|
|
String getItemSkillMasteryUsed();
|
|
int getItemParryAnimId();
|
|
EnumMap<mbEnums.ShrineType, Integer> getItemOfferingInfo();
|
|
EnumSet<mbEnums.ItemFlags> getItemFlags();
|
|
EnumSet<mbEnums.ItemUseFlags> getItemUseFlags();
|
|
int getItemPostItemId();
|
|
int getItemInitialCharges();
|
|
int getItemBookArcana();
|
|
LinkedHashMap<String, Integer> getItemSkillReq();
|
|
boolean getItemRaceReqRestrict();
|
|
EnumSet<mbEnums.MonsterType> getItemRaceReq();
|
|
boolean getItemClassReqRestrict();
|
|
EnumSet<mbEnums.ClassType> getItemClassReq();
|
|
boolean getItemDiscReqRestrict();
|
|
EnumSet<mbEnums.DisciplineType> getItemDiscReq();
|
|
EnumMap<mbEnums.AttributeType, Integer> getItemAttrReq();
|
|
int getItemLevelReq();
|
|
int getItemRankReq();
|
|
mbEnums.SexType getItemSexReq();
|
|
ArrayList<UserPowerAction> getItemUserPowerAction();
|
|
ArrayList<PowerGrant> getItemPowerGrant();
|
|
LinkedHashMap<String, ArrayList<int[]>> getItemPowerAction();
|
|
boolean getItemSheathable();
|
|
boolean getItemHasStub();
|
|
EnumMap<mbEnums.ShrineType, Integer> getItemOfferingAdjustments();
|
|
EnumMap<mbEnums.ResourceType, Integer> getItemResourceCosts();
|
|
int getItemBaneRank();
|
|
boolean getItemIgnoreSavedActions();
|
|
}
|