ZotCoreLoader
- добавлена привязка NativeItemInstanceExtra к Item при получении из Item - добавлена очистка поинтера после удаления NativeItemInstanceExtra из памяти
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user