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