浏览代码

Fix Berserk block cracker not functioning Fixes #5207

nossr50 2 周之前
父节点
当前提交
6ba4475a77

+ 1 - 0
Changelog.txt

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

+ 2 - 2
pom.xml

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

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

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

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

@@ -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);
-                blockState.update(true);
+                block.setType(Material.CRACKED_STONE_BRICKS);
                 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);
-                blockState.update(true);
+                block.setType(Material.INFESTED_CRACKED_STONE_BRICKS);
                 return;
                 return;
             default:
             default:
         }
         }