@@ -16,7 +16,7 @@ jobject newTagCompound(JNIEnv* env, const CompoundTag* compound){
1616 jclass jclass_NbtCompound=env->FindClass (JCLASS_COMPOUND_TAG);
1717 jmethodID jmethod_NbtCompound_init=env->GetMethodID (jclass_NbtCompound," <init>" ," ()V" );
1818 jobject jobject_native_compound=env->NewObject (jclass_NbtCompound,jmethod_NbtCompound_init);
19- jmethodID jmethod_NbtCompound_put=env->GetMethodID (jclass_NbtCompound," put" ," (Ljava/lang/String; " JCLASS_COMPOUND_TAG " )" JCLASS_COMPOUND_TAG );
19+ jmethodID jmethod_NbtCompound_put=env->GetMethodID (jclass_NbtCompound," put" ," (" JCLASS_String JCLASS_TAG " )" JCLASS_TAG );
2020 for (auto it=compound->begin ();it!=compound->end ();++it){
2121 const std::string& key=it->first ;
2222 const Tag& tag=it->second .get ();
@@ -72,7 +72,7 @@ jobject newTagList(JNIEnv* env, const ListTag* list){
7272 jclass jclass_NbtList=env->FindClass (JCLASS_LIST_TAG);
7373 jmethodID jmethod_NbtList_init=env->GetMethodID (jclass_NbtList," <init>" ," ()V" );
7474 jobject jobject_native_list=env->NewObject (jclass_NbtList,jmethod_NbtList_init);
75- jmethodID jmethod_NbtList_add=env->GetMethodID (jclass_NbtList," add" ," (" JCLASS_COMPOUND_TAG " )Z" );
75+ jmethodID jmethod_NbtList_add=env->GetMethodID (jclass_NbtList," add" ," (" JCLASS_TAG " )Z" );
7676 for (auto it=list->begin ();it!=list->end ();++it){
7777 const Tag* tag=it->get ();
7878 jobject jobject_native_note=nullptr ;
@@ -158,7 +158,7 @@ jobject newTagDouble(JNIEnv* env, const DoubleTag* value){
158158}
159159
160160jobject newTagString (JNIEnv* env, const StringTag* value){
161- jclass jclass_NbtString=env->FindClass (JCLASS_STRING_TAG );
161+ jclass jclass_NbtString=env->FindClass (JCLASS_String_TAG );
162162 jmethodID jmethod_NbtString_init=env->GetMethodID (jclass_NbtString," <init>" ," (Ljava/lang/String;)V" );
163163 jstring jstring_native_value=env->NewStringUTF (value->data ());
164164 jobject jobject_native_value=env->NewObject (jclass_NbtString,jmethod_NbtString_init,jstring_native_value);
@@ -224,7 +224,7 @@ void toNativeDouble(JNIEnv *env, jobject obj, DoubleTag &tag){
224224 tag.data =(double )env->GetDoubleField (obj,jmethod_NbtDouble_value);
225225}
226226void toNativeString (JNIEnv *env, jobject obj, StringTag &tag){
227- jclass jclass_NbtString=env->FindClass (JCLASS_STRING_TAG );
227+ jclass jclass_NbtString=env->FindClass (JCLASS_String_TAG );
228228 jfieldID jfield_NbtString_value=env->GetFieldID (jclass_NbtString," value" ," Ljava/lang/String;" );
229229 jstring jstring_value=(jstring)env->GetObjectField (obj,jfield_NbtString_value);
230230 const char * c_str_value=env->GetStringUTFChars (jstring_value,nullptr );
@@ -342,20 +342,23 @@ void toNativeList(JNIEnv *env, jobject thisObj, ListTag &tag){
342342
343343void toNativeCompound (JNIEnv *env, jobject thisObj, CompoundTag &tag){
344344 jclass jclass_NbtCompound=env->FindClass (JCLASS_COMPOUND_TAG);
345+ jclass jclass_Iterator=env->FindClass (" Ljava/util/Iterator;" );
346+ jclass jclass_Set=env->FindClass (" Ljava/util/Set;" );
345347 jclass jclass_Nbt=env->FindClass (JCLASS_TAG);
346348 jmethodID jmethod_Nbt_getId=env->GetMethodID (jclass_Nbt," getId" ," ()I" );
347349 jmethodID jmethod_NbtCompound_entrySet=env->GetMethodID (jclass_NbtCompound," entrySet" ," ()Ljava/util/Set;" );
348350 jobject jobject_native_entries=env->CallObjectMethod (thisObj,jmethod_NbtCompound_entrySet);
349- jclass jclass_NbtCompound_Entry=env->FindClass (PACK_JAVA_NAME (" nbt/util/NbtCompound$Entry" ));
350- jmethodID jmethod_NbtCompound_Entry_getKey=env->GetMethodID (jclass_NbtCompound_Entry," getKey" ," ()Ljava/lang/String;" );
351- jmethodID jmethod_NbtCompound_Entry_getValue=env->GetMethodID (jclass_NbtCompound_Entry," getValue" ," ()" JCLASS_TAG);
352- jmethodID jmethod_NbtCompound_Entry_iterator=env->GetMethodID (jclass_NbtCompound_Entry," iterator" ," ()Ljava/util/Iterator;" );
353- jmethodID jmethod_NbtCompound_Entry_hasNext=env->GetMethodID (jclass_NbtCompound_Entry," hasNext" ," ()Z" );
354- jmethodID jmethod_NbtCompound_Entry_next=env->GetMethodID (jclass_NbtCompound_Entry," next" ," ()Ljava/lang/Object;" );
355- jobject jobject_native_entry_iterator=env->CallObjectMethod (jobject_native_entries,jmethod_NbtCompound_Entry_iterator);
351+ jclass jclass_NbtCompound_Entry=env->FindClass (" Ljava/util/Map$Entry;" );
352+ jmethodID jmethod_NbtCompound_Entry_getKey=env->GetMethodID (jclass_NbtCompound_Entry," getKey" ," ()Ljava/lang/Object;" );
353+ jmethodID jmethod_NbtCompound_Entry_getValue=env->GetMethodID (jclass_NbtCompound_Entry," getValue" ," ()Ljava/lang/Object;" );
354+ jmethodID jmethod_Set_iterator=env->GetMethodID (jclass_Set," iterator" ," ()Ljava/util/Iterator;" );
355+ env->ExceptionDescribe ();
356+ jmethodID jmethod_NbtCompound_Iterator_hasNext=env->GetMethodID (jclass_Iterator," hasNext" ," ()Z" );
357+ jmethodID jmethod_NbtCompound_Iterator_next=env->GetMethodID (jclass_Iterator," next" ," ()Ljava/lang/Object;" );
358+ jobject jobject_native_entry_iterator=env->CallObjectMethod (jobject_native_entries,jmethod_Set_iterator);
356359
357- while (env->CallBooleanMethod (jobject_native_entry_iterator,jmethod_NbtCompound_Entry_hasNext )){
358- jobject jobject_native_entry=env->CallObjectMethod (jobject_native_entry_iterator,jmethod_NbtCompound_Entry_next );
360+ while (env->CallBooleanMethod (jobject_native_entry_iterator,jmethod_NbtCompound_Iterator_hasNext )){
361+ jobject jobject_native_entry=env->CallObjectMethod (jobject_native_entry_iterator,jmethod_NbtCompound_Iterator_next );
359362 jstring jstring_native_key=(jstring)env->CallObjectMethod (jobject_native_entry,jmethod_NbtCompound_Entry_getKey);
360363 jobject jobject_native_tag=(jobject)env->CallObjectMethod (jobject_native_entry,jmethod_NbtCompound_Entry_getValue);
361364 const char * c_str_key=nullptr ;
0 commit comments