Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
194108336b | ||
|
|
eade612981 | ||
|
|
733163cc4c | ||
|
|
86a917ddd1 | ||
|
|
e8503aa0b9 | ||
|
|
01bf9e8406 | ||
|
|
0bdadf63b3 | ||
|
|
5b1c35bf06 |
No files matched your search
@@ -1,3 +1,9 @@
|
||||
2.2:
|
||||
- Now supports GroupUsers.
|
||||
- Added support for blocking creeper explosions.
|
||||
- Fixed a bug where a player's groups were not being loaded correctly,
|
||||
causing the blacklist group ignore option to not work.
|
||||
|
||||
2.1.1:
|
||||
- Fixed fire spread disable preventing flint and steel too.
|
||||
- Fixed NullPointerException related to the player item event.
|
||||
|
||||
+4
-14
@@ -2,23 +2,13 @@ WorldGuard
|
||||
Copyright (c) 2010, 2011 sk89q <http://www.sk89q.com>
|
||||
Licensed under the GNU Lesser General Public License v3
|
||||
|
||||
Installation
|
||||
Introduction
|
||||
------------
|
||||
|
||||
Bukkit:
|
||||
WorldGuard protects your server!
|
||||
|
||||
** Make sure you first install the WorldEdit plugin. **
|
||||
|
||||
1. Create a "plugins" folder inside your server folder.
|
||||
|
||||
2. Copy WorldGuard.jar into "plugins".
|
||||
|
||||
3. Restart your server.
|
||||
|
||||
Default configuration files will be created in plugins/WorldGuard/
|
||||
when WorldGuard is first started. Be sure to edit them and use
|
||||
/reload WorldGuard until you are satisfied (remember to remove the
|
||||
/reload permission from everyone when you are done).
|
||||
Documentation can be found at:
|
||||
http://wiki.sk89q.com/wiki/WorldGuard
|
||||
|
||||
Thanks
|
||||
------
|
||||
|
||||
@@ -32,8 +32,9 @@
|
||||
<attribute name="WorldGuard-Version" value="${version}"/>
|
||||
<attribute name="Class-Path" value="WorldEdit.jar WorldGuard/WorldEdit.jar"/>
|
||||
</manifest>
|
||||
<replace file="${build.dir}/plugin.yml" token="WGVERSIONMACRO" value="${version}"/>
|
||||
<delete file="${build.dir}/plugin.yml"/>
|
||||
<copy tofile="${build.dir}/plugin.yml" file="plugin.yml"/>
|
||||
<replace file="${build.dir}/plugin.yml" token="WGVERSIONMACRO" value="${version}"/>
|
||||
<mkdir dir="${build.dir}/defaults"/>
|
||||
<copy tofile="${build.dir}/defaults/config.yml" file="config.yml"/>
|
||||
<copy tofile="${build.dir}/defaults/blacklist.txt" file="blacklist.txt"/>
|
||||
|
||||
+2
-6
@@ -49,6 +49,7 @@ fire:
|
||||
|
||||
mobs:
|
||||
block-creeper-explosions: off
|
||||
block-creeper-block-damage: off
|
||||
|
||||
spawn:
|
||||
login-protection: 3
|
||||
@@ -84,12 +85,7 @@ blacklist:
|
||||
path: worldguard/logs/%Y-%m-%d.log
|
||||
open-files: 10
|
||||
|
||||
# Change sk89q to your name (or sk89q will be able to change regions
|
||||
# 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
|
||||
# See http://wiki.sk89q.com/wiki/WorldGuard/Permissions/Bukkit
|
||||
permissions:
|
||||
groups:
|
||||
default:
|
||||
|
||||
@@ -71,7 +71,7 @@ public abstract class LocalPlayer {
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public abstract List<String> getGroups();
|
||||
public abstract String[] getGroups();
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
|
||||
package com.sk89q.worldguard.bukkit;
|
||||
|
||||
import java.util.List;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import com.sk89q.worldedit.Vector;
|
||||
@@ -61,7 +60,7 @@ public class BukkitPlayer extends LocalPlayer {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getGroups() {
|
||||
public String[] getGroups() {
|
||||
return plugin.getGroups(player);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ package com.sk89q.worldguard.bukkit;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.entity.*;
|
||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||
@@ -110,4 +111,28 @@ public class WorldGuardEntityListener extends EntityListener {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,9 +24,7 @@ import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
@@ -39,7 +37,8 @@ import org.bukkit.plugin.PluginDescriptionFile;
|
||||
import org.bukkit.plugin.PluginLoader;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.util.config.Configuration;
|
||||
import com.sk89q.bukkit.migration.ConfigurationPermissionsResolver;
|
||||
import com.sk89q.bukkit.migration.PermissionsResolverManager;
|
||||
import com.sk89q.bukkit.migration.PermissionsResolverServerListener;
|
||||
import com.sk89q.worldguard.blacklist.Blacklist;
|
||||
import com.sk89q.worldguard.blacklist.BlacklistLogger;
|
||||
import com.sk89q.worldguard.blacklist.loggers.*;
|
||||
@@ -59,7 +58,9 @@ public class WorldGuardPlugin extends JavaPlugin {
|
||||
new WorldGuardBlockListener(this);
|
||||
private final WorldGuardEntityListener entityListener =
|
||||
new WorldGuardEntityListener(this);
|
||||
private final ConfigurationPermissionsResolver perms;
|
||||
private final PermissionsResolverServerListener permsListener;
|
||||
|
||||
private final PermissionsResolverManager perms;
|
||||
|
||||
Blacklist blacklist;
|
||||
|
||||
@@ -93,6 +94,7 @@ public class WorldGuardPlugin extends JavaPlugin {
|
||||
Set<Integer> allowedLavaSpreadOver;
|
||||
|
||||
boolean blockCreeperExplosions;
|
||||
boolean blockCreeperBlockDamage;
|
||||
|
||||
int loginProtection;
|
||||
int spawnProtection;
|
||||
@@ -122,7 +124,9 @@ public class WorldGuardPlugin extends JavaPlugin {
|
||||
createDefaultConfiguration("blacklist.txt");
|
||||
|
||||
regionLoader = new CSVDatabase(new File(folder, "regions.txt"));
|
||||
perms = new ConfigurationPermissionsResolver(getConfiguration());
|
||||
perms = new PermissionsResolverManager(getConfiguration(), getServer(),
|
||||
"WorldGuard", logger);
|
||||
permsListener = new PermissionsResolverServerListener(perms);
|
||||
loadConfiguration();
|
||||
postReload();
|
||||
registerEvents();
|
||||
@@ -145,12 +149,15 @@ public class WorldGuardPlugin extends JavaPlugin {
|
||||
|
||||
registerEvent(Event.Type.ENTITY_DAMAGEDBY_BLOCK, 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_ITEM, playerListener, Priority.Normal);
|
||||
registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal);
|
||||
registerEvent(Event.Type.PLAYER_LOGIN, playerListener, Priority.Normal);
|
||||
registerEvent(Event.Type.PLAYER_QUIT, playerListener, Priority.Normal);
|
||||
|
||||
permsListener.register(this);
|
||||
}
|
||||
|
||||
private void registerEvent(Event.Type type, Listener listener, Priority priority) {
|
||||
@@ -221,6 +228,7 @@ public class WorldGuardPlugin extends JavaPlugin {
|
||||
allowedLavaSpreadOver = new HashSet<Integer>(config.getIntList("fire.lava-spread-blocks", null));
|
||||
|
||||
blockCreeperExplosions = config.getBoolean("mobs.block-creeper-explosions", false);
|
||||
blockCreeperBlockDamage = config.getBoolean("mobs.block-creeper-block-damage", false);
|
||||
|
||||
loginProtection = config.getInt("spawn.login-protection", 3);
|
||||
spawnProtection = config.getInt("spawn.spawn-protection", 0);
|
||||
@@ -359,8 +367,8 @@ public class WorldGuardPlugin extends JavaPlugin {
|
||||
return perms.hasPermission(player.getName(), perm);
|
||||
}
|
||||
|
||||
List<String> getGroups(Player player) {
|
||||
return new ArrayList<String>();
|
||||
String[] getGroups(Player player) {
|
||||
return perms.getGroups(player.getName());
|
||||
}
|
||||
|
||||
BukkitPlayer wrapPlayer(Player player) {
|
||||
|
||||
@@ -19,8 +19,10 @@
|
||||
|
||||
package com.sk89q.worldguard;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.HashSet;
|
||||
import com.sk89q.worldedit.Vector;
|
||||
import com.sk89q.worldguard.LocalPlayer;
|
||||
|
||||
public class TestPlayer extends LocalPlayer {
|
||||
@@ -44,4 +46,34 @@ public class TestPlayer extends LocalPlayer {
|
||||
public boolean hasGroup(String group) {
|
||||
return groups.contains(group.toLowerCase());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vector getPosition() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void kick(String msg) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ban(String msg) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void printRaw(String msg) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getGroups() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user