49 lines
1.7 KiB
Java
49 lines
1.7 KiB
Java
package me.tofaa.entitylib;
|
|
|
|
import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes;
|
|
import com.github.retrooper.packetevents.protocol.world.Location;
|
|
import io.github.retrooper.packetevents.util.SpigotConversionUtil;
|
|
import me.tofaa.entitylib.entity.WrapperEntity;
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.command.CommandExecutor;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.entity.Player;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
import java.util.UUID;
|
|
|
|
public class TestCommand implements CommandExecutor {
|
|
|
|
private WrapperEntity base, passenger;
|
|
|
|
@Override
|
|
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
|
if (!(sender instanceof Player)) return false;
|
|
Player player = (Player) sender;
|
|
|
|
if (base != null) {
|
|
if (base.hasPassenger(passenger)) {
|
|
base.removePassenger(passenger);
|
|
player.sendMessage("Removed");
|
|
return true;
|
|
}
|
|
}
|
|
else {
|
|
base = EntityLib.createEntity(UUID.randomUUID(), EntityTypes.SHEEP);
|
|
passenger = EntityLib.createEntity(UUID.randomUUID(), EntityTypes.SKELETON);
|
|
}
|
|
|
|
Location location = SpigotConversionUtil.fromBukkitLocation(player.getLocation());
|
|
Location pass = new Location(location.getX() + 1, location.getY(), location.getZ(), location.getYaw(), location.getPitch());
|
|
|
|
base.addViewer(player.getUniqueId());
|
|
passenger.addViewer(player.getUniqueId());
|
|
base.spawn(location);
|
|
passenger.spawn(pass);
|
|
base.addPassenger(player.getEntityId());
|
|
player.sendMessage("Spawned");
|
|
|
|
return true;
|
|
}
|
|
|
|
}
|