RandoresDataRequestHandler.java 文件源码

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

项目:Randores2 作者:
@Override
public IMessage onMessage(RandoresDataRequest message, MessageContext ctx) {
    EntityPlayerMP player = ctx.getServerHandler().player;
    player.getServerWorld().addScheduledTask(() -> {
        RandoresNetworking.INSTANCE.sendTo(new RandoresClearDataCacheRequest().setDoClear(true), player);
        World world = player.world;
        RandoresWorldData data = RandoresWorldData.getSimply(world);
        if (data.getId().equals(message.getId())) {
            Kind kind = data.getKind();
            RandoresNetworking.INSTANCE.sendTo(new RandoresBeginDataTransferRequest().setId(data.getId()), player);
            data.getPluginSeeds().forEach((plugin, seed) -> {
                RandoresNetworking.INSTANCE.sendTo(new RandoresUpdatePluginSeedRequest().setPlugin(plugin).setSeed(seed), player);
            });
            if (kind == Kind.SEEDED) {
                RandoresNetworking.INSTANCE.sendTo(new RandoresDefineBySeedRequest().setSeed(data.getSeed()), player);
            } else if (kind == Kind.CUSTOM) {
                data.getCache().stream().map(def -> new RandoresDefineByDataRequest().setDefinition(def)).forEach(req -> RandoresNetworking.INSTANCE.sendTo(req, player));
            }
            RandoresNetworking.INSTANCE.sendTo(new RandoresEndDataTransferRequest().setId(data.getId()), player);
        }

    });
    return null;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号