mirror of
https://github.com/EngineHub/WorldGuard.git
synced 2024-10-07 02:57:28 +02:00
implemented passthrough flag
This commit is contained in:
parent
f8fb746f64
commit
8ad713c183
@ -18,11 +18,11 @@
|
||||
*/
|
||||
package com.sk89q.worldguard.bukkit;
|
||||
|
||||
import java.util.logging.*;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import com.sk89q.worldguard.bukkit.commands.CommandHandler;
|
||||
import com.sk89q.worldguard.protection.*;
|
||||
import com.sk89q.worldguard.protection.TimedFlagsTimer;
|
||||
import com.sk89q.worldguard.protection.regionmanager.GlobalRegionManager;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
* Plugin for Bukkit.
|
||||
|
@ -60,7 +60,7 @@ public ApplicableRegionSet(List<ProtectedRegion> applicable, GlobalFlags global
|
||||
* @return
|
||||
*/
|
||||
public boolean canBuild(LocalPlayer player) {
|
||||
return isStateFlagAllowed(FlagType.BUILD, global.canBuild) || this.isMember(player);
|
||||
return isStateFlagAllowed(FlagType.BUILD, global.canBuild, player);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -64,7 +64,7 @@ public boolean getDefaultValue(FlagType type)
|
||||
case WATER_FLOW:
|
||||
return this.allowWaterflow;
|
||||
default:
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,6 +20,9 @@
|
||||
package com.sk89q.worldguard.protection;
|
||||
|
||||
|
||||
import org.bukkit.Location;
|
||||
import com.sk89q.worldguard.LocalPlayer;
|
||||
import com.sk89q.worldguard.bukkit.BukkitPlayer;
|
||||
import com.sk89q.worldguard.protection.regions.flags.FlagDatabase.FlagType;
|
||||
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||
import com.sk89q.worldguard.protection.regionmanager.RegionManager;
|
||||
@ -122,6 +125,15 @@ public void run() {
|
||||
}
|
||||
}
|
||||
|
||||
//check passthrough flag
|
||||
LocalPlayer lplayer = BukkitPlayer.wrapPlayer(wg.getWgConfiguration(), player);
|
||||
if(!regions.isStateFlagAllowed(FlagType.PASSTHROUGH, lplayer))
|
||||
{
|
||||
Location newLoc = player.getLocation().clone();
|
||||
newLoc.setX(newLoc.getBlockX() - 30);
|
||||
newLoc.setY(newLoc.getWorld().getHighestBlockYAt(newLoc) + 1);
|
||||
player.teleportTo(newLoc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user