diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index 4d93d1d..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml deleted file mode 100644 index c4adff3..0000000 --- a/.idea/gradle.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 7c27775..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml deleted file mode 100644 index 2b63946..0000000 --- a/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java b/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java index c69f81f..96deb40 100644 --- a/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java +++ b/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java @@ -81,7 +81,7 @@ public class EntityMeta implements EntityMetadataProvider { } public void setCustomName(Component value) { - this.metadata.setIndex(offset(OFFSET, 2), EntityDataTypes.COMPONENT, GsonComponentSerializer.gson().serialize(value)); + this.metadata.setIndex(offset(OFFSET, 2), EntityDataTypes.ADV_COMPONENT, value); } public boolean isCustomNameVisible() { diff --git a/test-plugin/src/main/java/me/tofaa/entitylib/TestEntityCommand.java b/test-plugin/src/main/java/me/tofaa/entitylib/TestEntityCommand.java index 2a55473..beeb1c6 100644 --- a/test-plugin/src/main/java/me/tofaa/entitylib/TestEntityCommand.java +++ b/test-plugin/src/main/java/me/tofaa/entitylib/TestEntityCommand.java @@ -1,14 +1,11 @@ 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 me.tofaa.entitylib.entity.WrapperEntityEquipment; import me.tofaa.entitylib.entity.WrapperLivingEntity; import me.tofaa.entitylib.meta.EntityMeta; -import me.tofaa.entitylib.meta.other.ArmorStandMeta; import net.kyori.adventure.text.Component; -import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -16,7 +13,6 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; -import java.util.Collections; import java.util.UUID; public class TestEntityCommand implements CommandExecutor { @@ -36,22 +32,29 @@ public class TestEntityCommand implements CommandExecutor { entity.addViewer(player.getUniqueId()); entity.spawn(SpigotConversionUtil.fromBukkitLocation(player.getLocation())); } - ItemStack held = player.getInventory().getItemInMainHand(); - if (!held.getType().isAir()) { - entity.getEquipment().setBoots(SpigotConversionUtil.fromBukkitItemStack(held)); - } + equipItems(player); EntityMeta meta = entity.getMeta(); - meta.setOnFire(!meta.isOnFire()); - meta.setHasGlowingEffect(!meta.hasGlowingEffect()); meta.setCustomNameVisible(!meta.isCustomNameVisible()); meta.setCustomName(Component.text("test")); - player.sendMessage("on fire: " + meta.isOnFire()); - player.sendMessage("glowing: " + meta.hasGlowingEffect()); - entity.refresh(); return false; } + private void equipItems(Player player) { + ItemStack held = player.getInventory().getItemInMainHand(); + ItemStack helmet = player.getInventory().getHelmet(); + ItemStack chestplate = player.getInventory().getChestplate(); + ItemStack leggings = player.getInventory().getLeggings(); + ItemStack boots = player.getInventory().getBoots(); + WrapperEntityEquipment equipment = entity.getEquipment(); + + if (helmet != null && !helmet.getType().isAir()) equipment.setHelmet(SpigotConversionUtil.fromBukkitItemStack(helmet)); + if (chestplate != null && !chestplate.getType().isAir()) equipment.setChestplate(SpigotConversionUtil.fromBukkitItemStack(chestplate)); + if (leggings != null && !leggings.getType().isAir()) equipment.setLeggings(SpigotConversionUtil.fromBukkitItemStack(leggings)); + if (boots != null && !boots.getType().isAir()) equipment.setBoots(SpigotConversionUtil.fromBukkitItemStack(boots)); + if (!held.getType().isAir()) equipment.setMainHand(SpigotConversionUtil.fromBukkitItemStack(held)); + } + }