Browse Source

Fix Berserk block cracker not functioning Fixes #5207

nossr50 1 week ago
parent
commit
6ba4475a77

+ 1 - 0
Changelog.txt

@@ -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)

+ 2 - 2
pom.xml

@@ -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>

+ 1 - 1
src/main/java/com/gmail/nossr50/listeners/BlockListener.java

@@ -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)) {

+ 7 - 6
src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java

@@ -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:
         }