Java源码示例:org.bukkit.event.world.PortalCreateEvent

示例1
@Override
public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parser) {
	if (ScriptLoader.isCurrentEvent(PortalCreateEvent.class))
		return true;
	Skript.error("The 'portal' expression may only be used in a portal creation event.");
	return false;
}
 
示例2
@Nullable
@Override
protected Block[] get(Event e) {
	List<?> blocks = ((PortalCreateEvent) e).getBlocks();
	if (USING_BLOCKSTATE)
		return blocks.stream()
				.map(block -> ((BlockState) block).getBlock())
				.toArray(Block[]::new);
	return blocks.stream()
			.map(Block.class::cast)
			.toArray(Block[]::new);
}
 
示例3
@Nullable
@Override
public Iterator<Block> iterator(Event e) {
	List<?> blocks = ((PortalCreateEvent) e).getBlocks();
	if (USING_BLOCKSTATE) 
		return blocks.stream()
				.map(block -> ((BlockState) block).getBlock())
				.iterator();
	return (Iterator<Block>) blocks.iterator();
}
 
示例4
@EventHandler(ignoreCancelled = true)
public void onPortalCreateEvent(PortalCreateEvent event)
{
	for(BlockState block : event.getBlocks())
	{
		ApplicableRegionSet regions = this.plugin.getWorldGuardCommunicator().getRegionContainer().createQuery().getApplicableRegions(block.getLocation());
		if (regions.queryValue(null, Flags.NETHER_PORTALS) == State.DENY)
		{
			event.setCancelled(true);
			break;
		}
	}
}
 
示例5
@EventHandler(ignoreCancelled = true)
public void onPortalCreateEvent(PortalCreateEvent event)
{
	for(Block block : event.getBlocks())
	{
		//Unable to get the player who created it....
		
		ApplicableRegionSet regions = this.plugin.getWorldGuardCommunicator().getRegionContainer().createQuery().getApplicableRegions(block.getLocation());
		if (regions.queryValue(null, Flags.NETHER_PORTALS) == State.DENY)
		{
			event.setCancelled(true);
			break;
		}
	}
}
 
示例6
@EventHandler
public void onPortalCreate(PortalCreateEvent e) {
    RedProtect.get().getVersionHelper().getPortalLocations(e).forEach(l -> {
        Region r = RedProtect.get().rm.getTopRegion(l);
        if (r != null && !r.canCreatePortal()) {
            e.setCancelled(true);
        }
    });
}
 
示例7
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onPortalCreate(final PortalCreateEvent event) {
  cancelAlways(event, event.getWorld());
}
 
示例8
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onPortalCreate(final PortalCreateEvent event) {
    cancelAlways(event, event.getWorld());
}
 
示例9
public Set<Location> getPortalLocations(PortalCreateEvent e) {
    return e.getBlocks().stream().map(Block::getLocation).collect(Collectors.toSet());
}
 
示例10
public Set<Location> getPortalLocations(PortalCreateEvent e) {
    return e.getBlocks().stream().map(Block::getLocation).collect(Collectors.toSet());
}
 
示例11
public Set<Location> getPortalLocations(PortalCreateEvent e) {
    return e.getBlocks().stream().map(BlockState::getLocation).collect(Collectors.toSet());
}
 
示例12
public Set<Location> getPortalLocations(PortalCreateEvent e) {
    return e.getBlocks().stream().map(Block::getLocation).collect(Collectors.toSet());
}
 
示例13
@EventHandler(priority = EventPriority.HIGHEST) 
public void onPortalCreate(PortalCreateEvent event) {
	event.setCancelled(true);
}
 
示例14
Set<Location> getPortalLocations(PortalCreateEvent e);