12345678910111213141516171819202122232425262728293031323334353637 |
- package me.km.snuviscript.commands;
- import com.mojang.authlib.GameProfile;
- import java.util.Date;
- import java.util.GregorianCalendar;
- import me.hammerle.snuviscript.code.ScriptManager;
- import static me.km.snuviscript.commands.CommandUtils.getUUID;
- import net.minecraft.entity.player.ServerPlayerEntity;
- import net.minecraft.server.MinecraftServer;
- import net.minecraft.server.management.ProfileBanEntry;
- import net.minecraft.util.text.StringTextComponent;
- public class BanCommands {
- public static void registerFunctions(ScriptManager sm, MinecraftServer server) {
- sm.registerConsumer("ban.kick", (sc, in) -> {
- ((ServerPlayerEntity) in[0].get(sc)).connection.disconnect(new StringTextComponent(in[1].getString(sc)));
- });
- sm.registerConsumer("ban.add", (sc, in) -> {
- GameProfile gp = server.getPlayerProfileCache().getProfileByUUID(getUUID(in[0].get(sc)));
- String reason = in[1].getString(sc);
- String banner = in[2].getString(sc);
- ProfileBanEntry entry;
- if(in.length >= 4) {
- GregorianCalendar calender = (GregorianCalendar) in[3].get(sc);
- Date d = new Date(calender.getTimeInMillis());
- entry = new ProfileBanEntry(gp, null, banner, d, reason);
- } else {
- entry = new ProfileBanEntry(gp, null, banner, null, reason);
- }
- server.getPlayerList().getBannedPlayers().addEntry(entry);
- });
- sm.registerConsumer("ban.remove", (sc, in) -> {
- GameProfile gp = server.getPlayerProfileCache().getProfileByUUID(getUUID(in[0].get(sc)));
- server.getPlayerList().getBannedPlayers().removeEntry(gp);
- });
- }
- }
|