SteamWar/FightSystem
Archiviert
13
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
Nur Änderungen aus Commit 48fe87ffa3 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -67,20 +67,17 @@ public class Recording implements Listener {
return; return;
RecordSystem.bowSpan(p, true, hand != EnumWrappers.Hand.MAIN_HAND); RecordSystem.bowSpan(p, true, hand != EnumWrappers.Hand.MAIN_HAND);
ProtocolLibrary.getProtocolManager().addPacketListener(new PacketAdapter(FightSystem.getPlugin(), PacketType.Play.Client.BLOCK_DIG) { }
Chaoscaot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

ARRRGG! Nicht für jedes Paket einen PacketListener registrieren! Bitte nicht! (Musst halt ein Set einbauen, wer gerade den Bogen gezogen hat, aber das bitte nicht!

ARRRGG! Nicht für jedes Paket einen PacketListener registrieren! Bitte nicht! (Musst halt ein Set einbauen, wer gerade den Bogen gezogen hat, aber das bitte nicht!
};
private static final PacketAdapter BOW_PACKET_DEDRAW_PROCESSOR = new PacketAdapter(FightSystem.getPlugin(), PacketType.Play.Client.BLOCK_DIG) {
@Override @Override
public void onPacketReceiving(PacketEvent e) { public void onPacketReceiving(PacketEvent e) {
if(e.getPlayer() != event.getPlayer())
return;
PacketContainer packetDig = e.getPacket(); PacketContainer packetDig = e.getPacket();
if(packetDig.getPlayerDigTypes().read(0) == EnumWrappers.PlayerDigType.RELEASE_USE_ITEM) { if(packetDig.getPlayerDigTypes().read(0) == EnumWrappers.PlayerDigType.RELEASE_USE_ITEM) {
RecordSystem.bowSpan(e.getPlayer(), false, hand != EnumWrappers.Hand.MAIN_HAND); RecordSystem.bowSpan(e.getPlayer(), false, false);
ProtocolLibrary.getProtocolManager().removePacketListener(this);
} }
Chaoscaot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Unsauber, das hier zu Registrieren. Ggf. wäre es sinnvoll, einen PacketAdapterStateDependent neu einzuführen, ansonsten das bitte hier als StateDependent registrieren (und wieder entregistrieren).

Dann läuft das nicht mit, wenn es nicht benötigt wird.
Falls du eine Idee brauchst, wie das geht, schau mal im TechHider nach.

Unsauber, das hier zu Registrieren. Ggf. wäre es sinnvoll, einen PacketAdapterStateDependent neu einzuführen, ansonsten das bitte hier als StateDependent registrieren (und wieder entregistrieren). Dann läuft das nicht mit, wenn es nicht benötigt wird. Falls du eine Idee brauchst, wie das geht, schau mal im TechHider nach.
} }
});
}
}; };
public Recording() { public Recording() {
@ -105,11 +102,13 @@ public class Recording implements Listener {
@Override @Override
public void enable() { public void enable() {
ProtocolLibrary.getProtocolManager().addPacketListener(BOW_PACKET_PROCESSOR); ProtocolLibrary.getProtocolManager().addPacketListener(BOW_PACKET_PROCESSOR);
Chaoscaot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Warum willst du den Bogen Listener immer haben? Ist das nicht etwas unnütz, weil wann genau im Fight hat man einen Bogen? Ich glaube nur im prepare und im Fight selber. Also kann man das hier doch nocht optimieren?

Warum willst du den Bogen Listener immer haben? Ist das nicht etwas unnütz, weil wann genau im Fight hat man einen Bogen? Ich glaube nur im prepare und im Fight selber. Also kann man das hier doch nocht optimieren?
ProtocolLibrary.getProtocolManager().addPacketListener(BOW_PACKET_DEDRAW_PROCESSOR);
} }
@Override @Override
public void disable() { public void disable() {
ProtocolLibrary.getProtocolManager().removePacketListener(BOW_PACKET_PROCESSOR); ProtocolLibrary.getProtocolManager().removePacketListener(BOW_PACKET_PROCESSOR);
ProtocolLibrary.getProtocolManager().removePacketListener(BOW_PACKET_DEDRAW_PROCESSOR);
} }
}.register(); }.register();
} }