org.bukkit.event.vehicle.VehicleCreateEvent#org.bukkit.entity.Vehicle源码实例Demo

下面列出了org.bukkit.event.vehicle.VehicleCreateEvent#org.bukkit.entity.Vehicle 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@EventHandler
public void onVehicleDamage(VehicleDamageEvent event) {
    try {
        final Vehicle vehicle = event.getVehicle();
        final Location location = vehicle.getLocation();
        final IslandManager islandManager = IridiumSkyblock.getIslandManager();
        final Island island = islandManager.getIslandViaLocation(location);
        if (island == null) return;

        final Entity attacker = event.getAttacker();
        if (!(attacker instanceof Player)) return;

        final Player attackerPlayer = (Player) attacker;
        final User attackerUser = User.getUser(attackerPlayer);

        if (!island.getPermissions(attackerUser).killMobs)
            event.setCancelled(true);
    } catch (Exception ex) {
        IridiumSkyblock.getInstance().sendErrorMessage(ex);
    }
}
 
源代码2 项目: NovaGuilds   文件: RegionInteractListener.java
@EventHandler
public void onPlayerUnleashEntity(PlayerUnleashEntityEvent event) {
	List<String> denyRiding = Config.REGION_DENYRIDING.getStringList();
	Player player = event.getPlayer();
	Entity entity = event.getEntity();
	NovaPlayer nPlayer = PlayerManager.getPlayer(player);

	if(denyRiding.contains(entity.getType().name())) {
		if(RegionManager.get(entity) != null
				&& (!plugin.getRegionManager().canInteract(player, entity) || (!nPlayer.getPreferences().getBypass() && !nPlayer.hasPermission(GuildPermission.MOB_LEASH)))
				&& !(entity instanceof Vehicle) || !PlayerManager.getPlayer(player).isVehicleListed((Vehicle) event.getEntity())) {
			event.setCancelled(true);
			Message.CHAT_REGION_DENY_UNLEASH.send(player);
		}
	}
}
 
源代码3 项目: NovaGuilds   文件: RegionInteractListener.java
@EventHandler
public void onVehicleEnter(VehicleEnterEvent event) {
	Vehicle vehicle = event.getVehicle();

	if(!(event.getEntered() instanceof Player)) {
		return;
	}

	final Player player = (Player) event.getEntered();
	NovaPlayer nPlayer = PlayerManager.getPlayer(player);

	List<String> denyRiding = Config.REGION_DENYRIDING.getStringList();

	if(denyRiding.contains(vehicle.getType().name())
			&& RegionManager.get(vehicle) != null
			&& (!plugin.getRegionManager().canInteract(player, vehicle) || (!nPlayer.getPreferences().getBypass() && !nPlayer.hasPermission(GuildPermission.MOB_RIDE)))
			&& !PlayerManager.getPlayer(event.getEntered()).isVehicleListed(vehicle)) {
		event.setCancelled(true);
		Message.CHAT_REGION_DENY_RIDEMOB.send(event.getEntered());
	}
}
 
源代码4 项目: IridiumSkyblock   文件: EntitySpawnListener.java
@EventHandler
public void onVehicleSpawn(VehicleCreateEvent event) {
    final Vehicle vehicle = event.getVehicle();
    final IslandManager islandManager = IridiumSkyblock.getIslandManager();
    final Location location = vehicle.getLocation();
    final Island island = islandManager.getIslandViaLocation(location);
    if (island == null) return;

    if (!IridiumSkyblock.getConfiguration().blockedEntities.contains(vehicle.getType())) return;

    IridiumSkyblock.getInstance().entities.put(vehicle.getUniqueId(), island);
    monitorEntity(vehicle);
}
 
源代码5 项目: NovaGuilds   文件: RegionInteractListener.java
@EventHandler
public void onPlayerLeashEntity(PlayerLeashEntityEvent event) {
	List<String> denyRiding = Config.REGION_DENYRIDING.getStringList();
	Player player = event.getPlayer();
	Entity entity = event.getEntity();
	NovaPlayer nPlayer = PlayerManager.getPlayer(player);

	if(denyRiding.contains(entity.getType().name())
			&& RegionManager.get(entity) != null
			&& (!plugin.getRegionManager().canInteract(player, entity) || (!nPlayer.getPreferences().getBypass() && !nPlayer.hasPermission(GuildPermission.MOB_LEASH)))
			&& (!(entity instanceof Vehicle) || !PlayerManager.getPlayer(player).isVehicleListed((Vehicle) event.getEntity()))) {
		event.setCancelled(true);
		Message.CHAT_REGION_DENY_LEASH.send(event.getPlayer());
	}
}
 
源代码6 项目: askyblock   文件: SafeBoat.java
/**
 * @param e - event
 *            This event check throws the boat at a player when they hit it
 *            unless someone is in it
 */
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onClick(VehicleDamageEvent e) {
    // plugin.getLogger().info("Damage event " + e.getDamage());
    // Find out what block is being clicked
    Vehicle boat = e.getVehicle();
    if (!(boat instanceof Boat)) {
        return;
    }
    if (!boat.isEmpty()) {
        return;
    }
    final World playerWorld = boat.getWorld();
    if (!playerWorld.getName().equalsIgnoreCase(Settings.worldName)) {
        // Not the right world
        return;
    }
    // plugin.getLogger().info("Boat ");
    // Find out who is doing the clicking
    if (!(e.getAttacker() instanceof Player)) {
        // If a creeper blows up the boat, tough cookies!
        return;
    }
    Player p = (Player) e.getAttacker();
    if (p == null) {
        return;
    }
    // Try to remove the boat and throw it at the player
    Location boatSpot = new Location(boat.getWorld(), boat.getLocation().getX(), boat.getLocation().getY() + 2, boat.getLocation().getZ());
    Location throwTo = new Location(boat.getWorld(), p.getLocation().getX(), p.getLocation().getY() + 1, p.getLocation().getZ());
    ItemStack newBoat = new ItemStack(Material.BOAT, 1);
    // Find the direction the boat should move in
    Vector dir = throwTo.toVector().subtract(boatSpot.toVector()).normalize();
    dir = dir.multiply(0.5);
    Entity newB = boat.getWorld().dropItem(boatSpot, newBoat);
    newB.setVelocity(dir);
    boat.remove();
    e.setCancelled(true);
}
 
源代码7 项目: GriefDefender   文件: GDPermissionManager.java
public void addCustomEntityTypeContexts(Entity targetEntity, String id, Set<Context> contexts, GDEntityType type, boolean isSource) {
    if (isSource) {
        contexts.add(ContextGroups.SOURCE_ANY);
        contexts.add(new Context(ContextKeys.SOURCE, "#" + type.getModId().toLowerCase() + ":any"));
    } else {
        contexts.add(ContextGroups.TARGET_ANY);
        contexts.add(new Context(ContextKeys.TARGET, "#" + type.getModId().toLowerCase() + ":any"));
    }
    // check vehicle
    if (targetEntity instanceof Vehicle) {
        if (isSource) {
            contexts.add(ContextGroups.SOURCE_VEHICLE);
        } else {
            contexts.add(ContextGroups.TARGET_VEHICLE);
        }
    }
    // pixelmon
    if (targetEntity.getType() != null && targetEntity.getType().name().equalsIgnoreCase("pixelmon_pixelmon") || targetEntity.getType().name().equalsIgnoreCase("pixelmon")) {
        if (isSource) {
            contexts.add(ContextGroups.SOURCE_PIXELMON);
        } else {
            contexts.add(ContextGroups.TARGET_PIXELMON);
        }
    }
    final String creatureType = type.getEnumCreatureTypeId();
    if (creatureType == null) {
        return;
    }

    final String modId = type.getModId().toLowerCase();
    if (creatureType.contains("animal")) {
        if (isSource) {
            contexts.add(ContextGroups.SOURCE_ANIMAL);
            contexts.add(new Context(ContextKeys.SOURCE, "#" + modId + ":animal"));
        } else {
            contexts.add(ContextGroups.TARGET_ANIMAL);
            contexts.add(new Context(ContextKeys.TARGET, "#" + modId + ":animal"));
        }
        this.checkPetContext(targetEntity, modId, contexts, isSource);
    } else if (creatureType.contains("aquatic")) {
        if (isSource) {
            contexts.add(ContextGroups.SOURCE_AQUATIC);
            contexts.add(new Context(ContextKeys.SOURCE, "#" + modId + ":aquatic"));
        } else {
            contexts.add(ContextGroups.TARGET_AQUATIC);
            contexts.add(new Context(ContextKeys.TARGET, "#" + modId + ":aquatic"));
        }
        this.checkPetContext(targetEntity, modId, contexts, isSource);
    } else if (creatureType.contains("monster")) {
        if (isSource) {
            contexts.add(ContextGroups.SOURCE_MONSTER);
            contexts.add(new Context(ContextKeys.SOURCE, "#" + modId + ":monster"));
        } else {
            contexts.add(ContextGroups.TARGET_MONSTER);
            contexts.add(new Context(ContextKeys.TARGET, "#" + modId + ":monster"));
        }
    }  else if (creatureType.contains("ambient")) {
        if (isSource) {
            contexts.add(ContextGroups.SOURCE_AMBIENT);
            contexts.add(new Context(ContextKeys.SOURCE, "#" + modId + ":ambient"));
        } else {
            contexts.add(ContextGroups.TARGET_AMBIENT);
            contexts.add(new Context(ContextKeys.TARGET, "#" + modId + ":ambient"));
        }
        this.checkPetContext(targetEntity, modId, contexts, isSource);
    } else {
        if (isSource) {
            contexts.add(ContextGroups.SOURCE_MISC);
            contexts.add(new Context(ContextKeys.SOURCE, "#" + modId + ":misc"));
        } else {
            contexts.add(ContextGroups.TARGET_MISC);
            contexts.add(new Context(ContextKeys.TARGET, "#" + modId + ":misc"));
        }
    }
}
 
源代码8 项目: Kettle   文件: VehicleDamageEvent.java
public VehicleDamageEvent(final Vehicle vehicle, final Entity attacker, final double damage) {
    super(vehicle);
    this.attacker = attacker;
    this.damage = damage;
}
 
源代码9 项目: Kettle   文件: VehicleDestroyEvent.java
public VehicleDestroyEvent(final Vehicle vehicle, final Entity attacker) {
    super(vehicle);
    this.attacker = attacker;
}
 
源代码10 项目: Kettle   文件: VehicleExitEvent.java
public VehicleExitEvent(final Vehicle vehicle, final LivingEntity exited) {
    super(vehicle);
    this.exited = exited;
}
 
源代码11 项目: Kettle   文件: VehicleEntityCollisionEvent.java
public VehicleEntityCollisionEvent(final Vehicle vehicle, final Entity entity) {
    super(vehicle);
    this.entity = entity;
}
 
源代码12 项目: Kettle   文件: VehicleBlockCollisionEvent.java
public VehicleBlockCollisionEvent(final Vehicle vehicle, final Block block) {
    super(vehicle);
    this.block = block;
}
 
源代码13 项目: Kettle   文件: VehicleEvent.java
public VehicleEvent(final Vehicle vehicle) {
    this.vehicle = vehicle;
}
 
源代码14 项目: Kettle   文件: VehicleCreateEvent.java
public VehicleCreateEvent(final Vehicle vehicle) {
    super(vehicle);
}
 
源代码15 项目: Kettle   文件: VehicleUpdateEvent.java
public VehicleUpdateEvent(final Vehicle vehicle) {
    super(vehicle);
}
 
源代码16 项目: Kettle   文件: VehicleCollisionEvent.java
public VehicleCollisionEvent(final Vehicle vehicle) {
    super(vehicle);
}
 
源代码17 项目: Kettle   文件: VehicleMoveEvent.java
public VehicleMoveEvent(final Vehicle vehicle, final Location from, final Location to) {
    super(vehicle);

    this.from = from;
    this.to = to;
}
 
源代码18 项目: Kettle   文件: VehicleEnterEvent.java
public VehicleEnterEvent(final Vehicle vehicle, final Entity entered) {
    super(vehicle);
    this.entered = entered;
}
 
源代码19 项目: NovaGuilds   文件: RegionManager.java
/**
 * Gets executed when a player enters a region
 *
 * @param player the player
 * @param region region he entered
 */
public void playerEnteredRegion(Player player, NovaRegion region) {
	PlayerEnterRegionEvent regionEvent = new PlayerEnterRegionEvent(player, region);
	ListenerManager.getLoggedPluginManager().callEvent(regionEvent);

	if(regionEvent.isCancelled()) {
		return;
	}

	if(region == null) {
		return;
	}

	NovaPlayer nPlayer = PlayerManager.getPlayer(player);

	if(plugin.getPlayerManager().isVanished(player)) {
		return;
	}

	//border particles
	if(Config.REGION_BORDERPARTICLES.getBoolean()) {
		List<Block> blocks = RegionUtils.getBorderBlocks(region);
		for(Block block : blocks) {
			block.getLocation().setY(block.getLocation().getY() + 1);
			block.getWorld().playEffect(block.getLocation(), Effect.SMOKE, 100);
		}
	}

	//Chat message
	boolean sameGuildRegion = nPlayer.isAtRegion() && region.getGuild().ownsRegion(region);
	Map<VarKey, String> vars = new HashMap<>();
	if(!sameGuildRegion) {
		vars.put(VarKey.GUILD_NAME, region.getGuild().getName());
		vars.put(VarKey.PLAYER_NAME, player.getName());
		Message.CHAT_REGION_ENTERED.clone().vars(vars).send(player);
	}

	//Player is at region
	nPlayer.setAtRegion(region);

	if(!region.getGuild().isMember(nPlayer)) {
		checkRaidInit(nPlayer);

		if(!sameGuildRegion) {
			Message.CHAT_REGION_NOTIFYGUILD_ENTERED.clone().vars(vars).broadcast(region.getGuild());
		}
	}

	//Vehicle protection system
	Entity vehicle = player.getVehicle();
	if(vehicle != null && vehicle instanceof Vehicle) {
		nPlayer.addVehicle((Vehicle) vehicle);
	}
}
 
源代码20 项目: NovaGuilds   文件: NovaPlayerImpl.java
@Override
public boolean isVehicleListed(Vehicle vehicle) {
	return vehicles.contains(vehicle);
}
 
源代码21 项目: NovaGuilds   文件: NovaPlayerImpl.java
@Override
public void addVehicle(Vehicle vehicle) {
	if(!isVehicleListed(vehicle)) {
		vehicles.add(vehicle);
	}
}
 
源代码22 项目: Kettle   文件: VehicleEvent.java
/**
 * Get the vehicle.
 *
 * @return the vehicle
 */
public final Vehicle getVehicle() {
    return vehicle;
}
 
源代码23 项目: NovaGuilds   文件: NovaPlayer.java
/**
 * Checks if a vehicle belongs to the player
 *
 * @param vehicle the vehicle
 * @return the flag
 */
boolean isVehicleListed(Vehicle vehicle);
 
源代码24 项目: NovaGuilds   文件: NovaPlayer.java
/**
 * Adds a vehicle to the owned list
 *
 * @param vehicle the Vehicle
 */
void addVehicle(Vehicle vehicle);