Java源码示例:com.velocitypowered.api.event.PostOrder
示例1
@Subscribe(order = PostOrder.LAST)
public void onServerConnected(ServerConnectedEvent event) {
UserConnection user = Via.getManager().getConnection(event.getPlayer().getUniqueId());
if (user == null) return;
try {
if (user.getProtocolInfo().getPipeline().contains(Protocol1_9To1_8.class)) {
int entityId = user.get(EntityTracker1_9.class).getProvidedEntityId();
PacketWrapper wrapper = new PacketWrapper(0x39, null, user);
wrapper.write(Type.VAR_INT, entityId);
wrapper.write(Types1_9.METADATA_LIST, Collections.singletonList(new Metadata(0, MetaType1_9.Byte, (byte) 0)));
wrapper.send(Protocol1_9To1_8.class);
}
} catch (Exception e) {
e.printStackTrace();
}
}
示例2
@Subscribe(order = PostOrder.EARLY)
public void onEnable(ProxyInitializeEvent event) {
try {
concreteClass.getMethod("onEnable").invoke(concrete);
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
logger.error(ex.getMessage(), ex);
throw new RuntimeException("Could not invoke onEnable.");
}
if (ExternalAPI.getInstance() == null) {
ExternalAPI.setInstance(proxiedClassLoader);
}
}
示例3
@Subscribe(order = PostOrder.LATE)
public void onDisable(ProxyShutdownEvent event) {
try {
concreteClass.getMethod("onDisable").invoke(concrete);
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
logger.error(ex.getMessage(), ex);
throw new RuntimeException("Could not invoke onDisable.");
}
}
示例4
public PlayerEvents(Object plugin, ProxyServer proxy) {
this.proxy = proxy;
events.add(
VelocityEvents.subscribe(plugin, proxy, PreLoginEvent.class, PostOrder.LATE)
.handler(this::cachePlayer)
);
events.add(
VelocityEvents.subscribe(plugin, proxy, PostLoginEvent.class, PostOrder.FIRST)
.handler(this::checkPlayer)
);
}
示例5
@Override
@SuppressWarnings("type.argument.type.incompatible")
public <E> void register(Object plugin, Class<E> eventClass, PostOrder postOrder,
EventHandler<E> handler) {
ensurePlugin(plugin);
Preconditions.checkNotNull(eventClass, "eventClass");
Preconditions.checkNotNull(postOrder, "postOrder");
Preconditions.checkNotNull(handler, "listener");
registeredHandlersByPlugin.put(plugin, handler);
bus.register(eventClass, new KyoriToVelocityHandler<>(handler, postOrder));
}
示例6
@Subscribe(order = PostOrder.LATE)
public void onProxyStart(ProxyInitializeEvent e) {
// Setup Logger
this.logger = new LoggerWrapper(loggerSlf4j);
// Init!
ViaRewindConfigImpl conf = new ViaRewindConfigImpl(configDir.resolve("config.yml").toFile());
conf.reloadConfig();
this.init(conf);
}
示例7
@Subscribe(order = PostOrder.LAST)
public void onPostLogin(PostLoginEvent event) {
try {
actOnLogin(event);
} catch (Exception e) {
errorLogger.log(L.ERROR, e, ErrorContext.builder().related(event).build());
}
}
示例8
@Subscribe(order = PostOrder.NORMAL)
public void beforeLogout(DisconnectEvent event) {
Player player = event.getPlayer();
UUID playerUUID = player.getUniqueId();
String playerName = player.getUsername();
processing.submitNonCritical(() -> extensionService.updatePlayerValues(playerUUID, playerName, CallEvents.PLAYER_LEAVE));
}
示例9
@Subscribe(order = PostOrder.LAST)
public void onLogout(DisconnectEvent event) {
try {
actOnLogout(event);
} catch (Exception e) {
errorLogger.log(L.ERROR, e, ErrorContext.builder().related(event).build());
}
}
示例10
@Subscribe(order = PostOrder.LAST)
public void onServerSwitch(ServerConnectedEvent event) {
try {
actOnServerSwitch(event);
} catch (Exception e) {
errorLogger.log(L.ERROR, e, ErrorContext.builder().related(event).build());
}
}
示例11
@Subscribe(order = PostOrder.LATE)
public void connectedEvent(ServerConnectedEvent e) {
UserConnection user = Via.getManager().getConnection(e.getPlayer().getUniqueId());
CompletableFuture.runAsync(() -> {
try {
checkServerChange(e, Via.getManager().getConnection(e.getPlayer().getUniqueId()));
} catch (Exception e1) {
e1.printStackTrace();
}
}, user.getChannel().eventLoop()).join();
}
示例12
@Subscribe(order = PostOrder.LAST)
public void onOtherPermissionSetup(PermissionsSetupEvent e) {
// players are handled separately
if (e.getSubject() instanceof Player) {
return;
}
e.setProvider(new MonitoredPermissionProvider(e.getProvider()));
}
示例13
@Subscribe(order = PostOrder.FIRST)
public void onEnable(ProxyInitializeEvent e) {
this.startTime = Instant.now();
try {
this.plugin.load();
} finally {
this.loadLatch.countDown();
}
try {
this.plugin.enable();
} finally {
this.enableLatch.countDown();
}
}
示例14
@Subscribe(order = PostOrder.FIRST)
public void onEnable(ProxyInitializeEvent e) {
this.platform = new SparkPlatform(this);
this.platform.enable();
this.proxy.getCommandManager().register(this, "sparkv", "sparkvelocity");
}
示例15
@Subscribe(order = PostOrder.LAST)
public void onDisable(ProxyShutdownEvent e) {
this.platform.disable();
}
示例16
private KyoriToVelocityHandler(EventHandler<E> handler, PostOrder postOrder) {
this.handler = handler;
this.postOrder = postOrder.ordinal();
}
示例17
@Subscribe(order = PostOrder.LAST)
public void onProxyLateInit(ProxyInitializeEvent e) {
Via.getManager().init();
}
示例18
@Subscribe(order = PostOrder.FIRST)
public void onPlayerLogin(LoginEvent e) {
if (this.deniedLogin.remove(e.getPlayer().getUniqueId())) {
e.setResult(ResultedEvent.ComponentResult.denied(Message.LOADING_DATABASE_ERROR.asComponent(this.plugin.getLocaleManager())));
}
}
示例19
@Subscribe(order = PostOrder.LAST)
public void onPlayerQuit(DisconnectEvent e) {
handleDisconnect(e.getPlayer().getUniqueId());
}
示例20
@Subscribe(order = PostOrder.LAST)
public void onDisable(ProxyShutdownEvent e) {
this.plugin.disable();
}
示例21
@Subscribe(order = PostOrder.LATE)
public void onProxyStart(ProxyInitializeEvent e) {
// Setup Logger
this.logger = new LoggerWrapper(loggerSlf4j);
Via.getManager().addEnableListener(() -> this.init(configPath.resolve("config.yml").toFile()));
}