52 lines
1.9 KiB
Java
52 lines
1.9 KiB
Java
package eu.univento.core.api.fakeplayer;
|
|
|
|
import com.mojang.authlib.GameProfile;
|
|
import eu.univento.core.api.utils.GameProfileBuilder;
|
|
import org.bukkit.Material;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.event.EventHandler;
|
|
import org.bukkit.event.Listener;
|
|
import org.bukkit.event.block.Action;
|
|
import org.bukkit.event.player.PlayerInteractEvent;
|
|
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* @author joethei
|
|
* @version 0.1
|
|
*/
|
|
public class PlayerKi implements Listener{
|
|
|
|
FakePlayer player;
|
|
|
|
public FakePlayer createPlayer(Player p, String uuid, String name, String skinUrl, String capeUrl) {
|
|
GameProfile gameProfile = GameProfileBuilder.getProfile(UUID.fromString(uuid), name, skinUrl, capeUrl);
|
|
return new FakePlayer(gameProfile, true, p);
|
|
}
|
|
|
|
@EventHandler
|
|
public void onInteract(PlayerInteractEvent e) {
|
|
if(e.getAction() == Action.RIGHT_CLICK_AIR) {
|
|
if(e.getItem().getType() == Material.DIAMOND) {
|
|
if(this.player != null) {
|
|
this.player.despawn();
|
|
}
|
|
FakePlayer player = createPlayer(e.getPlayer(), e.getPlayer().getUniqueId().toString(),
|
|
"TestUser", "http://textures.minecraft.net/texture/a116e69a845e227f7ca1fdde8c357c8c821ebd4ba619382ea4a1f87d4ae94",
|
|
"http://textures.minecraft.net/texture/3f688e0e699b3d9fe448b5bb50a3a288f9c589762b3dae8308842122dcb81");
|
|
this.player = player;
|
|
player.spawn(e.getPlayer().getLocation());
|
|
player.setTarget(e.getPlayer());
|
|
player.setSneaking(true);
|
|
player.removeTablist();
|
|
}
|
|
if(e.getItem().getType() == Material.DIAMOND_SWORD) {
|
|
player.despawn();
|
|
}
|
|
if(e.getItem().getType() == Material.NETHER_STAR) {
|
|
player.followEntity(e.getPlayer());
|
|
}
|
|
}
|
|
}
|
|
}
|