From d794062b808a18298e8776a4fe1b1d3594fb518f Mon Sep 17 00:00:00 2001 From: Raycoms Date: Tue, 17 Dec 2024 16:55:02 +0100 Subject: [PATCH] adjust to query difficulty --- .../AbstractEntityMinecoloniesMonster.java | 10 ++++++++ .../AbstractEntityMinecoloniesRaider.java | 6 +---- .../entity/mobs/aitasks/RaiderMeleeAI.java | 23 +++---------------- .../entity/mobs/aitasks/RaiderRangedAI.java | 17 +++----------- 4 files changed, 17 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/minecolonies/api/entity/mobs/AbstractEntityMinecoloniesMonster.java b/src/main/java/com/minecolonies/api/entity/mobs/AbstractEntityMinecoloniesMonster.java index c154d7e3dfb..26b80dfcf8c 100644 --- a/src/main/java/com/minecolonies/api/entity/mobs/AbstractEntityMinecoloniesMonster.java +++ b/src/main/java/com/minecolonies/api/entity/mobs/AbstractEntityMinecoloniesMonster.java @@ -400,4 +400,14 @@ public BlockPos getSpawnPos() { return this.spawnPos; } + + /** + * Get the mobs difficulty + * + * @return difficulty + */ + public double getDifficulty() + { + return 1; + } } diff --git a/src/main/java/com/minecolonies/api/entity/mobs/AbstractEntityMinecoloniesRaider.java b/src/main/java/com/minecolonies/api/entity/mobs/AbstractEntityMinecoloniesRaider.java index aa0b5b68cde..8b50e8825b4 100644 --- a/src/main/java/com/minecolonies/api/entity/mobs/AbstractEntityMinecoloniesRaider.java +++ b/src/main/java/com/minecolonies/api/entity/mobs/AbstractEntityMinecoloniesRaider.java @@ -515,11 +515,7 @@ public void initStatsFor(final double baseHealth, final double difficulty, final } } - /** - * Get the mobs difficulty - * - * @return difficulty - */ + @Override public double getDifficulty() { return difficulty; diff --git a/src/main/java/com/minecolonies/core/entity/mobs/aitasks/RaiderMeleeAI.java b/src/main/java/com/minecolonies/core/entity/mobs/aitasks/RaiderMeleeAI.java index 3d7d06ac820..461f34d2214 100644 --- a/src/main/java/com/minecolonies/core/entity/mobs/aitasks/RaiderMeleeAI.java +++ b/src/main/java/com/minecolonies/core/entity/mobs/aitasks/RaiderMeleeAI.java @@ -72,14 +72,7 @@ protected void doAttack(final LivingEntity target) @Override protected double getAttackDistance() { - if (user instanceof AbstractEntityMinecoloniesRaider raiderMob) - { - return raiderMob.getDifficulty() < EXTENDED_REACH_DIFFICULTY ? MIN_DISTANCE_FOR_ATTACK : MIN_DISTANCE_FOR_ATTACK + EXTENDED_REACH; - } - else - { - return MIN_DISTANCE_FOR_ATTACK; - } + return user.getDifficulty() < EXTENDED_REACH_DIFFICULTY ? MIN_DISTANCE_FOR_ATTACK : MIN_DISTANCE_FOR_ATTACK + EXTENDED_REACH; } @Override @@ -91,18 +84,8 @@ protected int getAttackDelay() @Override protected PathResult moveInAttackPosition(final LivingEntity target) { - if (user instanceof AbstractEntityMinecoloniesRaider raiderMob) - { - return user.getNavigation() - .moveToXYZ(target.getX(), target.getY(), target.getZ(), raiderMob.getDifficulty() < ADD_SPEED_DIFFICULTY ? BASE_COMBAT_SPEED : BASE_COMBAT_SPEED * BONUS_SPEED); - - } - else - { - return user.getNavigation() - .moveToXYZ(target.getX(), target.getY(), target.getZ(), BASE_COMBAT_SPEED); - - } + return user.getNavigation() + .moveToXYZ(target.getX(), target.getY(), target.getZ(), user.getDifficulty() < ADD_SPEED_DIFFICULTY ? BASE_COMBAT_SPEED : BASE_COMBAT_SPEED * BONUS_SPEED); } @Override diff --git a/src/main/java/com/minecolonies/core/entity/mobs/aitasks/RaiderRangedAI.java b/src/main/java/com/minecolonies/core/entity/mobs/aitasks/RaiderRangedAI.java index 3ff865b58af..39ecdff9b83 100644 --- a/src/main/java/com/minecolonies/core/entity/mobs/aitasks/RaiderRangedAI.java +++ b/src/main/java/com/minecolonies/core/entity/mobs/aitasks/RaiderRangedAI.java @@ -112,15 +112,11 @@ protected void doAttack(final LivingEntity target) arrowEntity.setBaseDamage(10); } - if (user instanceof AbstractEntityMinecoloniesRaider raiderMob) + if (user.getDifficulty() > ARROW_PIERCE_DIFFICULTY) { - if (raiderMob.getDifficulty() > ARROW_PIERCE_DIFFICULTY) - { - arrowEntity.setPierceLevel((byte) 2); - } + arrowEntity.setPierceLevel((byte) 2); } - // Shoot arrow CombatUtils.shootArrow(arrowEntity, target, 10.0f); @@ -148,14 +144,7 @@ private double getRandomPitch() @Override protected double getAttackDistance() { - if (user instanceof AbstractEntityMinecoloniesRaider raiderMob) - { - return MAX_ATTACK_DISTANCE * Math.max(raiderMob.getDifficulty(), 2.0d); - } - else - { - return MAX_ATTACK_DISTANCE * 2; - } + return MAX_ATTACK_DISTANCE * Math.max(user.getDifficulty(), 2.0d); } @Override