From b906e10f593dae885fe8824357f0463e5d2516cc Mon Sep 17 00:00:00 2001 From: Amarok Date: Sun, 2 Jun 2024 21:13:55 +0800 Subject: [PATCH] Fix Json --- .../kotlin/club/someoneice/ovo/core/CoreHandler.kt | 13 +++++++------ src/main/kotlin/club/someoneice/ovo/core/OVOMain.kt | 2 +- .../kotlin/club/someoneice/ovo/data/BlockData.kt | 2 +- .../kotlin/club/someoneice/ovo/util/JsonHandler.kt | 7 ++++--- src/main/kotlin/club/someoneice/ovo/util/Util.kt | 3 +-- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/kotlin/club/someoneice/ovo/core/CoreHandler.kt b/src/main/kotlin/club/someoneice/ovo/core/CoreHandler.kt index 50c6b46..973739b 100644 --- a/src/main/kotlin/club/someoneice/ovo/core/CoreHandler.kt +++ b/src/main/kotlin/club/someoneice/ovo/core/CoreHandler.kt @@ -1,8 +1,7 @@ package club.someoneice.ovo.core import club.someoneice.ovo.util.JsonHandler -import club.someoneice.ovo.util.gson -import com.google.gson.reflect.TypeToken +import club.someoneice.ovo.util.json import cpw.mods.fml.common.Loader import net.minecraft.block.Block import net.minecraft.creativetab.CreativeTabs @@ -41,9 +40,11 @@ class CoreHandler { JsonHandler.dataScan(baseFile, packagePathList) if (packagePathList.isEmpty()) return@run - fun readWithOriginal(file: File): HashMap? { - val type = object: TypeToken>() {}.type - return gson.fromJson(file.readText(), type) as HashMap? + fun readWithOriginal(file: File): HashMap { + val map = HashMap() + val raw = json.tryPullObjectOrEmpty(file.readText()) + if (raw.isEmpty) return map + return map.apply { raw.obj.forEach { (k, v) -> this[k] = v.toString() } } } for (i in packagePathList) { @@ -55,7 +56,7 @@ class CoreHandler { } OVOMain.Logger.info("Such OVO-Package: $i") - val modid = readWithOriginal(packageInfo)?.let { it["modid"] } ?: "ovo" + val modid = readWithOriginal(packageInfo)["modid"] ?: "ovo" DataProcessor(packagePath, modid) // if (OVOMain.ManaMetalModInstall) MMMCoreRunner("${basePath}\\${i}") diff --git a/src/main/kotlin/club/someoneice/ovo/core/OVOMain.kt b/src/main/kotlin/club/someoneice/ovo/core/OVOMain.kt index aa9eb8e..5f777f0 100644 --- a/src/main/kotlin/club/someoneice/ovo/core/OVOMain.kt +++ b/src/main/kotlin/club/someoneice/ovo/core/OVOMain.kt @@ -20,6 +20,6 @@ class OVOMain { @Mod.EventHandler fun initializationModEvent(event: FMLInitializationEvent) { Logger.info("OVO is Start loading!") - // TODO + CoreHandler() } } \ No newline at end of file diff --git a/src/main/kotlin/club/someoneice/ovo/data/BlockData.kt b/src/main/kotlin/club/someoneice/ovo/data/BlockData.kt index a2e11a0..201eb7e 100644 --- a/src/main/kotlin/club/someoneice/ovo/data/BlockData.kt +++ b/src/main/kotlin/club/someoneice/ovo/data/BlockData.kt @@ -23,7 +23,7 @@ data class BlockData ( val dropItem: ArrayList = Lists.newArrayList(Ingredient("this", 1, 0)), val group: String = "", - // 0: Simple, 1: All-sides, 2: Log + // 0: Simple, 1: All-Sides, 2: Log, 3: Tile-Entity val rotationType: Int = 0 ) { fun registerBlock(): Block { diff --git a/src/main/kotlin/club/someoneice/ovo/util/JsonHandler.kt b/src/main/kotlin/club/someoneice/ovo/util/JsonHandler.kt index 0bcdb94..ca401f9 100644 --- a/src/main/kotlin/club/someoneice/ovo/util/JsonHandler.kt +++ b/src/main/kotlin/club/someoneice/ovo/util/JsonHandler.kt @@ -1,13 +1,12 @@ package club.someoneice.ovo.util -import com.google.gson.reflect.TypeToken import java.io.File import java.lang.reflect.ParameterizedType object JsonHandler { fun dataScan(file: File, list: ArrayList) { - if (file.name.endsWith(".json5")) json5Reader(file.readText(), list) - else jsonReader(file.readText(), list) + json5Reader(file.readText(), list) + // else jsonReader(file.readText(), list) } private fun json5Reader(text: String, list: ArrayList) { @@ -15,8 +14,10 @@ object JsonHandler { list.addAll(json.tryPullAsClassList(dataClazz, text)) } + /* private fun jsonReader(text: String, list: ArrayList) { val type = object: TypeToken>() {}.type list.addAll(gson.fromJson(text, type) as List) } + */ } \ No newline at end of file diff --git a/src/main/kotlin/club/someoneice/ovo/util/Util.kt b/src/main/kotlin/club/someoneice/ovo/util/Util.kt index acaae1f..f4a59d6 100644 --- a/src/main/kotlin/club/someoneice/ovo/util/Util.kt +++ b/src/main/kotlin/club/someoneice/ovo/util/Util.kt @@ -57,5 +57,4 @@ fun EntityPlayer.giveOrThrowOut(item: ItemStack) { this.worldObj.spawnEntityInWorld(EntityItem(this.worldObj, this.posX, this.posY, this.posZ, item)) } -val json: JSON = JSON.json5 -val gson: Gson = GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create() \ No newline at end of file +val json: JSON = JSON.json5 \ No newline at end of file