diff --git a/src/main/java/com/sk89q/worldguard/protection/FlagValueCalculator.java b/src/main/java/com/sk89q/worldguard/protection/FlagValueCalculator.java index 2514f031..7f3bd953 100644 --- a/src/main/java/com/sk89q/worldguard/protection/FlagValueCalculator.java +++ b/src/main/java/com/sk89q/worldguard/protection/FlagValueCalculator.java @@ -420,7 +420,8 @@ public V getEffectiveFlag(final ProtectedRegion region, Flag flag, @Nulla } else if (flag == DefaultFlag.BUILD) { // Legacy behavior -> we can't let people change BUILD on // the global region - return null; + State value = region.getFlag(DefaultFlag.BUILD); + return value != State.ALLOW ? (V) value : null; } } diff --git a/src/test/java/com/sk89q/worldguard/protection/FlagValueCalculatorTest.java b/src/test/java/com/sk89q/worldguard/protection/FlagValueCalculatorTest.java index 9a116086..309901de 100644 --- a/src/test/java/com/sk89q/worldguard/protection/FlagValueCalculatorTest.java +++ b/src/test/java/com/sk89q/worldguard/protection/FlagValueCalculatorTest.java @@ -1979,7 +1979,7 @@ public void testGetEffectiveFlagGlobalRegionBuildDeny() throws Exception { FlagValueCalculator result = mock.getFlagCalculator(); // Cannot let users override BUILD on GLOBAL - assertThat(result.getEffectiveFlag(global, DefaultFlag.BUILD, null), equalTo(null)); + assertThat(result.getEffectiveFlag(global, DefaultFlag.BUILD, null), equalTo(State.DENY)); } @Test