mirror of
https://github.com/EngineHub/WorldGuard.git
synced 2024-12-25 02:27:42 +01:00
Updated for 1.5 and added existing lightning protection.
This commit is contained in:
parent
1f69622a34
commit
b1e509c6f8
@ -13,9 +13,8 @@
|
||||
<include name="truezip.jar" />
|
||||
<include name="Bukkit.jar" />
|
||||
<include name="WorldEdit.jar" />
|
||||
<include name="iConomy.jar" />
|
||||
<include name="iConomy.jar" />
|
||||
<include name="prtree.jar" />
|
||||
<include name="snakeyaml.jar" />
|
||||
</fileset>
|
||||
|
||||
<target name="init">
|
||||
|
@ -47,6 +47,16 @@ fire:
|
||||
disable-lava-fire-spread: on
|
||||
lava-spread-blocks: []
|
||||
|
||||
weather:
|
||||
disable-weather: off
|
||||
disable-thunderstorm: off
|
||||
disable-pig-zombification: off
|
||||
disable-powered-creepers: off
|
||||
disable-lightning-strike-fire: off
|
||||
prevent-lightning-strike-blocks: []
|
||||
always-raining: off
|
||||
always-thundering: off
|
||||
|
||||
mobs:
|
||||
block-creeper-explosions: off
|
||||
block-creeper-block-damage: off
|
||||
@ -64,6 +74,7 @@ player-damage:
|
||||
disable-fall-damage: off
|
||||
disable-lava-damage: off
|
||||
disable-fire-damage: off
|
||||
disable-lightning-damage: off
|
||||
disable-drowning-damage: off
|
||||
disable-suffocation-damage: off
|
||||
disable-contact-damage: off
|
||||
|
@ -86,6 +86,7 @@ public class WorldConfiguration {
|
||||
public boolean disableFallDamage;
|
||||
public boolean disableLavaDamage;
|
||||
public boolean disableFireDamage;
|
||||
public boolean disableLightningDamage;
|
||||
public boolean disableDrowningDamage;
|
||||
public boolean disableSuffocationDamage;
|
||||
public boolean teleportOnSuffocation;
|
||||
@ -106,6 +107,14 @@ public class WorldConfiguration {
|
||||
public boolean removeInfiniteStacks;
|
||||
public boolean disableCreatureCropTrampling;
|
||||
public boolean disablePlayerCropTrampling;
|
||||
public boolean preventLightningFire;
|
||||
public Set<Integer> disallowedLightningBlocks;
|
||||
public boolean disableThunder;
|
||||
public boolean disableWeather;
|
||||
public boolean alwaysRaining;
|
||||
public boolean alwaysThundering;
|
||||
public boolean disablePigZap;
|
||||
public boolean disableCreeperPower;
|
||||
|
||||
/* Configuration data end */
|
||||
|
||||
@ -175,6 +184,7 @@ private void loadConfiguration() {
|
||||
disableFallDamage = config.getBoolean("player-damage.disable-fall-damage", false);
|
||||
disableLavaDamage = config.getBoolean("player-damage.disable-lava-damage", false);
|
||||
disableFireDamage = config.getBoolean("player-damage.disable-fire-damage", false);
|
||||
disableLightningDamage = config.getBoolean("player-damage.disable-lightning-damage", false);
|
||||
disableDrowningDamage = config.getBoolean("player-damage.disable-drowning-damage", false);
|
||||
disableSuffocationDamage = config.getBoolean("player-damage.disable-suffocation-damage", false);
|
||||
disableContactDamage = config.getBoolean("player-damage.disable-contact-damage", false);
|
||||
@ -187,6 +197,15 @@ private void loadConfiguration() {
|
||||
disableCreatureCropTrampling = config.getBoolean("crops.disable-creature-trampling", false);
|
||||
disablePlayerCropTrampling = config.getBoolean("crops.disable-player-trampling", false);
|
||||
|
||||
disallowedLightningBlocks = new HashSet<Integer>(config.getIntList("weather.prevent-lightning-strike-blocks", null));
|
||||
preventLightningFire = config.getBoolean("weather.disable-lightning-strike-fire", false);
|
||||
disableThunder = config.getBoolean("weather.disable-thunderstorm", false);
|
||||
disableWeather = config.getBoolean("weather.disable-weather", false);
|
||||
disablePigZap = config.getBoolean("weather.disable-pig-zombification", false);
|
||||
disableCreeperPower = config.getBoolean("weather.disable-powered-creepers", false);
|
||||
alwaysRaining = config.getBoolean("weather.always-raining", false);
|
||||
alwaysThundering = config.getBoolean("weather.always-thundering", false);
|
||||
|
||||
useRegions = config.getBoolean("regions.enable", true);
|
||||
highFreqFlags = config.getBoolean("regions.high-frequency-flags", false);
|
||||
regionWand = config.getInt("regions.wand", 287);
|
||||
|
@ -253,6 +253,11 @@ public void onBlockIgnite(BlockIgniteEvent event) {
|
||||
|
||||
boolean isFireSpread = cause == IgniteCause.SPREAD;
|
||||
|
||||
if (wcfg.preventLightningFire && cause == IgniteCause.LIGHTNING) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (wcfg.preventLavaFire && cause == IgniteCause.LAVA) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
|
@ -143,6 +143,11 @@ public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (wcfg.disableLightningDamage && event.getCause() == DamageCause.LIGHTNING) {
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (attacker != null && attacker instanceof Player) {
|
||||
if (wcfg.useRegions) {
|
||||
Vector pt = toVector(defender.getLocation());
|
||||
|
@ -278,7 +278,8 @@ public void handleBlockRightClick(PlayerInteractEvent event) {
|
||||
}
|
||||
}
|
||||
|
||||
if (type == Material.RAILS && item.getType() == Material.MINECART) {
|
||||
if ((type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL)
|
||||
&& item.getType() == Material.MINECART) {
|
||||
if (!plugin.getGlobalRegionManager().hasBypass(player, world)
|
||||
&& !set.canBuild(localPlayer)
|
||||
&& !set.allows(DefaultFlag.PLACE_VEHICLE)) {
|
||||
|
Loading…
Reference in New Issue
Block a user