fix custom name properties to actually work
This commit is contained in:
parent
1a8da28d8e
commit
256e043e29
6 changed files with 109 additions and 79 deletions
|
@ -4,7 +4,13 @@
|
||||||
<option name="autoReloadType" value="SELECTIVE" />
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="9d5d9b6f-43c8-41a4-bb42-a66ffc96c9b0" name="Changes" comment="" />
|
<list default="true" id="9d5d9b6f-43c8-41a4-bb42-a66ffc96c9b0" name="Changes" comment="">
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java" beforeDir="false" afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/platforms/spigot/src/main/java/me/tofaa/entitylib/spigot/InternalRegistryListener.java" beforeDir="false" afterPath="$PROJECT_DIR$/platforms/spigot/src/main/java/me/tofaa/entitylib/spigot/InternalRegistryListener.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/testentitylib/TestPlayerCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/testentitylib/TestPlayerCommand.java" afterDir="false" />
|
||||||
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
@ -64,9 +70,12 @@
|
||||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
</component>
|
</component>
|
||||||
<component name="HighlightingSettingsPerFile">
|
<component name="HighlightingSettingsPerFile">
|
||||||
|
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.retrooper.packetevents/api/2.2.1/5aea4193d2dadf2f99523ded56a910c4dd98d23f/api-2.2.1-default.jar!/com/github/retrooper/packetevents/protocol/entity/pose/EntityPose.class" root0="SKIP_INSPECTION" />
|
||||||
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.retrooper.packetevents/api/2.2.1/5aea4193d2dadf2f99523ded56a910c4dd98d23f/api-2.2.1-default.jar!/com/github/retrooper/packetevents/wrapper/play/server/WrapperPlayServerEntityAnimation.class" root0="SKIP_INSPECTION" />
|
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.retrooper.packetevents/api/2.2.1/5aea4193d2dadf2f99523ded56a910c4dd98d23f/api-2.2.1-default.jar!/com/github/retrooper/packetevents/wrapper/play/server/WrapperPlayServerEntityAnimation.class" root0="SKIP_INSPECTION" />
|
||||||
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.retrooper.packetevents/api/2.2.1/5aea4193d2dadf2f99523ded56a910c4dd98d23f/api-2.2.1-default.jar!/com/github/retrooper/packetevents/wrapper/play/server/WrapperPlayServerSystemChatMessage.class" root0="SKIP_INSPECTION" />
|
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.retrooper.packetevents/api/2.2.1/5aea4193d2dadf2f99523ded56a910c4dd98d23f/api-2.2.1-default.jar!/com/github/retrooper/packetevents/wrapper/play/server/WrapperPlayServerSystemChatMessage.class" root0="SKIP_INSPECTION" />
|
||||||
|
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.retrooper.packetevents/api/2.2.1/5aea4193d2dadf2f99523ded56a910c4dd98d23f/api-2.2.1-default.jar!/com/github/retrooper/packetevents/wrapper/play/server/WrapperPlayServerTeams.class" root0="SKIP_INSPECTION" />
|
||||||
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.retrooper.packetevents/spigot/2.0.2/e1b5c8968213460b6bcf919597ea94de2157cb31/spigot-2.0.2.jar!/com/github/retrooper/packetevents/event/PacketListenerCommon.class" root0="SKIP_INSPECTION" />
|
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.retrooper.packetevents/spigot/2.0.2/e1b5c8968213460b6bcf919597ea94de2157cb31/spigot-2.0.2.jar!/com/github/retrooper/packetevents/event/PacketListenerCommon.class" root0="SKIP_INSPECTION" />
|
||||||
|
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.retrooper.packetevents/spigot/2.2.0/d8ce06232bdbdec3b31021c84545bd1aff957af0/spigot-2.2.0.jar!/com/github/retrooper/packetevents/wrapper/play/server/WrapperPlayServerTeams.class" root0="SKIP_INSPECTION" />
|
||||||
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.spigotmc/spigot-api/1.20.1-R0.1-SNAPSHOT/23c0dae3633c3dd31d4503969fa7f9f3d36840fb/spigot-api-1.20.1-R0.1-SNAPSHOT.jar!/org/bukkit/plugin/EventExecutor.class" root0="SKIP_INSPECTION" />
|
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.spigotmc/spigot-api/1.20.1-R0.1-SNAPSHOT/23c0dae3633c3dd31d4503969fa7f9f3d36840fb/spigot-api-1.20.1-R0.1-SNAPSHOT.jar!/org/bukkit/plugin/EventExecutor.class" root0="SKIP_INSPECTION" />
|
||||||
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.spigotmc/spigot-api/1.20.1-R0.1-SNAPSHOT/23c0dae3633c3dd31d4503969fa7f9f3d36840fb/spigot-api-1.20.1-R0.1-SNAPSHOT.jar!/org/bukkit/plugin/PluginManager.class" root0="SKIP_INSPECTION" />
|
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.spigotmc/spigot-api/1.20.1-R0.1-SNAPSHOT/23c0dae3633c3dd31d4503969fa7f9f3d36840fb/spigot-api-1.20.1-R0.1-SNAPSHOT.jar!/org/bukkit/plugin/PluginManager.class" root0="SKIP_INSPECTION" />
|
||||||
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.spigotmc/spigot-api/1.20.1-R0.1-SNAPSHOT/23c0dae3633c3dd31d4503969fa7f9f3d36840fb/spigot-api-1.20.1-R0.1-SNAPSHOT.jar!/org/bukkit/profile/PlayerProfile.class" root0="SKIP_INSPECTION" />
|
<setting file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.spigotmc/spigot-api/1.20.1-R0.1-SNAPSHOT/23c0dae3633c3dd31d4503969fa7f9f3d36840fb/spigot-api-1.20.1-R0.1-SNAPSHOT.jar!/org/bukkit/profile/PlayerProfile.class" root0="SKIP_INSPECTION" />
|
||||||
|
@ -87,39 +96,39 @@
|
||||||
<option name="showExcludedFiles" value="false" />
|
<option name="showExcludedFiles" value="false" />
|
||||||
<option name="showLibraryContents" value="true" />
|
<option name="showLibraryContents" value="true" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent">{
|
<component name="PropertiesComponent"><![CDATA[{
|
||||||
"keyToString": {
|
"keyToString": {
|
||||||
"Downloaded.Files.Path.Enabled": "false",
|
"Downloaded.Files.Path.Enabled": "false",
|
||||||
"Gradle.Build EntityLib.executor": "Run",
|
"Gradle.Build EntityLib.executor": "Run",
|
||||||
"Gradle.EntityLib [dependencies].executor": "Run",
|
"Gradle.EntityLib [dependencies].executor": "Run",
|
||||||
"Gradle.EntityLib [publish].executor": "Run",
|
"Gradle.EntityLib [publish].executor": "Run",
|
||||||
"Gradle.EntityLib:code-gen [:code-gen:Main.main()].executor": "Run",
|
"Gradle.EntityLib:code-gen [:code-gen:Main.main()].executor": "Run",
|
||||||
"Gradle.EntityLib:test-plugin [publish].executor": "Run",
|
"Gradle.EntityLib:test-plugin [publish].executor": "Run",
|
||||||
"Gradle.EntityLib:test-plugin [runServer].executor": "Run",
|
"Gradle.EntityLib:test-plugin [runServer].executor": "Debug",
|
||||||
"Gradle.EntityLib:test-plugin [shadowJar].executor": "Run",
|
"Gradle.EntityLib:test-plugin [shadowJar].executor": "Run",
|
||||||
"Repository.Attach.Annotations": "false",
|
"Repository.Attach.Annotations": "false",
|
||||||
"Repository.Attach.JavaDocs": "false",
|
"Repository.Attach.JavaDocs": "false",
|
||||||
"Repository.Attach.Sources": "false",
|
"Repository.Attach.Sources": "false",
|
||||||
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
||||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
"WebServerToolWindowFactoryState": "false",
|
"WebServerToolWindowFactoryState": "false",
|
||||||
"git-widget-placeholder": "master",
|
"git-widget-placeholder": "master",
|
||||||
"ignore.virus.scanning.warn.message": "true",
|
"ignore.virus.scanning.warn.message": "true",
|
||||||
"jdk.selected.JAVA_MODULE": "corretto-17",
|
"jdk.selected.JAVA_MODULE": "corretto-17",
|
||||||
"kotlin-language-version-configured": "true",
|
"kotlin-language-version-configured": "true",
|
||||||
"last_opened_file_path": "D:/Github/EntityLib/api/src/main/java/me/tofaa/entitylib/extras",
|
"last_opened_file_path": "D:/Github/EntityLib/api/src/main/java/me/tofaa/entitylib/extras",
|
||||||
"node.js.detected.package.eslint": "true",
|
"node.js.detected.package.eslint": "true",
|
||||||
"node.js.detected.package.tslint": "true",
|
"node.js.detected.package.tslint": "true",
|
||||||
"node.js.selected.package.eslint": "(autodetect)",
|
"node.js.selected.package.eslint": "(autodetect)",
|
||||||
"node.js.selected.package.tslint": "(autodetect)",
|
"node.js.selected.package.tslint": "(autodetect)",
|
||||||
"nodejs_package_manager_path": "npm",
|
"nodejs_package_manager_path": "npm",
|
||||||
"project.structure.last.edited": "Project",
|
"project.structure.last.edited": "Project",
|
||||||
"project.structure.proportion": "0.15",
|
"project.structure.proportion": "0.15",
|
||||||
"project.structure.side.proportion": "0.2",
|
"project.structure.side.proportion": "0.2",
|
||||||
"settings.editor.selected.configurable": "preferences.pluginManager",
|
"settings.editor.selected.configurable": "preferences.pluginManager",
|
||||||
"vue.rearranger.settings.migration": "true"
|
"vue.rearranger.settings.migration": "true"
|
||||||
}
|
}
|
||||||
}</component>
|
}]]></component>
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
<recent name="D:\Github\EntityLib\api\src\main\java\me\tofaa\entitylib\extras" />
|
<recent name="D:\Github\EntityLib\api\src\main\java\me\tofaa\entitylib\extras" />
|
||||||
|
@ -312,6 +321,12 @@
|
||||||
<workItem from="1708591139716" duration="1553000" />
|
<workItem from="1708591139716" duration="1553000" />
|
||||||
<workItem from="1708597333736" duration="3637000" />
|
<workItem from="1708597333736" duration="3637000" />
|
||||||
<workItem from="1708679023133" duration="6858000" />
|
<workItem from="1708679023133" duration="6858000" />
|
||||||
|
<workItem from="1708698582801" duration="3731000" />
|
||||||
|
<workItem from="1708809296046" duration="2479000" />
|
||||||
|
<workItem from="1708858398530" duration="1080000" />
|
||||||
|
<workItem from="1709057446428" duration="195000" />
|
||||||
|
<workItem from="1709074092924" duration="24000" />
|
||||||
|
<workItem from="1709139306864" duration="1813000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -13,11 +13,13 @@ import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEn
|
||||||
import me.tofaa.entitylib.EntityLib;
|
import me.tofaa.entitylib.EntityLib;
|
||||||
import me.tofaa.entitylib.extras.InvalidVersionException;
|
import me.tofaa.entitylib.extras.InvalidVersionException;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
|
@ -111,6 +113,18 @@ public class EntityMeta implements EntityMetadataProvider {
|
||||||
return getMaskBit(OFFSET, HAS_GLOWING_EFFECT_BIT);
|
return getMaskBit(OFFSET, HAS_GLOWING_EFFECT_BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isGlowing() {
|
||||||
|
return hasGlowingEffect();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHasGlowingEffect(boolean value) {
|
||||||
|
setMaskBit(OFFSET, HAS_GLOWING_EFFECT_BIT, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGlowing(boolean value) {
|
||||||
|
setHasGlowingEffect(value);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isSwimming() {
|
public boolean isSwimming() {
|
||||||
return getMaskBit(OFFSET, SWIMMING_BIT);
|
return getMaskBit(OFFSET, SWIMMING_BIT);
|
||||||
}
|
}
|
||||||
|
@ -119,10 +133,6 @@ public class EntityMeta implements EntityMetadataProvider {
|
||||||
setMaskBit(OFFSET, SWIMMING_BIT, value);
|
setMaskBit(OFFSET, SWIMMING_BIT, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setHasGlowingEffect(boolean value) {
|
|
||||||
setMaskBit(OFFSET, HAS_GLOWING_EFFECT_BIT, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isFlyingWithElytra() {
|
public boolean isFlyingWithElytra() {
|
||||||
return getMaskBit(OFFSET, FLYING_WITH_ELYTRA_BIT);
|
return getMaskBit(OFFSET, FLYING_WITH_ELYTRA_BIT);
|
||||||
}
|
}
|
||||||
|
@ -140,11 +150,12 @@ public class EntityMeta implements EntityMetadataProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Component getCustomName() {
|
public Component getCustomName() {
|
||||||
return this.metadata.getIndex(customNameOffset(), null);
|
Optional<Component> component = this.metadata.getIndex(customNameOffset(), null);
|
||||||
|
return component.orElse(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCustomName(Component value) {
|
public void setCustomName(Component value) {
|
||||||
this.metadata.setIndex(customNameOffset(), EntityDataTypes.ADV_COMPONENT, value);
|
this.metadata.setIndex(customNameOffset(), EntityDataTypes.OPTIONAL_ADV_COMPONENT, Optional.ofNullable(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isCustomNameVisible() {
|
public boolean isCustomNameVisible() {
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
package me.tofaa.entitylib.wrapper;
|
package me.tofaa.entitylib.wrapper;
|
||||||
|
|
||||||
|
import com.github.retrooper.packetevents.protocol.entity.data.EntityData;
|
||||||
|
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataType;
|
||||||
|
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
||||||
|
import com.github.retrooper.packetevents.protocol.entity.pose.EntityPose;
|
||||||
import com.github.retrooper.packetevents.protocol.entity.type.EntityType;
|
import com.github.retrooper.packetevents.protocol.entity.type.EntityType;
|
||||||
import com.github.retrooper.packetevents.protocol.player.User;
|
import com.github.retrooper.packetevents.protocol.player.User;
|
||||||
import com.github.retrooper.packetevents.protocol.world.Location;
|
import com.github.retrooper.packetevents.protocol.world.Location;
|
||||||
|
@ -44,7 +48,6 @@ public class WrapperEntity implements Tickable, TrackedEntity {
|
||||||
this.passengers = ConcurrentHashMap.newKeySet();
|
this.passengers = ConcurrentHashMap.newKeySet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean spawn(Location location) {
|
public boolean spawn(Location location) {
|
||||||
if (spawned) return false;
|
if (spawned) return false;
|
||||||
this.location = location;
|
this.location = location;
|
||||||
|
|
|
@ -28,6 +28,7 @@ final class InternalRegistryListener extends PacketListenerAbstract implements L
|
||||||
public void onPacketSend(PacketSendEvent event) {
|
public void onPacketSend(PacketSendEvent event) {
|
||||||
final User user = event.getUser();
|
final User user = event.getUser();
|
||||||
final PacketTypeCommon type = event.getPacketType();
|
final PacketTypeCommon type = event.getPacketType();
|
||||||
|
|
||||||
if (type == PacketType.Play.Server.DESTROY_ENTITIES) {
|
if (type == PacketType.Play.Server.DESTROY_ENTITIES) {
|
||||||
WrapperPlayServerDestroyEntities packet = new WrapperPlayServerDestroyEntities(event);
|
WrapperPlayServerDestroyEntities packet = new WrapperPlayServerDestroyEntities(event);
|
||||||
int[] ids = packet.getEntityIds();
|
int[] ids = packet.getEntityIds();
|
||||||
|
|
|
@ -38,37 +38,39 @@ public class TestPlayerCommand extends BukkitCommand {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
String arg = strings[0].toLowerCase();
|
String arg = strings[0].toLowerCase();
|
||||||
if (arg.equals("spawn")) {
|
switch (arg) {
|
||||||
|
case "spawn":
|
||||||
UserProfile profile = new UserProfile(UUID.randomUUID(), "randomname", new ArrayList<>());
|
UserProfile profile = new UserProfile(UUID.randomUUID(), "randomname", new ArrayList<>());
|
||||||
p = new WrapperPlayer(profile, EntityLib.getPlatform().getEntityIdProvider().provide(profile.getUUID(), EntityTypes.PLAYER));
|
p = new WrapperPlayer(profile, EntityLib.getPlatform().getEntityIdProvider().provide(profile.getUUID(), EntityTypes.PLAYER));
|
||||||
p.spawn(SpigotConversionUtil.fromBukkitLocation(player.getLocation()));
|
p.spawn(SpigotConversionUtil.fromBukkitLocation(player.getLocation()));
|
||||||
p.addViewer(player.getUniqueId());
|
p.addViewer(player.getUniqueId());
|
||||||
ItemStack stack = ItemStack.builder().type(ItemTypes.DIAMOND_BOOTS).build();
|
ItemStack stack = ItemStack.builder().type(ItemTypes.DIAMOND_BOOTS).build();
|
||||||
p.getEquipment().setBoots(stack);
|
p.getEquipment().setBoots(stack);
|
||||||
}
|
break;
|
||||||
else if (arg.equals( "texture")) {
|
case "texture":
|
||||||
p.setTextureProperties(ExtraConversionUtil.getProfileFromBukkitPlayer(player).getTextureProperties());
|
p.setTextureProperties(ExtraConversionUtil.getProfileFromBukkitPlayer(player).getTextureProperties());
|
||||||
player.sendMessage("texture");
|
player.sendMessage("texture");
|
||||||
}
|
break;
|
||||||
else if (arg.equals( "ping")) {
|
case "ping":
|
||||||
p.setLatency(1000);
|
p.setLatency(1000);
|
||||||
player.sendMessage("Pong");
|
player.sendMessage("Pong");
|
||||||
}
|
break;
|
||||||
else if (arg.equals( "gamemode")) {
|
case "gamemode":
|
||||||
p.setGameMode(GameMode.CREATIVE);
|
p.setGameMode(GameMode.CREATIVE);
|
||||||
player.sendMessage("Gamemode set to creative");
|
player.sendMessage("Gamemode set to creative");
|
||||||
}
|
break;
|
||||||
else if (arg.equals( "displayname")) {
|
case "displayname":
|
||||||
p.setDisplayName(Component.text("Hello"));
|
p.setDisplayName(Component.text("Hello"));
|
||||||
player.sendMessage("Display name set to Hello");
|
player.sendMessage("Display name set to Hello");
|
||||||
}
|
break;
|
||||||
else if (arg.equals( "tablist")) {
|
case "tablist":
|
||||||
p.setInTablist(!p.isInTablist());
|
p.setInTablist(!p.isInTablist());
|
||||||
player.sendMessage("Tablist " + (p.isInTablist() ? "enabled" : "disabled"));
|
player.sendMessage("Tablist " + (p.isInTablist() ? "enabled" : "disabled"));
|
||||||
}
|
break;
|
||||||
else if (arg.equals("remove")) {
|
case "remove":
|
||||||
p.remove();
|
p.remove();
|
||||||
player.sendMessage("Entity removed");
|
player.sendMessage("Entity removed");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -77,7 +79,7 @@ public class TestPlayerCommand extends BukkitCommand {
|
||||||
@Override
|
@Override
|
||||||
public List<String> tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) throws IllegalArgumentException {
|
public List<String> tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) throws IllegalArgumentException {
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
return Arrays.asList(new String[]{"spawn", "texture", "ping", "gamemode", "displayname", "tablist", "remove"});
|
return Arrays.asList("spawn", "texture", "ping", "gamemode", "displayname", "tablist", "remove", "sneak");
|
||||||
}
|
}
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes;
|
||||||
import io.github.retrooper.packetevents.util.SpigotConversionUtil;
|
import io.github.retrooper.packetevents.util.SpigotConversionUtil;
|
||||||
import me.tofaa.entitylib.EntityLib;
|
import me.tofaa.entitylib.EntityLib;
|
||||||
import me.tofaa.entitylib.meta.display.TextDisplayMeta;
|
import me.tofaa.entitylib.meta.display.TextDisplayMeta;
|
||||||
|
import me.tofaa.entitylib.meta.mobs.passive.PigMeta;
|
||||||
import me.tofaa.entitylib.wrapper.WrapperEntity;
|
import me.tofaa.entitylib.wrapper.WrapperEntity;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
@ -24,18 +25,15 @@ public class TestTextDisplayCommand extends BukkitCommand {
|
||||||
if (!(commandSender instanceof Player)) return true;
|
if (!(commandSender instanceof Player)) return true;
|
||||||
Player player = (Player) commandSender;
|
Player player = (Player) commandSender;
|
||||||
if (e == null) {
|
if (e == null) {
|
||||||
e = EntityLib.getApi().createEntity(EntityTypes.TEXT_DISPLAY);
|
e = EntityLib.getApi().createEntity(EntityTypes.PIG);
|
||||||
if (e == null) {
|
|
||||||
player.sendMessage("Failed to spawn entity");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
e.spawn(SpigotConversionUtil.fromBukkitLocation(player.getLocation()));
|
e.spawn(SpigotConversionUtil.fromBukkitLocation(player.getLocation()));
|
||||||
e.addViewer(player.getUniqueId());
|
e.addViewer(player.getUniqueId());
|
||||||
player.sendMessage("Spawned");
|
player.sendMessage("Spawned");
|
||||||
}
|
}
|
||||||
String msg = String.join(" ", strings);
|
String msg = String.join(" ", strings);
|
||||||
TextDisplayMeta meta = (TextDisplayMeta) e.getEntityMeta();
|
PigMeta meta = (PigMeta) e.getEntityMeta();
|
||||||
meta.setText(Component.text(msg));
|
meta.setCustomNameVisible(true);
|
||||||
|
meta.setCustomName(Component.text(msg));
|
||||||
player.sendMessage("Set text to: " + msg);
|
player.sendMessage("Set text to: " + msg);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue