diff --git a/.idea/modules/MyBot.main.iml b/.idea/modules/MyBot.main.iml
index cc1e2ab..afc1871 100644
--- a/.idea/modules/MyBot.main.iml
+++ b/.idea/modules/MyBot.main.iml
@@ -3,7 +3,6 @@
-
\ No newline at end of file
diff --git a/.idea/modules/mybot-api/MyBot.mybot-api.main.iml b/.idea/modules/mybot-api/MyBot.mybot-api.main.iml
index 14a5d1f..4acdb19 100644
--- a/.idea/modules/mybot-api/MyBot.mybot-api.main.iml
+++ b/.idea/modules/mybot-api/MyBot.mybot-api.main.iml
@@ -3,7 +3,6 @@
-
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
index ad22b54..4ca5f3c 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -14,7 +14,7 @@ allprojects {
apply(plugin = "java-library")
val groupName by extra("cn.wzpmc")
val projectArtifactId by extra("my-bot")
- val projectVersion by extra("1.0.5")
+ val projectVersion by extra("1.0.6-SNAPSHOT")
repositories {
mavenCentral()
maven("https://libraries.minecraft.net")
diff --git a/mybot-api/src/main/java/cn/wzpmc/message/json/JsonMessagePart.java b/mybot-api/src/main/java/cn/wzpmc/message/json/JsonMessagePart.java
index 6051a8c..559e4a6 100644
--- a/mybot-api/src/main/java/cn/wzpmc/message/json/JsonMessagePart.java
+++ b/mybot-api/src/main/java/cn/wzpmc/message/json/JsonMessagePart.java
@@ -21,6 +21,7 @@ public interface JsonMessagePart {
* @author wzp
* @since 2024/7/31 上午2:40 v0.0.1-dev
*/
+ @JSONField(serialize = false, deserialize = false)
PartType getPartType();
@JSONField(name = "type")
diff --git a/src/main/java/cn/wzpmc/utils/JsonUtils.java b/src/main/java/cn/wzpmc/utils/JsonUtils.java
index 12ac8b1..3796514 100644
--- a/src/main/java/cn/wzpmc/utils/JsonUtils.java
+++ b/src/main/java/cn/wzpmc/utils/JsonUtils.java
@@ -12,6 +12,7 @@ import cn.wzpmc.events.notice.notify.NotifyEvent;
import cn.wzpmc.events.request.RequestEvent;
import cn.wzpmc.message.StringMessage;
import cn.wzpmc.message.json.JsonMessage;
+import cn.wzpmc.message.json.JsonMessagePart;
import cn.wzpmc.user.Friend;
import cn.wzpmc.user.IBot;
import cn.wzpmc.user.IUser;
@@ -20,10 +21,7 @@ import cn.wzpmc.utils.json.action.ActionReader;
import cn.wzpmc.utils.json.action.ActionWriter;
import cn.wzpmc.utils.json.event.*;
import cn.wzpmc.utils.json.honor.HonorWriter;
-import cn.wzpmc.utils.json.message.JsonMessageReader;
-import cn.wzpmc.utils.json.message.JsonMessageWriter;
-import cn.wzpmc.utils.json.message.StringMessageReader;
-import cn.wzpmc.utils.json.message.StringMessageWriter;
+import cn.wzpmc.utils.json.message.*;
import cn.wzpmc.utils.json.user.FriendUserReader;
import cn.wzpmc.utils.json.user.GroupUserReader;
import cn.wzpmc.utils.json.user.IBotReader;
@@ -49,6 +47,7 @@ public class JsonUtils {
JSON.register(Actions.class, new ActionWriter());
JSON.register(HonorType.class, new HonorWriter());
JSON.register(StringMessage.class, new StringMessageWriter());
+ JSON.register(JsonMessagePart.class, new JsonMessagePartWriter());
}
/**
diff --git a/src/main/java/cn/wzpmc/utils/json/message/JsonMessagePartWriter.java b/src/main/java/cn/wzpmc/utils/json/message/JsonMessagePartWriter.java
new file mode 100644
index 0000000..4a0db16
--- /dev/null
+++ b/src/main/java/cn/wzpmc/utils/json/message/JsonMessagePartWriter.java
@@ -0,0 +1,25 @@
+package cn.wzpmc.utils.json.message;
+
+import cn.wzpmc.message.json.JsonMessagePart;
+import com.alibaba.fastjson2.JSONObject;
+import com.alibaba.fastjson2.JSONWriter;
+import com.alibaba.fastjson2.writer.ObjectWriter;
+
+import java.lang.reflect.Type;
+
+/**
+ * @author wzp
+ * @since 2025/2/1 04:19
+ * @version 1.0.5
+ **/
+public class JsonMessagePartWriter implements ObjectWriter {
+ @Override
+ public void write(JSONWriter jsonWriter, Object object, Object fieldName, Type fieldType, long features) {
+ if (object instanceof JsonMessagePart) {
+ System.out.println(object);
+ JSONObject from = JSONObject.from(object);
+ from.put("type", ((JsonMessagePart) object).getStringPartType());
+ jsonWriter.write(from);
+ }
+ }
+}
diff --git a/src/main/java/cn/wzpmc/utils/json/message/JsonMessageWriter.java b/src/main/java/cn/wzpmc/utils/json/message/JsonMessageWriter.java
index b4c6cf0..3ad3e70 100644
--- a/src/main/java/cn/wzpmc/utils/json/message/JsonMessageWriter.java
+++ b/src/main/java/cn/wzpmc/utils/json/message/JsonMessageWriter.java
@@ -34,7 +34,7 @@ public class JsonMessageWriter implements ObjectWriter {
ObjectWriter> objectWriter = creator.createObjectWriter(StringMessage.class);
objectWriter.write(jsonWriter, messagePart);
} else {
- jsonWriter.writeAny(messagePart);
+ new JsonMessagePartWriter().write(jsonWriter, messagePart);
}
if (i != size - 1) {
jsonWriter.writeComma();