damn
This commit is contained in:
parent
0c06d6edb8
commit
aab9e09e30
@ -418,7 +418,7 @@ abstract class MatteryBlockEntity(p_155228_: BlockEntityType<*>, p_155229_: Bloc
|
|||||||
protected val savetables = Savetables()
|
protected val savetables = Savetables()
|
||||||
|
|
||||||
protected inline fun <reified T : Tag, V : INBTSerializable<T?>> savetable(property: KProperty0<V>, name: String = property.name) {
|
protected inline fun <reified T : Tag, V : INBTSerializable<T?>> savetable(property: KProperty0<V>, name: String = property.name) {
|
||||||
savetables.Stateful(property, name, T::class.java)
|
savetables.stateful(property, name, T::class.java)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun saveAdditional(nbt: CompoundTag) {
|
override fun saveAdditional(nbt: CompoundTag) {
|
||||||
|
@ -28,14 +28,22 @@ class Savetables : INBTSerializable<CompoundTag> {
|
|||||||
fun validate()
|
fun validate()
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun <V : INBTSerializable<T>, reified T : Tag> stateful(getter: Supplier<V>, name: String): Stateful<V, T> {
|
inline fun <V : INBTSerializable<T?>, reified T : Tag> stateful(getter: Supplier<V>, name: String): Stateful<V, T> {
|
||||||
return Stateful(getter, name, T::class.java)
|
return stateful(getter, name, T::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
inline fun <V : INBTSerializable<T?>, reified T : Tag> stateful(getter: KProperty0<V>, name: String = getter.name): Stateful<V, T> {
|
||||||
|
return stateful(getter, name, T::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun <V : INBTSerializable<T?>, T : Tag> stateful(getter: Supplier<V>, name: String, type: Class<T>): Stateful<V, T> {
|
||||||
|
return Stateful(getter, name, type)
|
||||||
.withSerializer { it.serializeNBT() }
|
.withSerializer { it.serializeNBT() }
|
||||||
.withDeserializer { v, t -> v.deserializeNBT(t) }
|
.withDeserializer { v, t -> v.deserializeNBT(t) }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun <V : INBTSerializable<T>, reified T : Tag> stateful(getter: KProperty0<V>, name: String = getter.name): Stateful<V, T> {
|
fun <V : INBTSerializable<T?>, T : Tag> stateful(getter: KProperty0<V>, name: String = getter.name, type: Class<T>): Stateful<V, T> {
|
||||||
return Stateful(getter, name, T::class.java)
|
return Stateful(getter, name, type)
|
||||||
.withSerializer { it.serializeNBT() }
|
.withSerializer { it.serializeNBT() }
|
||||||
.withDeserializer { v, t -> v.deserializeNBT(t) }
|
.withDeserializer { v, t -> v.deserializeNBT(t) }
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user