From 101c4774a58f1f09d347fef9709e49be0007f407 Mon Sep 17 00:00:00 2001 From: Mattis Date: Mon, 27 Jan 2025 14:17:59 +0100 Subject: [PATCH] Add nametag entity spawning functionality Fixes #34 --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/CuukyOfficial/CFW/issues/34?shareId=XXXX-XXXX-XXXX-XXXX). --- .../cfw/version/OneSevenVersionAdapter.java | 20 +++++++++++++++++++ .../cfw/version/VersionAdapter.java | 2 ++ 2 files changed, 22 insertions(+) diff --git a/src/main/java/de/varoplugin/cfw/version/OneSevenVersionAdapter.java b/src/main/java/de/varoplugin/cfw/version/OneSevenVersionAdapter.java index afe2c6b..9d6d2d9 100644 --- a/src/main/java/de/varoplugin/cfw/version/OneSevenVersionAdapter.java +++ b/src/main/java/de/varoplugin/cfw/version/OneSevenVersionAdapter.java @@ -40,10 +40,12 @@ import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; +import org.bukkit.entity.Sheep; import org.bukkit.inventory.ItemStack; import org.bukkit.material.Sign; import org.bukkit.plugin.Plugin; import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; import org.bukkit.scoreboard.Team; import com.cryptomorin.xseries.XPotion; @@ -335,4 +337,22 @@ public Properties getServerProperties() { public void setServerProperty(String key, Object value) { this.getServerProperties().setProperty(key, String.valueOf(value)); } + + @Override + public Entity spawnNametagEntity(Player target, String nametag) { + Location location = target.getLocation(); + World world = target.getWorld(); + + // Spawn an invisible baby sheep + Sheep sheep = (Sheep) world.spawn(location, Sheep.class); + sheep.setBaby(); + sheep.setInvisible(true); + sheep.setCustomName(nametag); + sheep.setCustomNameVisible(true); + + // Make the sheep ride the player + target.addPassenger(sheep); + + return sheep; + } } diff --git a/src/main/java/de/varoplugin/cfw/version/VersionAdapter.java b/src/main/java/de/varoplugin/cfw/version/VersionAdapter.java index 9b82e82..59aae2f 100644 --- a/src/main/java/de/varoplugin/cfw/version/VersionAdapter.java +++ b/src/main/java/de/varoplugin/cfw/version/VersionAdapter.java @@ -90,4 +90,6 @@ public interface VersionAdapter { Properties getServerProperties(); void setServerProperty(String key, Object value); + + Entity spawnNametagEntity(Player target, String nametag); }