forked from chipmunkmc/chipmunkbot
Implement plugins as event listeners
This commit is contained in:
parent
b8e03415c9
commit
6feabfc10a
2 changed files with 16 additions and 16 deletions
|
@ -5,6 +5,7 @@ import com.github.steveice10.mc.protocol.MinecraftProtocol;
|
|||
import com.github.steveice10.packetlib.ProxyInfo;
|
||||
import com.github.steveice10.packetlib.Session;
|
||||
import com.github.steveice10.packetlib.tcp.TcpClientSession;
|
||||
import com.github.steveice10.packetlib.event.session.SessionListener;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
import java.lang.reflect.Constructor;
|
||||
|
@ -28,6 +29,7 @@ public class Client {
|
|||
try {
|
||||
Plugin plugin = pluginClass.newInstance();
|
||||
plugin.inject(this, null);
|
||||
if (plugin instanceof SessionListener) session.addListener((SessionListener) plugin);
|
||||
plugins.put(plugin.id(), plugin);
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ import java.util.List;
|
|||
import java.util.ArrayList;
|
||||
import java.util.UUID;
|
||||
|
||||
public class PlayerListPlugin implements Plugin {
|
||||
public class PlayerListPlugin extends SessionAdapter implements Plugin {
|
||||
private Client client;
|
||||
public List<MutablePlayerListEntry> list = new ArrayList<MutablePlayerListEntry>();
|
||||
|
||||
|
@ -24,25 +24,23 @@ public class PlayerListPlugin implements Plugin {
|
|||
@Override
|
||||
public void inject (Client client, JsonObject options) {
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
client.session().addListener(new SessionAdapter() {
|
||||
@Override
|
||||
public void packetReceived (Session session, Packet packet) {
|
||||
if (packet instanceof ClientboundPlayerInfoPacket) {
|
||||
ClientboundPlayerInfoPacket _packet = (ClientboundPlayerInfoPacket) packet;
|
||||
@Override
|
||||
public void packetReceived (Session session, Packet packet) {
|
||||
if (packet instanceof ClientboundPlayerInfoPacket) {
|
||||
ClientboundPlayerInfoPacket _packet = (ClientboundPlayerInfoPacket) packet;
|
||||
|
||||
PlayerListEntryAction action = _packet.getAction();
|
||||
PlayerListEntryAction action = _packet.getAction();
|
||||
|
||||
for (PlayerListEntry entry : _packet.getEntries()) {
|
||||
if (action == PlayerListEntryAction.ADD_PLAYER) addPlayer(entry);
|
||||
else if (action == PlayerListEntryAction.UPDATE_GAMEMODE) updateGamemode(entry);
|
||||
else if (action == PlayerListEntryAction.UPDATE_LATENCY) updateLatency(entry);
|
||||
else if (action == PlayerListEntryAction.UPDATE_DISPLAY_NAME) updateDisplayName(entry);
|
||||
else if (action == PlayerListEntryAction.REMOVE_PLAYER) removePlayer(entry);
|
||||
}
|
||||
}
|
||||
for (PlayerListEntry entry : _packet.getEntries()) {
|
||||
if (action == PlayerListEntryAction.ADD_PLAYER) addPlayer(entry);
|
||||
else if (action == PlayerListEntryAction.UPDATE_GAMEMODE) updateGamemode(entry);
|
||||
else if (action == PlayerListEntryAction.UPDATE_LATENCY) updateLatency(entry);
|
||||
else if (action == PlayerListEntryAction.UPDATE_DISPLAY_NAME) updateDisplayName(entry);
|
||||
else if (action == PlayerListEntryAction.REMOVE_PLAYER) removePlayer(entry);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public final MutablePlayerListEntry getEntry (UUID uuid) {
|
||||
|
|
Loading…
Reference in a new issue