implemented passthrough flag

This commit is contained in:
Redecouverte 2011-02-28 19:32:44 +01:00
parent f8fb746f64
commit 8ad713c183
4 changed files with 16 additions and 4 deletions

View File

@ -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.

View File

@ -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);
}
/**

View File

@ -64,7 +64,7 @@ public boolean getDefaultValue(FlagType type)
case WATER_FLOW:
return this.allowWaterflow;
default:
return false;
return true;
}
}
}

View File

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