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

XFEServerManager

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

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

import com.xfestudio.xfeservermanager.api.world.WorldStatePayload;
import java.util.Objects;

public record RollbackPlanItem(
        JournalEntry entry,
        WorldStatePayload expectedCurrent,
        WorldStatePayload targetState,
        PlanDisposition disposition,
        String detail
) {
    public RollbackPlanItem {
        Objects.requireNonNull(entry, "entry");
        Objects.requireNonNull(disposition, "disposition");
        detail = detail == null ? "" : detail;
    }

    public boolean executable(boolean force) {
        return disposition == PlanDisposition.READY
                || disposition == PlanDisposition.READY_REQUIRES_CHUNK_LOAD
                || (force && disposition == PlanDisposition.CONFLICT);
    }
}