mirror of
https://github.com/EngineHub/WorldGuard.git
synced 2025-02-26 01:01:42 +01:00
Added creeper block support.
This commit is contained in:
parent
e8503aa0b9
commit
86a917ddd1
@ -49,6 +49,7 @@ fire:
|
|||||||
|
|
||||||
mobs:
|
mobs:
|
||||||
block-creeper-explosions: off
|
block-creeper-explosions: off
|
||||||
|
block-creeper-block-damage: off
|
||||||
|
|
||||||
spawn:
|
spawn:
|
||||||
login-protection: 3
|
login-protection: 3
|
||||||
@ -84,12 +85,7 @@ blacklist:
|
|||||||
path: worldguard/logs/%Y-%m-%d.log
|
path: worldguard/logs/%Y-%m-%d.log
|
||||||
open-files: 10
|
open-files: 10
|
||||||
|
|
||||||
# Change sk89q to your name (or sk89q will be able to change regions
|
# See http://wiki.sk89q.com/wiki/WorldGuard/Permissions/Bukkit
|
||||||
# on your server!). Check the documentation to see how to configure this
|
|
||||||
#
|
|
||||||
# NOTE: The /reload permission is given to everyone below (only applies to
|
|
||||||
# WorldGuard) so that you can reload WorldGuard with /reload WorldGuard
|
|
||||||
# until your configuration work is done
|
|
||||||
permissions:
|
permissions:
|
||||||
groups:
|
groups:
|
||||||
default:
|
default:
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.entity.*;
|
import org.bukkit.event.entity.*;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||||
@ -110,4 +111,28 @@ public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEntityExplode(EntityExplodeEvent event) {
|
||||||
|
if (event.getEntity() instanceof LivingEntity) {
|
||||||
|
if (plugin.blockCreeperBlockDamage) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (plugin.blockCreeperExplosions) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (plugin.useRegions) {
|
||||||
|
Vector pt = toVector(event.getEntity().getLocation());
|
||||||
|
|
||||||
|
if (!plugin.regionManager.getApplicableRegions(pt).allowsCreeperExplosions()) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,6 +96,7 @@ public class WorldGuardPlugin extends JavaPlugin {
|
|||||||
Set<Integer> allowedLavaSpreadOver;
|
Set<Integer> allowedLavaSpreadOver;
|
||||||
|
|
||||||
boolean blockCreeperExplosions;
|
boolean blockCreeperExplosions;
|
||||||
|
boolean blockCreeperBlockDamage;
|
||||||
|
|
||||||
int loginProtection;
|
int loginProtection;
|
||||||
int spawnProtection;
|
int spawnProtection;
|
||||||
@ -150,6 +151,7 @@ private void registerEvents() {
|
|||||||
|
|
||||||
registerEvent(Event.Type.ENTITY_DAMAGEDBY_BLOCK, entityListener, Priority.Normal);
|
registerEvent(Event.Type.ENTITY_DAMAGEDBY_BLOCK, entityListener, Priority.Normal);
|
||||||
registerEvent(Event.Type.ENTITY_DAMAGEDBY_ENTITY, entityListener, Priority.Normal);
|
registerEvent(Event.Type.ENTITY_DAMAGEDBY_ENTITY, entityListener, Priority.Normal);
|
||||||
|
registerEvent(Event.Type.ENTITY_EXPLODE, entityListener, Priority.Normal);
|
||||||
|
|
||||||
registerEvent(Event.Type.PLAYER_COMMAND, playerListener, Priority.Normal);
|
registerEvent(Event.Type.PLAYER_COMMAND, playerListener, Priority.Normal);
|
||||||
registerEvent(Event.Type.PLAYER_ITEM, playerListener, Priority.Normal);
|
registerEvent(Event.Type.PLAYER_ITEM, playerListener, Priority.Normal);
|
||||||
@ -228,6 +230,7 @@ public void loadConfiguration() {
|
|||||||
allowedLavaSpreadOver = new HashSet<Integer>(config.getIntList("fire.lava-spread-blocks", null));
|
allowedLavaSpreadOver = new HashSet<Integer>(config.getIntList("fire.lava-spread-blocks", null));
|
||||||
|
|
||||||
blockCreeperExplosions = config.getBoolean("mobs.block-creeper-explosions", false);
|
blockCreeperExplosions = config.getBoolean("mobs.block-creeper-explosions", false);
|
||||||
|
blockCreeperBlockDamage = config.getBoolean("mobs.block-creeper-block-damage", false);
|
||||||
|
|
||||||
loginProtection = config.getInt("spawn.login-protection", 3);
|
loginProtection = config.getInt("spawn.login-protection", 3);
|
||||||
spawnProtection = config.getInt("spawn.spawn-protection", 0);
|
spawnProtection = config.getInt("spawn.spawn-protection", 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user