File tree Expand file tree Collapse file tree 2 files changed +19
-1
lines changed
common/src/main/kotlin/com/lambda Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,6 @@ import com.lambda.core.Loader
1010import com.lambda.gui.impl.clickgui.windows.tag.CustomModuleWindow
1111import com.lambda.gui.impl.clickgui.windows.tag.TagWindow
1212import com.lambda.module.tag.ModuleTag
13- import com.lambda.threading.runGameScheduled
1413import com.lambda.util.KeyCode
1514import com.mojang.authlib.GameProfile
1615import com.mojang.blaze3d.systems.RenderSystem.recordRenderCall
@@ -20,6 +19,7 @@ import net.minecraft.util.math.BlockPos
2019import org.apache.logging.log4j.LogManager
2120import org.apache.logging.log4j.Logger
2221import java.awt.Color
22+ import java.util.*
2323
2424object Lambda {
2525 const val MOD_NAME = " Lambda"
@@ -40,6 +40,7 @@ object Lambda {
4040 .registerTypeAdapter(BlockPos ::class .java, BlockPosSerializer )
4141 .registerTypeAdapter(Block ::class .java, BlockSerializer )
4242 .registerTypeAdapter(GameProfile ::class .java, GameProfileSerializer )
43+ .registerTypeAdapter(Optional ::class .java, OptionalSerializer )
4344 .create()
4445
4546 fun initialize () {
Original file line number Diff line number Diff line change 1+ package com.lambda.config.serializer
2+
3+ import com.google.gson.*
4+ import java.lang.reflect.Type
5+ import java.util.*
6+
7+ object OptionalSerializer : JsonSerializer<Optional<Any>>, JsonDeserializer<Optional<Any>> {
8+ override fun serialize (src : Optional <Any >? , typeOfSrc : Type ? , context : JsonSerializationContext ? ): JsonElement =
9+ src?.map { context?.serialize(it) }?.orElse(JsonNull .INSTANCE ) ? : JsonNull .INSTANCE
10+
11+ override fun deserialize (
12+ json : JsonElement ? ,
13+ typeOfT : Type ? ,
14+ context : JsonDeserializationContext ?
15+ ): Optional <Any > =
16+ Optional .ofNullable(json?.let { context?.deserialize(it, typeOfT) ? : Optional .empty<Any >() })
17+ }
You can’t perform that action at this time.
0 commit comments