use of cn.nukkit.event.player.PlayerCreationEvent in project Nukkit by Nukkit.
the class RakNetInterface method openSession.
@Override
public void openSession(String identifier, String address, int port, long clientID) {
PlayerCreationEvent ev = new PlayerCreationEvent(this, Player.class, Player.class, null, address, port);
this.server.getPluginManager().callEvent(ev);
Class<? extends Player> clazz = ev.getPlayerClass();
try {
Constructor constructor = clazz.getConstructor(SourceInterface.class, Long.class, String.class, int.class);
Player player = (Player) constructor.newInstance(this, ev.getClientId(), ev.getAddress(), ev.getPort());
this.players.put(identifier, player);
this.networkLatency.put(identifier, 0);
this.identifiersACK.put(identifier, 0);
this.identifiers.put(player.rawHashCode(), identifier);
this.server.addPlayer(identifier, player);
} catch (NoSuchMethodException | InvocationTargetException | InstantiationException | IllegalAccessException e) {
Server.getInstance().getLogger().logException(e);
}
}
Aggregations