3
0
Mirror von https://github.com/ViaVersion/ViaVersion.git synchronisiert 2024-11-03 14:50:30 +01:00

Improved the shield handling (1.9->1.8)

Dieser Commit ist enthalten in:
RaynLegends 2017-06-01 18:23:16 +02:00
Ursprung d8f55006ff
Commit 8e20df57a9
2 geänderte Dateien mit 14 neuen und 10 gelöschten Zeilen

Datei anzeigen

@ -306,18 +306,20 @@ public class WorldPackets {
Item item = Protocol1_9TO1_8.getHandItem(wrapper.user()); Item item = Protocol1_9TO1_8.getHandItem(wrapper.user());
// Blocking patch // Blocking patch
if (Via.getConfig().isShieldBlocking()) { if (Via.getConfig().isShieldBlocking()) {
if (item != null) { EntityTracker tracker = wrapper.user().get(EntityTracker.class);
if (Protocol1_9TO1_8.isSword(item.getId())) {
if (hand == 0) { if (item != null && Protocol1_9TO1_8.isSword(item.getId())) {
EntityTracker tracker = wrapper.user().get(EntityTracker.class); if (hand == 0) {
if (!tracker.isBlocking()) { if (!tracker.isBlocking()) {
tracker.setBlocking(true); tracker.setBlocking(true);
Item shield = new Item((short) 442, (byte) 1, (short) 0, null); Item shield = new Item((short) 442, (byte) 1, (short) 0, null);
tracker.setSecondHand(shield); tracker.setSecondHand(shield);
}
wrapper.cancel();
} }
wrapper.cancel();
} }
} else {
tracker.setSecondHand(null);
tracker.setBlocking(false);
} }
} }
wrapper.write(Type.ITEM, item); wrapper.write(Type.ITEM, item);

Datei anzeigen

@ -162,6 +162,8 @@ public class EntityTracker extends StoredObject {
if (validBlocking.contains(entityID)) { if (validBlocking.contains(entityID)) {
Item shield = new Item((short) 442, (byte) 1, (short) 0, null); Item shield = new Item((short) 442, (byte) 1, (short) 0, null);
setSecondHand(entityID, shield); setSecondHand(entityID, shield);
} else {
setSecondHand(entityID, null);
} }
} else { } else {
setSecondHand(entityID, null); setSecondHand(entityID, null);