Add Bow Damge and Fire #261
@ -55,6 +55,33 @@ public class Recording implements Listener {
|
||||
|
||||
private static final int AIR = 0;
|
||||
private static final Random random = new Random();
|
||||
private static final PacketAdapter BOW_PACKET_PROCESSOR = new PacketAdapter(FightSystem.getPlugin(), PacketType.Play.Client.BLOCK_PLACE) {
|
||||
@Override
|
||||
public void onPacketReceiving(PacketEvent event) {
|
||||
PacketContainer packet = event.getPacket();
|
||||
EnumWrappers.Hand hand = packet.getHands().read(0);
|
||||
Player p = event.getPlayer();
|
||||
|
||||
if(!((hand == EnumWrappers.Hand.MAIN_HAND && p.getInventory().getItemInMainHand().getType() == Material.BOW) ||
|
||||
(hand == EnumWrappers.Hand.OFF_HAND && p.getInventory().getItemInOffHand().getType() == Material.BOW)))
|
||||
return;
|
||||
|
||||
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
|
||||
@Override
|
||||
public void onPacketReceiving(PacketEvent e) {
|
||||
if(e.getPlayer() != event.getPlayer())
|
||||
return;
|
||||
|
||||
PacketContainer packetDig = e.getPacket();
|
||||
if(packetDig.getPlayerDigTypes().read(0) == EnumWrappers.PlayerDigType.RELEASE_USE_ITEM) {
|
||||
RecordSystem.bowSpan(e.getPlayer(), false, hand != EnumWrappers.Hand.MAIN_HAND);
|
||||
ProtocolLibrary.getProtocolManager().removePacketListener(this);
|
||||
Chaoscaot markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
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. 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() {
|
||||
new StateDependentListener(Config.recording(), FightState.All, this);
|
||||
Chaoscaot markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
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ß.
|
||||
@ -74,35 +101,17 @@ public class Recording implements Listener {
|
||||
despawnTNT();
|
||||
}
|
||||
}.register();
|
||||
|
||||
//Bow Listener
|
||||
ProtocolLibrary.getProtocolManager().addPacketListener(new PacketAdapter(FightSystem.getPlugin(), PacketType.Play.Client.BLOCK_PLACE) {
|
||||
new StateDependent(Config.recording(), FightState.All) {
|
||||
Chaoscaot markierte diese Unterhaltung als gelöst
Veraltet
YoyoNow
hat
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?
|
||||
@Override
|
||||
public void onPacketReceiving(PacketEvent event) {
|
||||
PacketContainer packet = event.getPacket();
|
||||
EnumWrappers.Hand hand = packet.getHands().read(0);
|
||||
Player p = event.getPlayer();
|
||||
|
||||
if(!((hand == EnumWrappers.Hand.MAIN_HAND && p.getInventory().getItemInMainHand().getType() == Material.BOW) ||
|
||||
(hand == EnumWrappers.Hand.OFF_HAND && p.getInventory().getItemInOffHand().getType() == Material.BOW)))
|
||||
return;
|
||||
|
||||
RecordSystem.bowSpan(p, true, hand != EnumWrappers.Hand.MAIN_HAND);
|
||||
ProtocolLibrary.getProtocolManager().addPacketListener(new PacketAdapter(FightSystem.getPlugin(), PacketType.Play.Client.BLOCK_DIG) {
|
||||
@Override
|
||||
public void onPacketReceiving(PacketEvent e) {
|
||||
if(e.getPlayer() != event.getPlayer())
|
||||
return;
|
||||
|
||||
PacketContainer packetDig = e.getPacket();
|
||||
if(packetDig.getPlayerDigTypes().read(0) == EnumWrappers.PlayerDigType.RELEASE_USE_ITEM) {
|
||||
RecordSystem.bowSpan(e.getPlayer(), false, hand != EnumWrappers.Hand.MAIN_HAND);
|
||||
ProtocolLibrary.getProtocolManager().removePacketListener(this);
|
||||
}
|
||||
}
|
||||
});
|
||||
public void enable() {
|
||||
ProtocolLibrary.getProtocolManager().addPacketListener(BOW_PACKET_PROCESSOR);
|
||||
}
|
||||
});
|
||||
|
||||
@Override
|
||||
public void disable() {
|
||||
ProtocolLibrary.getProtocolManager().removePacketListener(BOW_PACKET_PROCESSOR);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
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!