mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2025-02-03 05:51:42 +01:00
Fix protocollib integration and overwrite text display component
This commit is contained in:
parent
468703fe79
commit
d4b41bd0cd
@ -101,13 +101,26 @@ public class ProtocolLibListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
for (WrappedDataValue wdv : wdvs) {
|
for (WrappedDataValue wdv : wdvs) {
|
||||||
if (fakeName != null && wdv.getIndex() == 2) {
|
switch (wdv.getIndex()) {
|
||||||
wdv.setRawValue(fakeName);
|
case 0:
|
||||||
delta = true;
|
if (sneaking) {
|
||||||
} else if (sneaking && wdv.getIndex() == 0) {
|
byte flags = (byte) (((Number) wdv.getValue()).byteValue() | 0x02);
|
||||||
byte b = (byte) (((Number) wdv.getValue()).byteValue() | 0x02);
|
wdv.setValue(flags);
|
||||||
wdv.setValue(b);
|
delta = true;
|
||||||
delta = true;
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (fakeName != null) {
|
||||||
|
wdv.setRawValue(fakeName);
|
||||||
|
delta = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 23:
|
||||||
|
if (fakeName != null && npc.getEntity().getType() == EntityType.TEXT_DISPLAY) {
|
||||||
|
wdv.setRawValue(((Optional<?>) fakeName).get());
|
||||||
|
delta = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (delta) {
|
if (delta) {
|
||||||
@ -222,7 +235,7 @@ public class ProtocolLibListener implements Listener {
|
|||||||
private NPC getNPCFromPacket(PacketEvent event) {
|
private NPC getNPCFromPacket(PacketEvent event) {
|
||||||
PacketContainer packet = event.getPacket();
|
PacketContainer packet = event.getPacket();
|
||||||
try {
|
try {
|
||||||
Object entityModifier = packet.getEntityModifier(event).getTarget();
|
Object entityModifier = packet.getEntityModifier(event).read(0);
|
||||||
return entityModifier instanceof NPCHolder ? ((NPCHolder) entityModifier).getNPC() : null;
|
return entityModifier instanceof NPCHolder ? ((NPCHolder) entityModifier).getNPC() : null;
|
||||||
} catch (FieldAccessException | IllegalArgumentException ex) {
|
} catch (FieldAccessException | IllegalArgumentException ex) {
|
||||||
if (!LOGGED_ERROR) {
|
if (!LOGGED_ERROR) {
|
||||||
|
Loading…
Reference in New Issue
Block a user