mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-31 12:56:28 +00:00
feat(entity): 添加自定义三叉戟
This commit is contained in:
@@ -1600,12 +1600,18 @@ public class PacketConsumers {
|
||||
Player player = (Player) user.platformPlayer();
|
||||
Trident trident = (Trident) FastNMS.INSTANCE.getBukkitEntityById(player.getWorld(), entityId);
|
||||
PersistentDataContainerView container = trident.getItemStack().getPersistentDataContainer();
|
||||
if (container == null) return;
|
||||
String customTrident = container.get(Objects.requireNonNull(NamespacedKey.fromString("craftengine:custom_trident")), PersistentDataType.STRING);
|
||||
int interpolationDelay = container.get(Objects.requireNonNull(NamespacedKey.fromString("craftengine:interpolation_delay")), PersistentDataType.INTEGER);
|
||||
int transformationInterpolationDuration = container.get(Objects.requireNonNull(NamespacedKey.fromString("craftengine:transformation_interpolation_duration")), PersistentDataType.INTEGER);
|
||||
int positionRotationInterpolationDuration = container.get(Objects.requireNonNull(NamespacedKey.fromString("craftengine:position_rotation_interpolation_duration")), PersistentDataType.INTEGER);
|
||||
NamespacedKey customTridentKey = Objects.requireNonNull(NamespacedKey.fromString("craftengine:custom_trident"));
|
||||
NamespacedKey interpolationDelayKey = Objects.requireNonNull(NamespacedKey.fromString("craftengine:interpolation_delay"));
|
||||
NamespacedKey transformationInterpolationDurationaKey = Objects.requireNonNull(NamespacedKey.fromString("craftengine:transformation_interpolation_duration"));
|
||||
NamespacedKey positionRotationInterpolationDurationKey = Objects.requireNonNull(NamespacedKey.fromString("craftengine:position_rotation_interpolation_duration"));
|
||||
String customTrident = container.get(customTridentKey, PersistentDataType.STRING);
|
||||
Integer interpolationDelay = container.get(interpolationDelayKey, PersistentDataType.INTEGER);
|
||||
Integer transformationInterpolationDuration = container.get(transformationInterpolationDurationaKey, PersistentDataType.INTEGER);
|
||||
Integer positionRotationInterpolationDuration = container.get(positionRotationInterpolationDurationKey, PersistentDataType.INTEGER);
|
||||
if (customTrident == null) return;
|
||||
if (interpolationDelay == null) return;
|
||||
if (transformationInterpolationDuration == null) return;
|
||||
if (positionRotationInterpolationDuration == null) return;
|
||||
Reflections.field$ClientboundAddEntityPacket$type.set(packet, Reflections.instance$EntityType$ITEM_DISPLAY);
|
||||
List<Object> itemDisplayValues = new ArrayList<>();
|
||||
Item<ItemStack> item = BukkitItemManager.instance().createWrappedItem(Key.of(customTrident), null);
|
||||
|
||||
Reference in New Issue
Block a user