PetDataListener.java 文件源码

java
阅读 43 收藏 0 点赞 0 评论 0

项目:PetBlocks 作者:
/**
 * Gets called when a player joins a server. Overrides existing pets if enabled in the config.yml and
 * spawns the petblock of the player when his pet was enabled when he left the server the last time.
 *
 * @param event event
 */
@EventHandler
public void playerJoinEvent(final PlayerJoinEvent event) {
    this.plugin.getServer().getScheduler().runTaskAsynchronously(this.plugin, () -> {
        final PetMeta petMeta;
        if (Config.getInstance().isJoin_enabled()) {
            if (!this.manager.getPetMetaController().getFromPlayer(event.getPlayer()).isPresent() || Config.getInstance().isJoin_overwriteExistingPet()) {
                if (event.getPlayer().getWorld() != null) {
                    final PetMeta meta = this.manager.getPetMetaController().create(event.getPlayer());
                    Config.getInstance().fixJoinDefaultPet(meta);
                    this.manager.getPetMetaController().store(meta);
                }
            }
        }

        if ((petMeta = PetBlocksApi.getDefaultPetMetaController().getByPlayer(event.getPlayer())) != null) {
            if (petMeta.isEnabled()) {
                this.plugin.getServer().getScheduler().runTaskLater(this.plugin, () -> {
                    if (event.getPlayer().getWorld() != null) {
                        final PetBlock petBlock = PetBlocksApi.getDefaultPetBlockController().create(event.getPlayer(), petMeta);
                        PetBlocksApi.getDefaultPetBlockController().store(petBlock);
                    }
                }, 2L);
            }
        }
    });
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号