EntityLib/test-plugin/src/main/java/me/tofaa/entitylib/TestCommand.java
2024-01-22 23:30:16 +03:00

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;
}
}