Untitled
unknown
java
a year ago
1.8 kB
7
Indexable
@EventHandler public void onBlockBreak(BlockBreakEvent event) { Player player = event.getPlayer(); Material blockType = event.getBlock().getType(); long currentTime = System.currentTimeMillis(); // Jeśli gracz jest w przerwie, zablokuj kopanie i zresetuj timer if (breakCooldown.containsKey(player)) { long cooldownEnd = breakCooldown.get(player); if (currentTime < cooldownEnd) { event.setCancelled(true); player.sendMessage(ChatColor.RED + "Jesteś w przerwie! Musisz odczekać przed ponownym kopaniem."); // Resetuj czas przerwy na nowo, jeśli gracz spróbuje wykopać blok podczas przerwy breakCooldown.put(player, currentTime + breakResetTime); player.sendMessage(ChatColor.RED + "Czas przerwy został przedłużony. Musisz odczekać dodatkowe " + formatTime(breakResetTime) + " przed ponownym kopaniem."); return; } } // Jeśli blok jest typu naturalnie wykopującego się kilofem if (isBreakableByPickaxe(blockType)) { // Jeśli czas ostatniego wykopania bloku nie jest zapisany, oznacza to rozpoczęcie liczenia if (!lastBreakTime.containsKey(player)) { lastBreakTime.put(player, currentTime); hasStartedBreak.put(player, true); // Ustaw flagę, że rozpoczęto liczenie czasu do przerwy warnedAboutBreak.put(player, false); // Resetuj flagę ostrzeżenia player.sendMessage(ChatColor.GREEN + "Rozpoczęto liczenie czasu do przerwy."); } else { // Resetowanie czasu przerwy tylko, gdy gracz nie jest w przerwie if (!hasStartedBreak.getOrDefault(player, false)) { lastBreakTime.put(player, currentTime); } } } }
Editor is loading...
Leave a Comment