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
Fixed Berserk failing to crack blocks
Optimizations for Hoppers & Alchemy (thanks Warriorrrr)
Fixed buckets being consumed by furnaces (thanks RunqRun)
Fixed Repair stripping unsafe enchantments from items (thanks Techirion)

View File

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

View File

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

View File

@@ -1,6 +1,8 @@
package com.gmail.nossr50.skills.unarmed;
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.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.skills.RankUtils;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.entity.Item;
import org.bukkit.entity.LivingEntity;
@@ -79,28 +82,26 @@ public class UnarmedManager extends SkillManager {
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,
mmoPlayer)) {
return;
}
switch (blockState.getType()) {
switch (block.getType()) {
case STONE_BRICKS:
if (!Unarmed.blockCrackerSmoothBrick) {
return;
}
blockState.getBlock().setType(Material.CRACKED_STONE_BRICKS);
blockState.update(true);
block.setType(Material.CRACKED_STONE_BRICKS);
return;
case INFESTED_STONE_BRICKS:
if (!Unarmed.blockCrackerSmoothBrick) {
return;
}
blockState.getBlock().setType(Material.INFESTED_CRACKED_STONE_BRICKS);
blockState.update(true);
block.setType(Material.INFESTED_CRACKED_STONE_BRICKS);
return;
default:
}