- Баллы
- 66
- Имя в Minecraft
- Phizzle
Привет всем, версия ядра Paper 1.13.2. Я использую
Когда игрок выполняет опред. действия, подсветка этого игрока пропадает у всех.
Найденые действия: приседание, бег, ПКМ по игроку
PHP:
public static void sendGlowing(Player player, Player who, boolean glow) {
if (player == null || who == null) {
return;
}
Entity nmsEntity = ((CraftPlayer) who).getHandle();
DataWatcher toCloneDataWatcher = nmsEntity.getDataWatcher();
DataWatcher newDataWatcher = new DataWatcher(nmsEntity);
Map<Integer, DataWatcher.Item<?>> currentMap = ReflectionUtils.getFieldValue(toCloneDataWatcher, "d");
Map<Integer, DataWatcher.Item<?>> newMap = new HashMap<>();
for (Integer integer : currentMap.keySet()) {
newMap.put(integer, currentMap.get(integer).d());
}
DataWatcher.Item item = newMap.get(0);
byte initialBitMask = (Byte) item.b();
byte bitMaskIndex = (byte) 6;
item.a((byte) (glow ? (initialBitMask | 1 << bitMaskIndex) : (initialBitMask & ~(1 << bitMaskIndex))));
ReflectionUtils.setFieldValue(newDataWatcher, "d", newMap);
PacketPlayOutEntityMetadata metadataPacket = new PacketPlayOutEntityMetadata(who.getEntityId(),
newDataWatcher, true);
sendPacket(player, metadataPacket);
}
Когда игрок выполняет опред. действия, подсветка этого игрока пропадает у всех.
Найденые действия: приседание, бег, ПКМ по игроку
Последнее редактирование:
