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;
}
}
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;
}
}