package tk.captainsplexx.Resource.EBX; import tk.captainsplexx.Game.Core; import tk.captainsplexx.Resource.EBX.EBXHandler.FieldValueType; import tk.captainsplexx.Resource.EBX.Structure.EBXStructureEntry; public class EBXExternalGUID { private String fileGUID = null; private String instanceGUID = null; public EBXExternalGUID(String fileGUID, String instanceGUID) { this.fileGUID = fileGUID; this.instanceGUID = instanceGUID; } public EBXExternalGUID(EBXField ebxField){ if (ebxField.getValue()!=null){ if (ebxField.getType() == FieldValueType.ExternalGuid || ebxField.getType() == FieldValueType.Guid ) { String[] splitString = ((String) ebxField.getValue()).split(" "); if (splitString.length == 2) { this.fileGUID = splitString[0]; this.instanceGUID = splitString[1]; }else if(ebxField.getType() == FieldValueType.Guid && ebxField.getValue().toString().contains("null")){ this.fileGUID = null; this.instanceGUID = null; }else{ System.err.println("Invalid External GUID length in readExternalGUID"); } }else{ System.err.println(ebxField.getType()+" is not an ExternalGUID!" + ebxField.getValue()); } } } public String getFileGUID() { return fileGUID; } public void setFileGUID(String fileGUID) { this.fileGUID = fileGUID; } public String getInstanceGUID() { return instanceGUID; } public void setInstanceGUID(String instanceGUID) { this.instanceGUID = instanceGUID; } public String getBothGUIDs(){ return fileGUID+"/"+instanceGUID; } public EBXStructureEntry follow(boolean tryLoad, boolean loadOriginal){ return Core.getGame().getResourceHandler().getEBXHandler().getStructureInstance(this, tryLoad, loadOriginal); } }