mirror of
https://github.com/xSquishyLiam/mc-GeyserModelEngine-plugin.git
synced 2025-12-27 18:59:08 +00:00
Packet-based entity
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package re.imc.geysermodelengine.packet;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
public class EntityDestroyPacket implements WrapperPacket {
|
||||
|
||||
private final int id;
|
||||
|
||||
public EntityDestroyPacket(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PacketContainer encode() {
|
||||
PacketContainer packet = new PacketContainer(PacketType.Play.Server.ENTITY_DESTROY);
|
||||
packet.getIntLists().write(0, Collections.singletonList(this.id));
|
||||
return packet;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package re.imc.geysermodelengine.packet;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
|
||||
public class EntityHurtAnimationPacket implements WrapperPacket {
|
||||
|
||||
private final int id;
|
||||
|
||||
public EntityHurtAnimationPacket(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PacketContainer encode() {
|
||||
PacketContainer packet = new PacketContainer(PacketType.Play.Server.HURT_ANIMATION);
|
||||
packet.getIntegers().write(0, id);
|
||||
packet.getFloat().write(0, 1f);
|
||||
return packet;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package re.imc.geysermodelengine.packet;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
import com.comphenix.protocol.ProtocolLibrary;
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.EntityType;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class EntitySpawnPacket implements WrapperPacket {
|
||||
|
||||
private final int id;
|
||||
private final UUID uuid;
|
||||
private final EntityType type;
|
||||
private final Location location;
|
||||
public EntitySpawnPacket(int entityID, UUID uuid, EntityType type, Location location) {
|
||||
this.id = entityID;
|
||||
this.uuid = uuid;
|
||||
this.type = type;
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PacketContainer encode() {
|
||||
PacketContainer packet = ProtocolLibrary.getProtocolManager()
|
||||
.createPacket(PacketType.Play.Server.SPAWN_ENTITY);
|
||||
packet.getIntegers()
|
||||
.write(0, this.id);
|
||||
packet.getUUIDs()
|
||||
.write(0, this.uuid);
|
||||
packet.getDoubles()
|
||||
.write(0, this.location.getX())
|
||||
.write(1, this.location.getY())
|
||||
.write(2, this.location.getZ());
|
||||
packet.getBytes()
|
||||
.write(0, (byte) (this.location.getYaw() * 256.0F / 360.0F))
|
||||
.write(1, (byte) (this.location.getPitch() * 256.0F / 360.0F));
|
||||
packet.getEntityTypeModifier()
|
||||
.writeSafely(0, type);
|
||||
|
||||
return packet;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package re.imc.geysermodelengine.packet;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import org.bukkit.Location;
|
||||
|
||||
public class EntityTeleportPacket implements WrapperPacket {
|
||||
|
||||
private final int id;
|
||||
private final Location loc;
|
||||
|
||||
public EntityTeleportPacket(int entityID, Location location) {
|
||||
this.id = entityID;
|
||||
this.loc = location;
|
||||
}
|
||||
@Override
|
||||
public PacketContainer encode() {
|
||||
PacketContainer packet = new PacketContainer(PacketType.Play.Server.ENTITY_TELEPORT);
|
||||
packet.getIntegers().write(0, this.id);
|
||||
packet.getDoubles().write(0, loc.getX());
|
||||
packet.getDoubles().write(1, loc.getY());
|
||||
packet.getDoubles().write(2, loc.getZ());
|
||||
return packet;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package re.imc.geysermodelengine.packet;
|
||||
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
|
||||
public interface WrapperPacket {
|
||||
|
||||
default WrapperPacket decode() { return null; };
|
||||
default PacketContainer encode() { return null; };
|
||||
}
|
||||
@@ -0,0 +1,804 @@
|
||||
package re.imc.geysermodelengine.packet.entity;
|
||||
|
||||
import com.comphenix.protocol.ProtocolLibrary;
|
||||
import io.papermc.paper.entity.TeleportFlag;
|
||||
import io.papermc.paper.threadedregions.scheduler.EntityScheduler;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.block.PistonMoveReaction;
|
||||
import org.bukkit.entity.*;
|
||||
import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
import org.bukkit.metadata.MetadataValue;
|
||||
import org.bukkit.permissions.Permission;
|
||||
import org.bukkit.permissions.PermissionAttachment;
|
||||
import org.bukkit.permissions.PermissionAttachmentInfo;
|
||||
import org.bukkit.persistence.PersistentDataContainer;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.util.BoundingBox;
|
||||
import org.bukkit.util.Vector;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import re.imc.geysermodelengine.packet.EntityDestroyPacket;
|
||||
import re.imc.geysermodelengine.packet.EntityHurtAnimationPacket;
|
||||
import re.imc.geysermodelengine.packet.EntitySpawnPacket;
|
||||
import re.imc.geysermodelengine.packet.EntityTeleportPacket;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
public class PacketEntity implements Entity {
|
||||
public PacketEntity(EntityType type, Set<Player> viewers, Location location) {
|
||||
this.id = ThreadLocalRandom.current().nextInt(20000, 100000000);
|
||||
this.uuid = UUID.randomUUID();
|
||||
this.type = type;
|
||||
this.viewers = viewers;
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
private int id;
|
||||
private UUID uuid;
|
||||
private EntityType type;
|
||||
private Set<Player> viewers;
|
||||
private Location location;
|
||||
private boolean removed = false;
|
||||
@Override
|
||||
public @NotNull Location getLocation() {
|
||||
return location;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean teleport(@NotNull Location location) {
|
||||
this.location = location;
|
||||
sendLocationPacket(viewers);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
removed = true;
|
||||
sendEntityDestroyPacket(viewers);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDead() {
|
||||
return removed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid() {
|
||||
return !removed;
|
||||
}
|
||||
|
||||
public void sendSpawnPacket(Collection<Player> players) {
|
||||
EntitySpawnPacket packet = new EntitySpawnPacket(id, uuid, type, location);
|
||||
players.forEach(player -> ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet.encode()));
|
||||
}
|
||||
public void sendLocationPacket(Collection<Player> players) {
|
||||
EntityTeleportPacket packet = new EntityTeleportPacket(id, location);
|
||||
players.forEach(player -> ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet.encode()));
|
||||
|
||||
}
|
||||
|
||||
public void sendHurtPacket(Collection<Player> players) {
|
||||
EntityHurtAnimationPacket packet = new EntityHurtAnimationPacket(id);
|
||||
players.forEach(player -> ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet.encode()));
|
||||
|
||||
}
|
||||
|
||||
public void sendEntityDestroyPacket(Collection<Player> players) {
|
||||
EntityDestroyPacket packet = new EntityDestroyPacket(id);
|
||||
players.forEach(player -> ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet.encode()));
|
||||
|
||||
}
|
||||
|
||||
// ----------------
|
||||
|
||||
@Override
|
||||
public @Nullable Location getLocation(@Nullable Location location) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVelocity(@NotNull Vector vector) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Vector getVelocity() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getHeight() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getWidth() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull BoundingBox getBoundingBox() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOnGround() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInWater() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull World getWorld() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRotation(float v, float v1) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean teleport(@NotNull Location location, PlayerTeleportEvent.@NotNull TeleportCause teleportCause, @NotNull TeleportFlag @NotNull ... teleportFlags) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public boolean teleport(@NotNull Location location, PlayerTeleportEvent.@NotNull TeleportCause teleportCause) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean teleport(@NotNull Entity entity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean teleport(@NotNull Entity entity, PlayerTeleportEvent.@NotNull TeleportCause teleportCause) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull CompletableFuture<Boolean> teleportAsync(@NotNull Location location, PlayerTeleportEvent.@NotNull TeleportCause teleportCause, @NotNull TeleportFlag @NotNull ... teleportFlags) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull List<Entity> getNearbyEntities(double v, double v1, double v2) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEntityId() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFireTicks() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFireTicks() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFireTicks(int i) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVisualFire(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVisualFire() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFreezeTicks() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFreezeTicks() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFreezeTicks(int i) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFrozen() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInvisible(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInvisible() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNoPhysics(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasNoPhysics() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFreezeTickingLocked() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void lockFreezeTicks(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void sendMessage(@NotNull String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessage(@NotNull String... strings) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessage(@Nullable UUID uuid, @NotNull String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessage(@Nullable UUID uuid, @NotNull String... strings) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Server getServer() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPersistent() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPersistent(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Entity getPassenger() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setPassenger(@NotNull Entity entity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull List<Entity> getPassengers() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addPassenger(@NotNull Entity entity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removePassenger(@NotNull Entity entity) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean eject() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getFallDistance() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFallDistance(float v) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLastDamageCause(@Nullable EntityDamageEvent entityDamageEvent) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable EntityDamageEvent getLastDamageCause() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull UUID getUniqueId() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTicksLived() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTicksLived(int i) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playEffect(@NotNull EntityEffect entityEffect) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull EntityType getType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Sound getSwimSound() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Sound getSwimSplashSound() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Sound getSwimHighSpeedSplashSound() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInsideVehicle() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean leaveVehicle() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Entity getVehicle() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomNameVisible(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCustomNameVisible() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVisibleByDefault(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVisibleByDefault() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Set<Player> getTrackedBy() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGlowing(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGlowing() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInvulnerable(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInvulnerable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSilent() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSilent(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasGravity() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGravity(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPortalCooldown() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPortalCooldown(int i) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Set<String> getScoreboardTags() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addScoreboardTag(@NotNull String s) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeScoreboardTag(@NotNull String s) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull PistonMoveReaction getPistonMoveReaction() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull BlockFace getFacing() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Pose getPose() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSneaking() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSneaking(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPose(@NotNull Pose pose, boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasFixedPose() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull SpawnCategory getSpawnCategory() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInWorld() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable EntitySnapshot createSnapshot() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Entity copy() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Entity copy(@NotNull Location location) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Spigot spigot() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Component name() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Component teamDisplayName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Location getOrigin() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean fromMobSpawner() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CreatureSpawnEvent.@NotNull SpawnReason getEntitySpawnReason() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUnderWater() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInRain() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInBubbleColumn() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInWaterOrRain() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInWaterOrBubbleColumn() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInWaterOrRainOrBubbleColumn() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInLava() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isTicking() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Set<Player> getTrackedPlayers() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean spawnAt(@NotNull Location location, CreatureSpawnEvent.@NotNull SpawnReason spawnReason) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInPowderedSnow() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getX() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getY() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getZ() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getPitch() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getYaw() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean collidesAt(@NotNull Location location) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean wouldCollideUsing(@NotNull BoundingBox boundingBox) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull EntityScheduler getScheduler() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getScoreboardEntryName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Component customName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void customName(@Nullable Component component) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable String getCustomName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(@Nullable String s) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMetadata(@NotNull String s, @NotNull MetadataValue metadataValue) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull List<MetadataValue> getMetadata(@NotNull String s) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasMetadata(@NotNull String s) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMetadata(@NotNull String s, @NotNull Plugin plugin) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(@NotNull String s) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(@NotNull Permission permission) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(@NotNull String s) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(@NotNull Permission permission) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull PermissionAttachment addAttachment(@NotNull Plugin plugin, @NotNull String s, boolean b) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull PermissionAttachment addAttachment(@NotNull Plugin plugin) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable PermissionAttachment addAttachment(@NotNull Plugin plugin, @NotNull String s, boolean b, int i) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable PermissionAttachment addAttachment(@NotNull Plugin plugin, int i) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeAttachment(@NotNull PermissionAttachment permissionAttachment) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void recalculatePermissions() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Set<PermissionAttachmentInfo> getEffectivePermissions() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOp() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOp(boolean b) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull PersistentDataContainer getPersistentDataContainer() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user