66import net .minestom .server .event .player .PlayerBlockBreakEvent ;
77import net .minestom .server .instance .block .Block ;
88import net .minestom .server .item .ItemStack ;
9+ import net .minestom .server .potion .PotionEffect ;
910import net .minestom .server .tag .Tag ;
1011import net .swofty .commons .bedwars .map .BedWarsMapsConfig ;
1112import net .swofty .commons .bedwars .map .BedWarsMapsConfig .MapTeam ;
@@ -63,7 +64,7 @@ public void run(PlayerBlockBreakEvent event) {
6364 return ;
6465 }
6566 if (!game .getTeamManager ().isBedAlive (teamKey )) {
66- // Bed already destroyed logically, block might linger if not cleared perfectly
67+ // Bed already destroyed logically; block might linger if not cleared perfectly
6768 event .setCancelled (true );
6869 return ;
6970 }
@@ -72,6 +73,10 @@ public void run(PlayerBlockBreakEvent event) {
7273 player .getInstance ().setBlock (feetPoint , Block .AIR );
7374 player .getInstance ().setBlock (headPoint , Block .AIR );
7475
76+ if (player .hasEffect (PotionEffect .INVISIBILITY )) {
77+ player .getAchievementHandler ().completeAchievement ("bedwars.sneaky_rusher" ); // break an bed while invisible
78+ }
79+
7580 for (BedWarsPlayer p : game .getPlayers ()) {
7681 p .sendMessage (String .format ("§c§lBED DESTRUCTION §r§cTeam %s's bed was destroyed by %s%s!" ,
7782 teamKey .getName (), teamKey .chatColor (), player .getUsername ()));
0 commit comments