Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.chriis.craftleben.craftapi.manager;
- import com.mojang.authlib.GameProfile;
- import de.chriis.craftleben.craftapi.events.PlayerNickEvent;
- import de.chriis.craftleben.craftapi.methods.SkinMethod;
- import net.minecraft.server.v1_8_R3.*;
- import org.bukkit.Bukkit;
- import org.bukkit.craftbukkit.v1_8_R3.CraftServer;
- import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
- import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
- import org.bukkit.entity.Player;
- import java.lang.reflect.Field;
- import java.util.ArrayList;
- public class NickManager {
- private static ArrayList<Player> nickedPlayers = new ArrayList<>();
- public static boolean isNicked(Player player){
- return nickedPlayers.contains(player);
- }
- public static void nickPlayer(Player player, String name){
- try {
- EntityPlayer entityPlayer = ((CraftPlayer)player).getHandle();
- GameProfile gameProfile = entityPlayer.getProfile();
- Field profileField = gameProfile.getClass().getDeclaredField("name");
- profileField.setAccessible(true);
- profileField.set(gameProfile, name);
- MinecraftServer minecraftServer = ((CraftServer) Bukkit.getServer()).getServer();
- WorldServer worldServer = ((CraftWorld)Bukkit.getWorlds().get(0)).getHandle();
- EntityPlayer nickedEntityPlayer = new EntityPlayer(minecraftServer, worldServer, gameProfile,
- new PlayerInteractManager(worldServer));
- for(Player onlinePlayers : Bukkit.getOnlinePlayers()){
- if(onlinePlayers != player){
- //sendPacket(onlinePlayers, new PacketPlayOutEntityDestroy(player.getEntityId()));
- }
- onlinePlayers.hidePlayer(player);
- }
- gameProfile.getProperties().clear();
- gameProfile.getProperties().put("textures", SkinMethod.getExampleProperty());
- for(Player onlinePlayers : Bukkit.getOnlinePlayers()){
- if(onlinePlayers != player){
- // sendPacket(onlinePlayers, new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, entityPlayer));
- //sendPacket(onlinePlayers, new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, nickedEntityPlayer));
- }
- onlinePlayers.showPlayer(player);
- }
- nickedPlayers.add(player);
- player.setDisplayName(name);
- player.setCustomName(name);
- player.sendMessage("§8[§5NICK§8] §4Aktueller Nickname§7: §a" + name);
- PlayerNickEvent playerNickEvent = new PlayerNickEvent(player, name);
- Bukkit.getPluginManager().callEvent(playerNickEvent);
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- }
- private static void sendPacket(Player player, Packet packet){
- ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement