From 62c05b3c3f814e8d661341723bb1ea2e201670d9 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Mon, 17 Mar 2025 23:39:27 +0700 Subject: [PATCH] Misc code fixes in enforcer code --- .../ru/dbotthepony/mc/otm/entity/Enforcer.kt | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/Enforcer.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/Enforcer.kt index 2c39a8d30..bd6fc5f1b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/Enforcer.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/Enforcer.kt @@ -56,6 +56,7 @@ class Enforcer(type: EntityType, level: Level) : Monster(type,level) { .add(Attributes.KNOCKBACK_RESISTANCE, 1.0) .add(Attributes.FOLLOW_RANGE, 32.0) } + private val IS_CHARGING: EntityDataAccessor = SynchedEntityData.defineId(Enforcer::class.java, EntityDataSerializers.BOOLEAN) } @@ -65,13 +66,11 @@ class Enforcer(type: EntityType, level: Level) : Monster(type,level) { builder.define(IS_CHARGING, false) } - fun setCharging(value: Boolean) { - entityData.set(IS_CHARGING, value) - } - - fun isCharging(): Boolean { - return entityData.get(IS_CHARGING) - } + var isCharging: Boolean + get() = entityData.get(IS_CHARGING) + set(value) { + entityData.set(IS_CHARGING, value) + } override fun registerGoals() { goalSelector.addGoal(7, LookAtPlayerGoal(this, Player::class.java, 8f)) @@ -200,7 +199,7 @@ class Enforcer(type: EntityType, level: Level) : Monster(type,level) { private var target: LivingEntity? = null init { - setFlags(EnumSet.of(Goal.Flag.MOVE)) + setFlags(EnumSet.of(Flag.MOVE)) } private var chargeTime = 0 @@ -208,8 +207,6 @@ class Enforcer(type: EntityType, level: Level) : Monster(type,level) { private val maxChargeTime = 40 private var chargeDir: Vec3? = null private var cooldown = 0 - private val minCooldown = 35 - private val maxCooldown = 60 private var isCharging = false override fun canUse(): Boolean { @@ -227,7 +224,7 @@ class Enforcer(type: EntityType, level: Level) : Monster(type,level) { } override fun start() { - mob.setCharging(true) + mob.isCharging = true mob.playSound(MSoundEvents.ENFORCER_ALERT, 1.0f, 1.0f) chargeTime = 0 mob.navigation.stop() @@ -315,13 +312,18 @@ class Enforcer(type: EntityType, level: Level) : Monster(type,level) { } override fun stop() { - mob.setCharging(false) - mob.setDeltaMovement(Vec3.ZERO) + mob.isCharging = false + mob.deltaMovement = Vec3.ZERO chargeTime = 0 chargeDir = null isCharging = false mob.chargeState.stop() } + + companion object { + private const val minCooldown = 35 + private const val maxCooldown = 60 + } } class StayNearGoal(private val mob: Enforcer) : Goal() { @@ -330,7 +332,7 @@ class Enforcer(type: EntityType, level: Level) : Monster(type,level) { private var movePos: Vec3? = null override fun canUse(): Boolean { - return mob.target != null && !mob.isCharging() + return mob.target != null && !mob.isCharging } override fun canContinueToUse(): Boolean { @@ -373,11 +375,11 @@ class Enforcer(type: EntityType, level: Level) : Monster(type,level) { private var fireTick = 0 init { - setFlags(EnumSet.of(Goal.Flag.LOOK)) + setFlags(EnumSet.of(Flag.LOOK)) } override fun canUse(): Boolean { - return mob.target != null && !mob.isCharging() + return mob.target != null && !mob.isCharging } override fun canContinueToUse(): Boolean {