XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEServerManager

【Java】我的世界XFE服务器管理器

公开
关注 0 Fork 0 Star 0
UTF-8
package com.xfestudio.xfeservermanager.api.spi;

import com.xfestudio.xfeservermanager.api.world.WorldStateKind;
import com.xfestudio.xfeservermanager.api.world.WorldStatePayload;
import com.xfestudio.xfeservermanager.api.world.WorldStateView;

/** Encodes and decodes restorable state while keeping game classes outside the common API. */
public interface WorldStateCodecAdapter {
    String codecId();

    boolean supports(WorldStateKind kind, String resourceId);

    WorldStatePayload encode(WorldStateView state) throws WorldStateCodecException;

    WorldStateView decode(WorldStatePayload payload, WorldStateKind expectedKind, String expectedResourceId)
            throws WorldStateCodecException;

    default int priority() {
        return 0;
    }
}