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);
|
String custom = tag.getString(INNER_CORE_TAG_NAME);
|
||||||
if(!custom.equals("")){
|
if(!custom.equals("")){
|
||||||
NativeItemInstanceExtra extra = new NativeItemInstanceExtra();
|
NativeItemInstanceExtra extra = new NativeItemInstanceExtra();
|
||||||
|
extra.getProvider().apply(item);
|
||||||
extra.setAllCustomData(custom);
|
extra.setAllCustomData(custom);
|
||||||
return extra;
|
return extra;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void removePointer(long ptr){
|
||||||
|
items_pointers.removePointer(ptr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,9 +115,11 @@ public class NativeItemInstanceExtra {
|
|||||||
@Override
|
@Override
|
||||||
protected void finalize() throws Throwable {
|
protected void finalize() throws Throwable {
|
||||||
super.finalize();
|
super.finalize();
|
||||||
if (isFinalizable) {
|
|
||||||
|
ItemUtils.removePointer(ptr);
|
||||||
|
/*if (isFinalizable) {
|
||||||
finalizeNative(ptr); // TODO: !!! make extra ptr for java extra instance unique in any case
|
finalizeNative(ptr); // TODO: !!! make extra ptr for java extra instance unique in any case
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
public NativeItemInstanceExtra(long extra) {
|
public NativeItemInstanceExtra(long extra) {
|
||||||
@@ -158,6 +160,10 @@ public class NativeItemInstanceExtra {
|
|||||||
isFinalizable = nativeIsFinalizable(ptr);
|
isFinalizable = nativeIsFinalizable(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ItemExtraDataProvider getProvider() {
|
||||||
|
return provider;
|
||||||
|
}
|
||||||
|
|
||||||
public JSONObject asJson() {
|
public JSONObject asJson() {
|
||||||
if (isEmpty()) {
|
if (isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
Reference in New Issue
Block a user