glowサポート

This commit is contained in:
Keisuke Hirata 2026-04-08 01:26:18 +09:00
parent d917475e7d
commit fa5142290c
3 changed files with 19 additions and 1 deletions

View File

@ -7,4 +7,6 @@ open class FakeEntity(
val entityId: Int,
val uuid: UUID,
var location: Location
)
) {
var isGlowing: Boolean = false
}

View File

@ -121,6 +121,9 @@ internal object DisplayPacketFactory {
private fun buildDisplayMetadata(fake: FakeDisplay): MutableList<SynchedEntityData.DataValue<*>> {
val values = mutableListOf<SynchedEntityData.DataValue<*>>()
var sharedFlags: Byte = 0
if (fake.isGlowing) sharedFlags = (sharedFlags.toInt() or 0x40).toByte()
values.add(SynchedEntityData.DataValue.create(EntityDataFields.SHARED_FLAGS, sharedFlags))
values.add(SynchedEntityData.DataValue.create(EntityDataFields.TRANSLATION, fake.translation))
values.add(SynchedEntityData.DataValue.create(EntityDataFields.SCALE, fake.scale))
values.add(SynchedEntityData.DataValue.create(EntityDataFields.LEFT_ROTATION, fake.leftRotation))

View File

@ -13,6 +13,19 @@ import org.joml.Vector3f
@Suppress("UNCHECKED_CAST")
internal object EntityDataFields {
// --- Entity (common) ---
private val entityLookup = MethodHandles.privateLookupIn(
net.minecraft.world.entity.Entity::class.java, MethodHandles.lookup()
)
val SHARED_FLAGS: EntityDataAccessor<Byte> =
entityLookup.findStaticGetter(
net.minecraft.world.entity.Entity::class.java,
"DATA_SHARED_FLAGS_ID",
EntityDataAccessor::class.java
).invoke() as EntityDataAccessor<Byte>
// --- Display (common) ---
private val displayLookup = MethodHandles.privateLookupIn(