12
1

Add Bow Damge and Fire #261

Manuell gemergt
Lixfel hat 14 Commits von record_extension nach master 2021-04-23 19:52:27 +02:00 zusammengeführt
2 geänderte Dateien mit 5 neuen und 7 gelöschten Zeilen
Nur Änderungen aus Commit 9ca2b6482a werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -87,7 +87,7 @@ public class Recording implements Listener {
(hand == EnumWrappers.Hand.OFF_HAND && p.getInventory().getItemInOffHand().getType() == Material.BOW)))
Chaoscaot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Bogen kann nur gespannt werden, wenn der Bogen in der Haupthand ist. Armbrüste könnten ggf. noch problematisch sein, genauso weiß ich nicht, ob das Material genau so seit der 1.8 hieß.

Bogen kann nur gespannt werden, wenn der Bogen in der Haupthand ist. Armbrüste könnten ggf. noch problematisch sein, genauso weiß ich nicht, ob das Material genau so seit der 1.8 hieß.
return;
RecordSystem.bowSpan(p, true, hand == EnumWrappers.Hand.MAIN_HAND?1:0);
RecordSystem.bowSpan(p, true, hand != EnumWrappers.Hand.MAIN_HAND);
Chaoscaot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Bögen können immer nur in der MainHand gespannt werden.

Bögen können immer nur in der MainHand gespannt werden.
ProtocolLibrary.getProtocolManager().addPacketListener(new PacketAdapter(FightSystem.getPlugin(), PacketType.Play.Client.BLOCK_DIG) {
@Override
public void onPacketReceiving(PacketEvent e) {
@ -96,7 +96,7 @@ public class Recording implements Listener {
PacketContainer packetDig = e.getPacket();
if(packetDig.getPlayerDigTypes().read(0) == EnumWrappers.PlayerDigType.RELEASE_USE_ITEM) {
RecordSystem.bowSpan(e.getPlayer(), false, hand == EnumWrappers.Hand.MAIN_HAND?0:1);
RecordSystem.bowSpan(e.getPlayer(), false, hand != EnumWrappers.Hand.MAIN_HAND);
ProtocolLibrary.getProtocolManager().removePacketListener(this);
}
}
@ -275,6 +275,4 @@ public class Recording implements Listener {
FightPlayer fp = Fight.getFightPlayer(p);
return fp == null || !fp.isLiving() || FightState.getFightState() == FightState.SPECTATE;
}
}

Datei anzeigen

@ -64,7 +64,7 @@ public class RecordSystem {
* PlayerItemPacket (0x07) + int EntityId + String item + boolean enchanted + String slot
* ArrowSpawnPacket (0x08) + int EntityId
* FireballSpawnPacket (0x09) + int EntityId
* BowSpanPacket (0x0A) + int EntityId + boolean start + int hand
* BowSpanPacket (0x0A) + int EntityId + boolean start + hand
* PlayerDamagePacket (0x0B) + int EntityId
* SetOnFire (0x0C) + int EntityId + boolean perma
Lixfel markierte diese Unterhaltung als gelöst
Review

Dieses Packet kommt mir nicht ganz richtig vor, FireTick ist doch eine sache, welche zufällig weggeht, somit ist es nicht deterministisch, also weiß ich nicht, ob das abspielen dieser nicht dann mal länger und mal kürzer ist, was nicht im Sinne des Packets sein dürfte.

Dieses Packet kommt mir nicht ganz richtig vor, FireTick ist doch eine sache, welche zufällig weggeht, somit ist es nicht deterministisch, also weiß ich nicht, ob das abspielen dieser nicht dann mal länger und mal kürzer ist, was nicht im Sinne des Packets sein dürfte.
Review

Deshalb wird der FireTick auch, wenn die perma flag auf false ist, nur für 21 Ticks abgespielt, somit ist relativ genau, kann aber noch max. 1 Sekunde off sein.

Deshalb wird der FireTick auch, wenn die perma flag auf false ist, nur für 21 Ticks abgespielt, somit ist relativ genau, kann aber noch max. 1 Sekunde off sein.
*
@ -175,11 +175,11 @@ public class RecordSystem {
spawnEntity(e);
}
public static synchronized void bowSpan(Entity e, boolean start, int hand) {
public static synchronized void bowSpan(Entity e, boolean start, boolean offHand) {
Lixfel markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Das BowSpan hat doch mehrere stadien, reicht da einfach ein boolean für? Und wie ist das mit der Hand wofür genau brauchst du diese, weil du weißt doch den slot, den du gerade hälst.

Würde hier nicht einfach ein Boolean reichen, für mainHand?

Das BowSpan hat doch mehrere stadien, reicht da einfach ein boolean für? Und wie ist das mit der Hand wofür genau brauchst du diese, weil du weißt doch den slot, den du gerade hälst. Würde hier nicht einfach ein Boolean reichen, für mainHand?
Veraltet
Review

Die "Stadien" die das Bogen Spannen hat werden Client Seitig berechnet.

Die "Stadien" die das Bogen Spannen hat werden Client Seitig berechnet.
Review

Bögen kann man nur in der MainHand spannen? (Meines wissens nach?)

Bögen kann man nur in der MainHand spannen? (Meines wissens nach?)
Recorder.rByte(0x0A);
Recorder.rInt(e.getEntityId());
Recorder.rBoolean(start);
Recorder.rInt(hand);
Recorder.rBoolean(hand);
Recorder.flush();
}