當前位置: 首頁>>代碼示例>>Java>>正文


Java ProtectedRegion.getFlag方法代碼示例

本文整理匯總了Java中com.sk89q.worldguard.protection.regions.ProtectedRegion.getFlag方法的典型用法代碼示例。如果您正苦於以下問題:Java ProtectedRegion.getFlag方法的具體用法?Java ProtectedRegion.getFlag怎麽用?Java ProtectedRegion.getFlag使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.sk89q.worldguard.protection.regions.ProtectedRegion的用法示例。


在下文中一共展示了ProtectedRegion.getFlag方法的14個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: isPVPEnabled

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
public static boolean isPVPEnabled(Location location) {
	String global = "__global__";
	if(plugin.getWorldGuard().getRegionManager(location.getWorld()) == null)	
		return true;
	RegionManager regionManager = plugin.getWorldGuard().getRegionManager(location.getWorld());
	ApplicableRegionSet arset = regionManager.getApplicableRegions(location);
	ProtectedRegion region = regionManager.getRegion(global);
	int priority = -10000;
	for(ProtectedRegion r : arset.getRegions()) { 
		if(r.getPriority() > priority) {
			region = r;
			priority = r.getPriority();
		}
	}
	if(region == null) {
		if(regionManager.getRegion(global) == null)
			return false;
		return "ALLOW".equals(regionManager.getRegion(global).getFlag(DefaultFlag.PVP).toString());
	}
	if(region.getFlag(DefaultFlag.PVP) == null)
		return true;
	return "ALLOW".equalsIgnoreCase(region.getFlag(DefaultFlag.PVP).toString());
}
 
開發者ID:benNek,項目名稱:AsgardAscension,代碼行數:24,代碼來源:Utility.java

示例2: importRegion

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
@Override
protected boolean importRegion(String regionId, String audioId) {
    boolean imported = false;
    for (RegionManager regionManager : regionManagers) {
        // Region IDs are unique for each RegionAudio import, so no need to synchronize
        ProtectedRegion region = regionManager.getRegion(regionId);
        if (region != null) {
            AudioTrack audioTrack = new AudioTrack(audioId);
            Set<AudioTrack> audioTracks = region.getFlag(plugin.getAudioFlag());
            audioTracks = (audioTracks != null ? new HashSet<>(audioTracks) : new HashSet<AudioTrack>());
            if (audioTracks.add(audioTrack)) {
                region.setFlag(plugin.getAudioFlag(), audioTracks);
            }
            imported = true;
        }
    }
    return imported;
}
 
開發者ID:DeadmanDungeons,項目名稱:AudioConnect,代碼行數:19,代碼來源:ImportCommand.java

示例3: onCrossBoundary

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
@SuppressWarnings("deprecation")
@Override
public boolean onCrossBoundary(Player player, Location from, Location to, ApplicableRegionSet toSet, Set<ProtectedRegion> entered, Set<ProtectedRegion> exited, MoveType moveType)
{
	if (!WorldGuardUtils.hasBypass(player))
	{
		if (!player.hasMetadata("WGEFP-TPOEF"))
		{
			for (ProtectedRegion exitd : exited)
			{
				com.sk89q.worldedit.Location location = exitd.getFlag(FlagUtils.TELEPORT_ON_EXIT);
				if (location != null)
				{
					player.setMetadata("WGEFP-TPOEF", new FixedMetadataValue(WorldGuardExtraFlagsPlugin.getPlugin(), null));
					player.teleport(BukkitUtil.toLocation(location));
					
					break;
				}
			}
		}
	}
	
	return true;
}
 
開發者ID:isokissa3,項目名稱:WorldGuardExtraFlagsPlugin,代碼行數:25,代碼來源:TeleportOnExitFlag.java

示例4: doUnloadChunkFlagWorldCheck

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
public static void doUnloadChunkFlagWorldCheck(World world)
{
	for (ProtectedRegion region : WorldGuardExtraFlagsPlugin.worldGuardPlugin.getRegionManager(world).getRegions().values())
	{
		if (region.getFlag(FlagUtils.CHUNK_UNLOAD) == State.DENY)
		{
			WorldGuardExtraFlagsPlugin.getPlugin().getLogger().info("Loading chunks for region " + region.getId() + " located in " + world.getName() + " due to chunk-unload flag being deny");
			
			Location min = BukkitUtil.toLocation(world, region.getMinimumPoint());
			Location max = BukkitUtil.toLocation(world, region.getMaximumPoint());

			for(int x = min.getChunk().getX(); x <= max.getChunk().getX(); x++)
			{
				for(int z = min.getChunk().getZ(); z <= max.getChunk().getZ(); z++)
				{
					world.getChunkAt(x, z).load(true);
				}
			}
		}
	}
}
 
開發者ID:isokissa3,項目名稱:WorldGuardExtraFlagsPlugin,代碼行數:22,代碼來源:WorldGuardExtraFlagsPlugin.java

示例5: allowSpawn

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
/**
 * Modifies the worldguard regions at the given location to allow spawning for PetBlocks.
 *
 * @param location location
 * @throws NoSuchMethodException     exception
 * @throws IllegalAccessException    exception
 * @throws InvocationTargetException exception
 */
public synchronized static void allowSpawn(Location location) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
    final WorldGuardPlugin worldGuard = getWorldGuard();
    final RegionManager regionManager = worldGuard.getRegionManager(location.getWorld());
    final Iterable<?> set = ReflectionUtils.invokeMethodByObject(regionManager, "getApplicableRegions", new Class[]{location.getClass()}, new Object[]{location});
    for (final Object region1 : set) {
        final ProtectedRegion region = (ProtectedRegion) region1;
        if (region.getFlag(DefaultFlag.MOB_SPAWNING) == State.DENY) {
            region.setFlag(DefaultFlag.MOB_SPAWNING, State.ALLOW);
            flags.add(region);
        }
    }
}
 
開發者ID:Shynixn,項目名稱:PetBlocks,代碼行數:21,代碼來源:WorldGuardConnection5.java

示例6: allowSpawn

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
public synchronized static void allowSpawn(Location location) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException {
    final WorldGuardPlugin worldGuard = getWorldGuard();
    final RegionManager regionManager = worldGuard.getRegionManager(location.getWorld());
    final ApplicableRegionSet set = ReflectionUtils.invokeMethodByObject(regionManager, "getApplicableRegions", new Class[]{location.getClass()}, new Object[]{location});
    final Iterable<ProtectedRegion> regions = (Iterable<ProtectedRegion>) getMethod(set.getClass(), "getRegions").invoke(set);
    for (final ProtectedRegion region : regions) {
        if (region.getFlag(DefaultFlag.MOB_SPAWNING) == State.DENY) {
            region.setFlag(DefaultFlag.MOB_SPAWNING, State.ALLOW);
            flags.add(region);
        }
    }
}
 
開發者ID:Shynixn,項目名稱:PetBlocks,代碼行數:13,代碼來源:WorldGuardConnection6.java

示例7: allowSpawn

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
public synchronized static void allowSpawn(Location location, Plugin plugin) {
    final WorldGuardPlugin worldGuard = (WorldGuardPlugin) plugin;
    final RegionManager regionManager = worldGuard.getRegionManager(location.getWorld());
    final ApplicableRegionSet set = regionManager.getApplicableRegions(location);
    for (final ProtectedRegion region : set) {
        if (region.getFlag(DefaultFlag.MOB_SPAWNING) == State.DENY) {
            region.setFlag(DefaultFlag.MOB_SPAWNING, State.ALLOW);
            flags.add(region);
        }
    }
}
 
開發者ID:Shynixn,項目名稱:BlockBall,代碼行數:12,代碼來源:WorldGuardConnection5.java

示例8: allowSpawn

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
public synchronized static void allowSpawn(Location location, Plugin plugin) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
    final WorldGuardPlugin worldGuard = (WorldGuardPlugin) plugin;
    final RegionManager regionManager = worldGuard.getRegionManager(location.getWorld());
    final ApplicableRegionSet set = regionManager.getApplicableRegions(location);
    @SuppressWarnings("unchecked") final
    Iterable<ProtectedRegion> regions = (Iterable<ProtectedRegion>) getMethod(set.getClass()).invoke(set);
    for (final ProtectedRegion region : regions) {
        if (region.getFlag(DefaultFlag.MOB_SPAWNING) == State.DENY) {
            region.setFlag(DefaultFlag.MOB_SPAWNING, State.ALLOW);
            flags.add(region);
        }
    }
}
 
開發者ID:Shynixn,項目名稱:BlockBall,代碼行數:14,代碼來源:WorldGuardConnection6.java

示例9: getRegionSetFlag

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
private <T> Set<T> getRegionSetFlag(ProtectedRegion region, SetFlag<T> setFlag) {
    Set<T> flagValue = region.getFlag(setFlag);
    if (flagValue == null) {
        return new HashSet<>();
    } else {
        return new HashSet<>(flagValue);
    }
}
 
開發者ID:DeadmanDungeons,項目名稱:AudioConnect,代碼行數:9,代碼來源:RegionCommand.java

示例10: onChunkUnloadEvent

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onChunkUnloadEvent(ChunkUnloadEvent event)
{
	for (ProtectedRegion region : WorldGuardExtraFlagsPlugin.getWorldGuardPlugin().getRegionManager(event.getWorld()).getApplicableRegions(new ProtectedCuboidRegion("UnloadChunkFlagTester", new BlockVector(event.getChunk().getX() * 16, 0, event.getChunk().getZ() * 16), new BlockVector(event.getChunk().getX() * 16 + 15, 256, event.getChunk().getZ() * 16 + 15))))
	{
		if (region.getFlag(FlagUtils.CHUNK_UNLOAD) == State.DENY)
		{
			event.setCancelled(true);
			break;
		}
	}
}
 
開發者ID:isokissa3,項目名稱:WorldGuardExtraFlagsPlugin,代碼行數:13,代碼來源:WorldListener.java

示例11: checkWorldGuardValidity

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
/**
 * Checks WorldGuard validity if possible
 *
 * @param selection region selection
 * @return true if valid
 */
private boolean checkWorldGuardValidity(RegionSelection selection) {
	if(!plugin.getDependencyManager().isEnabled(Dependency.WORLDGUARD)) {
		return true;
	}

	WorldGuardPlugin worldGuard = plugin.getDependencyManager().get(Dependency.WORLDGUARD, WorldGuardPlugin.class);
	Area selectionArea = new Area(new Rectangle(
			selection.getCorner(selection.getCorner(0).getBlockX() < selection.getCorner(1).getBlockX() ? 0 : 1).getBlockX(),
			selection.getCorner(selection.getCorner(0).getBlockZ() < selection.getCorner(1).getBlockZ() ? 0 : 1).getBlockZ(),
			selection.getWidth(),
			selection.getLength())
	);

	for(ProtectedRegion region : worldGuard.getRegionManager(selection.getWorld()).getRegions().values()) {
		if(region.getFlag((Flag) RegionManager.WORLDGUARD_FLAG) == StateFlag.State.ALLOW) {
			continue;
		}

		Area regionArea = RegionUtils.toArea(region);

		regionArea.intersect(selectionArea);
		if(!regionArea.isEmpty()) {
			return false;
		}
	}

	return true;
}
 
開發者ID:MarcinWieczorek,項目名稱:NovaGuilds,代碼行數:35,代碼來源:RegionManager.java

示例12: setFlag

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
/**
 * Set a WorldGuard region flag.
 * @param region The WorldGuard region to set
 * @param flag   The flag to set
 * @param value  The value to set the flag to
 * @param <V>    They type of flag to set
 * @throws InvalidFlagFormat When the value of the flag is wrong
 */
private <V> void setFlag(ProtectedRegion region, Flag<V> flag, String value) throws InvalidFlagFormat {
	V current = region.getFlag(flag);
	V next = plugin.getWorldGuardHandler().parseFlagInput(flag, value);

	if(!Objects.equals(current, next)) {
		region.setFlag(flag, next);
	}
}
 
開發者ID:NLthijs48,項目名稱:AreaShop,代碼行數:17,代碼來源:WorldGuardRegionFlagsFeature.java

示例13: printAudioInfo

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
public boolean printAudioInfo(CommandSender sender, RegionManager regionManager, String regionId) {
    ProtectedRegion region = regionManager.getRegion(regionId);
    if (region == null) {
        plugin.getMessenger().sendErrorMessage(sender, "failed.edit-invalid-region", regionId);
        return false;
    }
    Set<AudioTrack> regionAudio = region.getFlag(plugin.getAudioFlag());
    Set<AudioDelay> regionAudioDelay = region.getFlag(plugin.getAudioDelayFlag());

    StringBuilder audioInfo = new StringBuilder();

    ChatColor color1 = plugin.getMessenger().getPrimaryColor();
    ChatColor color2 = plugin.getMessenger().getSecondaryColor();
    ChatColor color3 = plugin.getMessenger().getTertiaryColor();

    audioInfo.append(color2);
    audioInfo.append("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
    audioInfo.append(" Region Audio Info ");
    audioInfo.append("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
    audioInfo.append("\n");

    audioInfo.append(color2).append("Region: ").append(color1).append(regionId).append("\n");

    audioInfo.append(color2).append("Audio: ").append("\n");
    if (regionAudio == null || regionAudio.isEmpty()) {
        audioInfo.append(ChatColor.RED).append("  * NONE *").append("\n");
    } else {
        for (AudioTrack audio : regionAudio) {
            audioInfo.append(color3).append("- ").append(color1).append(audio.getAudioId());

            audioInfo.append(color2).append(" (").append("track: ");
            if (audio.getTrackId() != null) {
                audioInfo.append(color1).append(audio.getTrackId());
            } else {
                audioInfo.append("default");
            }

            audioInfo.append(color2).append(", time: ");
            if (audio.getDayTime() != null) {
                audioInfo.append(color1).append(audio.getDayTime().name().toLowerCase());
            } else {
                audioInfo.append("any");
            }

            audioInfo.append(color2).append(")").append("\n");
        }
    }

    audioInfo.append(color2).append("Audio Delay: ").append("\n");
    if (regionAudioDelay == null || regionAudioDelay.isEmpty()) {
        audioInfo.append(ChatColor.RED).append("  * NONE *").append("\n");
    } else {
        for (AudioDelay audioDelay : regionAudioDelay) {
            audioInfo.append(color3).append("- ").append(color1).append(audioDelay.getDelayTime());

            audioInfo.append(color2).append(" (").append("track: ");
            audioInfo.append(color2).append(" (").append("track: ");
            if (audioDelay.getTrackId() != null) {
                audioInfo.append(color1).append(audioDelay.getTrackId());
            } else {
                audioInfo.append("default");
            }

            audioInfo.append(color2).append(")").append("\n");
        }
    }

    sender.sendMessage(audioInfo.toString());
    return true;
}
 
開發者ID:DeadmanDungeons,項目名稱:AudioConnect,代碼行數:71,代碼來源:RegionCommand.java

示例14: isDenied

import com.sk89q.worldguard.protection.regions.ProtectedRegion; //導入方法依賴的package包/類
public boolean isDenied(LocalPlayer localplayer, ProtectedRegion region)
{
    return region.getFlag(FlagUtils.WORLDEDIT) == State.DENY;
}
 
開發者ID:isokissa3,項目名稱:WorldGuardExtraFlagsPlugin,代碼行數:5,代碼來源:FaweWorldEditFlag.java


注:本文中的com.sk89q.worldguard.protection.regions.ProtectedRegion.getFlag方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。