Fix Berserk block cracker not functioning Fixes #5207

This commit is contained in:
nossr50
2025-08-23 13:01:11 -07:00
parent 2c1c1fe53f
commit 6ba4475a77
4 changed files with 11 additions and 9 deletions

View File

@@ -1,4 +1,5 @@
Version 2.2.041 Version 2.2.041
Fixed Berserk failing to crack blocks
Optimizations for Hoppers & Alchemy (thanks Warriorrrr) Optimizations for Hoppers & Alchemy (thanks Warriorrrr)
Fixed buckets being consumed by furnaces (thanks RunqRun) Fixed buckets being consumed by furnaces (thanks RunqRun)
Fixed Repair stripping unsafe enchantments from items (thanks Techirion) Fixed Repair stripping unsafe enchantments from items (thanks Techirion)

View File

@@ -14,7 +14,7 @@
<properties> <properties>
<!-- <spigot.version>1.19-R0.1-SNAPSHOT</spigot.version>--> <!-- <spigot.version>1.19-R0.1-SNAPSHOT</spigot.version>-->
<spigot.version>1.21.7-R0.1-SNAPSHOT</spigot.version> <spigot.version>1.21.8-R0.1-SNAPSHOT</spigot.version>
<kyori.adventure.version>4.23.0</kyori.adventure.version> <kyori.adventure.version>4.23.0</kyori.adventure.version>
<kyori.adventure.platform.version>4.4.1-SNAPSHOT</kyori.adventure.platform.version> <kyori.adventure.platform.version>4.4.1-SNAPSHOT</kyori.adventure.platform.version>
<kyori.option.version>1.1.0</kyori.option.version> <kyori.option.version>1.1.0</kyori.option.version>
@@ -393,7 +393,7 @@
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>io.papermc.paper</groupId>--> <!-- <groupId>io.papermc.paper</groupId>-->
<!-- <artifactId>paper-api</artifactId>--> <!-- <artifactId>paper-api</artifactId>-->
<!-- <version>1.21.5-R0.1-SNAPSHOT</version>--> <!-- <version>1.21.8-R0.1-SNAPSHOT</version>-->
<!-- </dependency>--> <!-- </dependency>-->
<dependency> <dependency>
<groupId>org.spigotmc</groupId> <groupId>org.spigotmc</groupId>

View File

@@ -696,7 +696,7 @@ public class BlockListener implements Listener {
if (mmoPlayer.getUnarmedManager().canUseBlockCracker() if (mmoPlayer.getUnarmedManager().canUseBlockCracker()
&& BlockUtils.affectedByBlockCracker(block)) { && BlockUtils.affectedByBlockCracker(block)) {
if (EventUtils.simulateBlockBreak(block, player)) { if (EventUtils.simulateBlockBreak(block, player)) {
mmoPlayer.getUnarmedManager().blockCrackerCheck(block.getState()); mmoPlayer.getUnarmedManager().blockCrackerCheck(block);
} }
} else if (!event.getInstaBreak() && SuperAbilityType.BERSERK.blockCheck(block) } else if (!event.getInstaBreak() && SuperAbilityType.BERSERK.blockCheck(block)
&& EventUtils.simulateBlockBreak(block, player)) { && EventUtils.simulateBlockBreak(block, player)) {

View File

@@ -1,6 +1,8 @@
package com.gmail.nossr50.skills.unarmed; package com.gmail.nossr50.skills.unarmed;
import static com.gmail.nossr50.util.random.ProbabilityUtil.isSkillRNGSuccessful; import static com.gmail.nossr50.util.random.ProbabilityUtil.isSkillRNGSuccessful;
import static org.bukkit.Material.INFESTED_STONE_BRICKS;
import static org.bukkit.Material.STONE_BRICKS;
import com.gmail.nossr50.api.ItemSpawnReason; import com.gmail.nossr50.api.ItemSpawnReason;
import com.gmail.nossr50.datatypes.interactions.NotificationType; import com.gmail.nossr50.datatypes.interactions.NotificationType;
@@ -21,6 +23,7 @@ import com.gmail.nossr50.util.player.UserManager;
import com.gmail.nossr50.util.random.ProbabilityUtil; import com.gmail.nossr50.util.random.ProbabilityUtil;
import com.gmail.nossr50.util.skills.RankUtils; import com.gmail.nossr50.util.skills.RankUtils;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState; import org.bukkit.block.BlockState;
import org.bukkit.entity.Item; import org.bukkit.entity.Item;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
@@ -79,28 +82,26 @@ public class UnarmedManager extends SkillManager {
return Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.UNARMED_BLOCK_CRACKER); return Permissions.isSubSkillEnabled(getPlayer(), SubSkillType.UNARMED_BLOCK_CRACKER);
} }
public void blockCrackerCheck(@NotNull BlockState blockState) { public void blockCrackerCheck(@NotNull Block block) {
if (!ProbabilityUtil.isNonRNGSkillActivationSuccessful(SubSkillType.UNARMED_BLOCK_CRACKER, if (!ProbabilityUtil.isNonRNGSkillActivationSuccessful(SubSkillType.UNARMED_BLOCK_CRACKER,
mmoPlayer)) { mmoPlayer)) {
return; return;
} }
switch (blockState.getType()) { switch (block.getType()) {
case STONE_BRICKS: case STONE_BRICKS:
if (!Unarmed.blockCrackerSmoothBrick) { if (!Unarmed.blockCrackerSmoothBrick) {
return; return;
} }
blockState.getBlock().setType(Material.CRACKED_STONE_BRICKS); block.setType(Material.CRACKED_STONE_BRICKS);
blockState.update(true);
return; return;
case INFESTED_STONE_BRICKS: case INFESTED_STONE_BRICKS:
if (!Unarmed.blockCrackerSmoothBrick) { if (!Unarmed.blockCrackerSmoothBrick) {
return; return;
} }
blockState.getBlock().setType(Material.INFESTED_CRACKED_STONE_BRICKS); block.setType(Material.INFESTED_CRACKED_STONE_BRICKS);
blockState.update(true);
return; return;
default: default:
} }