mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2026-01-04 15:41:38 +00:00
Merge branch 'Xiao-MoMi:dev' into dev
This commit is contained in:
@@ -33,7 +33,6 @@ import net.momirealms.craftengine.bukkit.plugin.BukkitCraftEngine;
|
||||
import net.momirealms.craftengine.core.block.BlockManager;
|
||||
import net.momirealms.craftengine.core.entity.furniture.ExternalModel;
|
||||
import net.momirealms.craftengine.core.entity.player.Player;
|
||||
import net.momirealms.craftengine.core.loot.LootConditions;
|
||||
import net.momirealms.craftengine.core.plugin.compatibility.*;
|
||||
import net.momirealms.craftengine.core.plugin.config.Config;
|
||||
import net.momirealms.craftengine.core.plugin.context.CommonConditions;
|
||||
@@ -125,12 +124,10 @@ public class BukkitCompatibilityManager implements CompatibilityManager {
|
||||
Key worldGuardRegion = Key.of("worldguard:region");
|
||||
if (this.hasPlugin("WorldGuard")) {
|
||||
runCatchingHook(() -> {
|
||||
CommonConditions.register(worldGuardRegion, new WorldGuardRegionCondition.FactoryImpl<>());
|
||||
LootConditions.register(worldGuardRegion, new WorldGuardRegionCondition.FactoryImpl<>());
|
||||
CommonConditions.register(worldGuardRegion, WorldGuardRegionCondition.factory());
|
||||
}, "WorldGuard");
|
||||
} else {
|
||||
CommonConditions.register(worldGuardRegion, new AlwaysFalseCondition.FactoryImpl<>());
|
||||
LootConditions.register(worldGuardRegion, new AlwaysFalseCondition.FactoryImpl<>());
|
||||
CommonConditions.register(worldGuardRegion, AlwaysFalseCondition.factory());
|
||||
}
|
||||
if (this.hasPlugin("Geyser-Spigot")) {
|
||||
this.hasGeyser = true;
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.sk89q.worldguard.protection.managers.RegionManager;
|
||||
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
|
||||
import net.momirealms.craftengine.core.plugin.context.Condition;
|
||||
import net.momirealms.craftengine.core.plugin.context.Context;
|
||||
import net.momirealms.craftengine.core.plugin.context.condition.AlwaysTrueCondition;
|
||||
import net.momirealms.craftengine.core.plugin.context.condition.ConditionFactory;
|
||||
import net.momirealms.craftengine.core.plugin.context.parameter.DirectContextParameters;
|
||||
import net.momirealms.craftengine.core.util.Key;
|
||||
@@ -33,6 +34,10 @@ public class WorldGuardRegionCondition<CTX extends Context> implements Condition
|
||||
this.regions = regions;
|
||||
}
|
||||
|
||||
public static <CTX extends Context> ConditionFactory<CTX> factory() {
|
||||
return new Factory<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean test(CTX ctx) {
|
||||
if (this.regions.isEmpty()) return false;
|
||||
@@ -55,11 +60,6 @@ public class WorldGuardRegionCondition<CTX extends Context> implements Condition
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Key type() {
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
public enum MatchMode {
|
||||
ANY((p, regions) -> {
|
||||
for (String region : regions) {
|
||||
@@ -85,7 +85,7 @@ public class WorldGuardRegionCondition<CTX extends Context> implements Condition
|
||||
}
|
||||
}
|
||||
|
||||
public static class FactoryImpl<CTX extends Context> implements ConditionFactory<CTX> {
|
||||
private static class Factory<CTX extends Context> implements ConditionFactory<CTX> {
|
||||
|
||||
@Override
|
||||
public Condition<CTX> create(Map<String, Object> arguments) {
|
||||
|
||||
Reference in New Issue
Block a user