Skip to content

Commit 57c8ab5

Browse files
fix: updating lighting for EditSessions using fastMode (#3357)
1 parent b49616a commit 57c8ab5

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

worldedit-core/src/main/java/com/sk89q/worldedit/EditSessionBuilder.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,12 @@ public final class EditSessionBuilder {
8989

9090
private static final Logger LOGGER = LogManagerCompat.getLogger();
9191

92+
// Keep heightmaps to maintain behavior and use configured lighting mode
93+
private static final SideEffectSet FAST_SIDE_EFFECTS = SideEffectSet.none()
94+
.with(SideEffect.HEIGHTMAPS)
95+
// apply default value to respect config setting `lighting.mode`
96+
.with(SideEffect.LIGHTING, SideEffect.LIGHTING.getDefaultValue());
97+
9298
private final EventBus eventBus;
9399
private FaweLimit limit;
94100
private AbstractChangeSet changeSet;
@@ -460,8 +466,7 @@ public EditSessionBuilder compile() {
460466
}
461467
}
462468
if (sideEffectSet == null) {
463-
// Keep heightmaps to maintain behaviour
464-
sideEffectSet = fastMode ? SideEffectSet.none().with(SideEffect.HEIGHTMAPS) : SideEffectSet.defaults();
469+
sideEffectSet = fastMode ? FAST_SIDE_EFFECTS : SideEffectSet.defaults();
465470
}
466471
if (checkMemory == null) {
467472
checkMemory = actor != null && !this.fastMode;
@@ -515,7 +520,7 @@ public EditSessionBuilder compile() {
515520
}
516521
extent = this.bypassAll = wrapExtent(extent, eventBus, event, EditSession.Stage.BEFORE_CHANGE);
517522
this.bypassHistory = this.extent = wrapExtent(bypassAll, eventBus, event, EditSession.Stage.BEFORE_REORDER);
518-
if (!this.fastMode || this.sideEffectSet.shouldApply(SideEffect.HISTORY) || changeSet != null) {
523+
if (!this.fastMode || this.sideEffectSet.shouldApply(SideEffect.HISTORY) || changeSet != null) {
519524
if (changeSet == null) {
520525
if (Settings.settings().HISTORY.USE_DISK) {
521526
UUID uuid = actor == null ? Identifiable.CONSOLE : actor.getUniqueId();

0 commit comments

Comments
 (0)