ZotCoreLoader

- добавлена привязка NativeItemInstanceExtra к Item при получении из Item
- добавлена очистка поинтера после удаления NativeItemInstanceExtra из памяти
This commit is contained in:
Reider745
2023-11-24 18:30:20 +03:00
parent e54e27cccf
commit b9c519e3a7
2 changed files with 13 additions and 2 deletions
@@ -118,9 +118,14 @@ public class ItemUtils implements HookClass {
String custom = tag.getString(INNER_CORE_TAG_NAME);
if(!custom.equals("")){
NativeItemInstanceExtra extra = new NativeItemInstanceExtra();
extra.getProvider().apply(item);
extra.setAllCustomData(custom);
return extra;
}
return null;
}
public static void removePointer(long ptr){
items_pointers.removePointer(ptr);
}
}
@@ -115,9 +115,11 @@ public class NativeItemInstanceExtra {
@Override
protected void finalize() throws Throwable {
super.finalize();
if (isFinalizable) {
ItemUtils.removePointer(ptr);
/*if (isFinalizable) {
finalizeNative(ptr); // TODO: !!! make extra ptr for java extra instance unique in any case
}
}*/
}
public NativeItemInstanceExtra(long extra) {
@@ -158,6 +160,10 @@ public class NativeItemInstanceExtra {
isFinalizable = nativeIsFinalizable(ptr);
}
public ItemExtraDataProvider getProvider() {
return provider;
}
public JSONObject asJson() {
if (isEmpty()) {
return null;