Skocz do zawartości

FreezePlayers - Zamrażanie graczy!


Rekomendowane odpowiedzi

@bartzzDev spokojniej, chłopie, to tylko forum xD

@adamandrzej02

Spoiler

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.HashSet;
import java.util.Set;
import java.util.UUID;

public class Freeze extends JavaPlugin implements CommandExecutor, Listener
{
    private final Set<UUID> uuids = new HashSet<>();

    @Override
    public void onEnable()
    {
        getCommand("freeze").setExecutor(this);
        Bukkit.getPluginManager().registerEvents(this, this);
    }

    @Override
    public void onDisable()
    {
        // do something
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
    {
        if (!(sender instanceof Player))
        {
            return true;
        }
        final Player player = (Player) sender;
        if (!player.hasPermission("freeze"))
        {
            player.sendMessage(fixColors("&cBrak uprawnien!"));
            return true;
        }
        if (args.length == 1)
        {
            final UUID uuid = Bukkit.getPlayer(args[0]).getUniqueId();
            if (uuids.contains(uuid))
            {
                player.sendMessage(fixColors("&cOdmrozono gracza o uuid &7" + uuid.toString()));
                uuids.remove(uuid);
            }
            else
            {
                player.sendMessage(fixColors("&cZamrozono gracza o uuid &7" + uuid.toString()));
                uuids.add(uuid);
            }
            return true;
        }
        player.sendMessage(fixColors("&cUzycie: &7/freeze [nick]"));
        return true;
    }

    @EventHandler
    public void onMove(PlayerMoveEvent event)
    {
        final UUID uuid = event.getPlayer().getUniqueId();
        if (!uuids.contains(uuid))
        {
            return;
        }
        event.setCancelled(true);
    }

    private String fixColors(final String content)
    {
        return ChatColor.translateAlternateColorCodes('&', content);
    }
}

 

Powyższy kod chodzi lepiej niż Twój, i nie używa rakowatych paragrafów. Nie sprawdzam czy tylko UUID jest nullem, nie chciało mi się.

Odnośnik do komentarza
https://skript.pl/temat/10518-freezeplayers-zamra%C5%BCanie-graczy/#findComment-89042
Udostępnij na innych stronach

@ProgrammingWizzard

jeśli wysyłający komendę nie jest graczem, zwracasz, że wywoływanie komendy się powiodło.

jeśli gracz nie ma uprawnień do komendy, zwracasz, że wywoływanie komendy się powiodło.

jeśli użycie jest niepoprawne, zwracasz, że wywoływanie komendy się powiodło.

 

na <ciach!> ci tam onDisable(), jeśli go do niczego nie używasz, kappa

 

I tak lepiej niż poprzednie raki

Odnośnik do komentarza
https://skript.pl/temat/10518-freezeplayers-zamra%C5%BCanie-graczy/#findComment-89930
Udostępnij na innych stronach

12 godzin temu, Ibzu Bibzuhabamasaibzu napisał:

@ProgrammingWizzard

jeśli wysyłający komendę nie jest graczem, zwracasz, że wywoływanie komendy się powiodło.

jeśli gracz nie ma uprawnień do komendy, zwracasz, że wywoływanie komendy się powiodło.

jeśli użycie jest niepoprawne, zwracasz, że wywoływanie komendy się powiodło.

 

na <ciach!> ci tam onDisable(), jeśli go do niczego nie używasz, kappa

 

I tak lepiej niż poprzednie raki

Daje zawsze "return true" by nie wyskakiwały jakieś wiadomości pokroju usage z plugin.yml, tylko tyle. A onDisable daje zawsze z przyzwyczajenia.

Odnośnik do komentarza
https://skript.pl/temat/10518-freezeplayers-zamra%C5%BCanie-graczy/#findComment-89997
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...