diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidSwitchableFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidSwitchableFeature.kt index 2fa707c29..8b1651eba 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidSwitchableFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidSwitchableFeature.kt @@ -7,7 +7,7 @@ import ru.dbotthepony.mc.otm.core.nbt.set abstract class AndroidSwitchableFeature(type: AndroidFeatureType<*>, android: MatteryPlayerCapability) : AndroidFeature(type, android) { var isActive by synchronizer.bool(setter = setter@{ value, access, setByRemote -> - if (value != access.read()) { + if (value != access.readBoolean()) { access.write(value) if (!setByRemote) { @@ -18,7 +18,7 @@ abstract class AndroidSwitchableFeature(type: AndroidFeatureType<*>, android: Ma } } } - }) + }).property open val allowToSwitchByPlayer: Boolean get() = true open val allowToSwitchByPlayerWhileSpectator: Boolean get() = true diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt index a0b080b93..fa3232943 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt @@ -113,7 +113,7 @@ abstract class MatteryMenu @JvmOverloads protected constructor( */ inner class PlayerInput(val codec: IStreamCodec, allowSpectators: Boolean = false, val handler: (V) -> Unit) : Predicate { val id = playerInputs.size - var allowSpectators by mSynchronizer.bool(allowSpectators) + var allowSpectators by mSynchronizer.bool(allowSpectators).property init { playerInputs.add(this) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/BooleanInputWithFeedback.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/BooleanInputWithFeedback.kt index 7d2346604..14291198f 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/BooleanInputWithFeedback.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/BooleanInputWithFeedback.kt @@ -2,11 +2,12 @@ package ru.dbotthepony.mc.otm.menu.input import ru.dbotthepony.mc.otm.core.GetterSetter import ru.dbotthepony.mc.otm.menu.MatteryMenu +import java.util.function.BooleanSupplier import kotlin.reflect.KMutableProperty0 class BooleanInputWithFeedback(menu: MatteryMenu) : AbstractPlayerInputWithFeedback() { override val input = menu.booleanInput { consumer?.invoke(it) } - override val value by menu.mSynchronizer.bool(getter = { supplier?.invoke() ?: false }) + override val value by menu.mSynchronizer.computedBool(BooleanSupplier { supplier?.invoke() ?: false }) constructor(menu: MatteryMenu, state: KMutableProperty0) : this(menu) { with(state) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/ItemHandlerPlayerInput.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/ItemHandlerPlayerInput.kt index c565c407e..12d721a50 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/ItemHandlerPlayerInput.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/ItemHandlerPlayerInput.kt @@ -10,7 +10,7 @@ import ru.dbotthepony.mc.otm.menu.MatteryMenu */ class ItemHandlerPlayerInput(val menu: MatteryMenu, val allowPull: Boolean = false, val allowPush: Boolean = false) { private val allowedFlags = MatteryDeviceBlockEntity.ItemHandlerMode.values().map { menu.mSynchronizer.bool() to it } - fun isAllowed(value: MatteryDeviceBlockEntity.ItemHandlerMode) = allowedFlags[value.ordinal].first.value + fun isAllowed(value: MatteryDeviceBlockEntity.ItemHandlerMode) = allowedFlags[value.ordinal].first.boolean inner class Piece(val side: RelativeSide) { fun isAllowed(value: MatteryDeviceBlockEntity.ItemHandlerMode) = this@ItemHandlerPlayerInput.isAllowed(value) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/StringInputWithFeedback.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/StringInputWithFeedback.kt index 891ba3021..fb4f7760d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/StringInputWithFeedback.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/input/StringInputWithFeedback.kt @@ -6,7 +6,7 @@ import kotlin.reflect.KMutableProperty0 class StringInputWithFeedback(menu: MatteryMenu) : AbstractPlayerInputWithFeedback() { override val input = menu.stringInput { consumer?.invoke(it.replace('\u0000', ' ')) } - override val value by menu.mSynchronizer.string(getter = { supplier?.invoke() ?: "" }) + override val value by menu.mSynchronizer.string { supplier?.invoke() ?: "" } constructor(menu: MatteryMenu, state: KMutableProperty0) : this(menu) { with(state) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/widget/ProgressGaugeWidget.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/widget/ProgressGaugeWidget.kt index 035afb526..148a968e9 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/widget/ProgressGaugeWidget.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/widget/ProgressGaugeWidget.kt @@ -7,7 +7,7 @@ class ProgressGaugeWidget(menu: MatteryMenu) : AbstractWidget(menu) { var progress = {0f} var stuck = {false} var progressContainer by menu.mSynchronizer.short() - var stuckContainer by menu.mSynchronizer.bool() + var stuckContainer by menu.mSynchronizer.bool().property constructor( menu: MatteryMenu, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/network/synchronizer/FieldSynchronizer.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/network/synchronizer/FieldSynchronizer.kt index da6aa38ce..6f9bac7c5 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/network/synchronizer/FieldSynchronizer.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/network/synchronizer/FieldSynchronizer.kt @@ -88,7 +88,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa } fun byte(getter: () -> Byte) = ComputedField(getter, ByteValueCodec) - fun bool(getter: BooleanSupplier) = ComputedBooleanField(getter) + fun computedBool(getter: BooleanSupplier) = ComputedBooleanField(getter) fun short(getter: () -> Short) = ComputedField(getter, ShortValueCodec) fun long(getter: LongSupplier) = ComputedLongField(getter) fun fixedLong(getter: LongSupplier) = ComputedFixedLongField(getter) @@ -103,7 +103,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa fun string(getter: () -> String) = ComputedField(getter, BinaryStringCodec) fun byte(getter: KProperty0) = ComputedField(getter, ByteValueCodec) - fun bool(getter: KProperty0) = ComputedBooleanField(getter::get) + fun computedBool(getter: KProperty0) = ComputedBooleanField(getter::get) fun short(getter: KProperty0) = ComputedField(getter, ShortValueCodec) fun long(getter: KProperty0) = ComputedLongField(getter::get) fun fixedLong(getter: KProperty0) = ComputedFixedLongField(getter::get) @@ -118,7 +118,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa fun string(getter: KProperty0) = ComputedField(getter, BinaryStringCodec) fun byte(getter: Supplier) = ComputedField(getter::get, ByteValueCodec) - fun bool(getter: Supplier) = ComputedBooleanField(getter::get) + fun computedBool(getter: Supplier) = ComputedBooleanField(getter::get) fun short(getter: Supplier) = ComputedField(getter::get, ShortValueCodec) fun long(getter: Supplier) = ComputedLongField(getter::get) fun fixedLong(getter: Supplier) = ComputedFixedLongField(getter::get)