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