Compare commits

...
Author SHA1 Message Date
ST-DDT 9dcbd8df74 Show more details in error log which world the error belongs to. 2015-01-04 20:00:05 -08:00
sk89q 83b1dabcdd Merge pull request #332 from cindyker/versions/spigot1.8-5.x
Fix broken blacklist (NullPointerException).
2014-12-05 22:54:54 -08:00
cindyker 5cf4cfdbd3 Fixed missing guava fix. 2014-11-30 16:42:25 -05:00
sk89q a45fc45644 Update for Spigot 1.8. 2014-11-28 19:31:43 -08:00
7 changed files with 37 additions and 33 deletions

No files matched your search

+5 -5
View File
@@ -79,7 +79,7 @@
<dependency>
<groupId>com.sk89q</groupId>
<artifactId>worldedit</artifactId>
<version>5.5.8</version>
<version>6.0.0-SNAPSHOT</version>
<scope>compile</scope>
<type>jar</type>
</dependency>
@@ -105,9 +105,9 @@
<!-- End runtime only -->
<dependency>
<groupId>org.bukkit</groupId>
<groupId>com.sk89q.spigot</groupId>
<artifactId>bukkit</artifactId>
<version>1.7.2-R0.3</version>
<version>1.8-R0.1-SNAPSHOT</version>
<scope>compile</scope>
<type>jar</type>
</dependency>
@@ -141,8 +141,8 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>10.0.1</version> <!-- Bukkit only bundles 10.0.1 -->
<scope>compile</scope> <!-- required runtime dependency -->
<version>17.0</version>
<scope>compile</scope>
<type>jar</type>
</dependency>
@@ -20,6 +20,7 @@
package com.sk89q.worldguard.blacklist;
import com.google.common.cache.Cache;
import com.google.common.cache.LoadingCache;
import com.sk89q.worldguard.LocalPlayer;
import com.sk89q.worldguard.blacklist.action.Action;
import com.sk89q.worldguard.blacklist.action.ActionResult;
@@ -181,7 +182,7 @@ public class BlacklistEntry {
Cache<String, TrackedEvent> repeatingEventCache = blacklist.getRepeatingEventCache();
// Check to see whether this event is being repeated
TrackedEvent tracked = repeatingEventCache.getUnchecked(eventCacheKey);
TrackedEvent tracked = ((LoadingCache<String, TrackedEvent>)repeatingEventCache).getUnchecked(eventCacheKey);
if (tracked.matches(event)) {
repeating = true;
} else {
@@ -21,7 +21,7 @@ package com.sk89q.worldguard.blacklist.target;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Ranges;
import com.google.common.collect.Range;
import com.sk89q.worldedit.blocks.ItemType;
import java.util.ArrayList;
@@ -76,22 +76,22 @@ public class TargetMatcherParser {
matcher = LESS_THAN_PATTERN.matcher(input);
if (matcher.matches()) {
return Ranges.atMost(Short.parseShort(matcher.group(1)));
return Range.atMost(Short.parseShort(matcher.group(1)));
}
matcher = GREATER_THAN_PATTERN.matcher(input);
if (matcher.matches()) {
return Ranges.atLeast(Short.parseShort(matcher.group(1)));
return Range.atLeast(Short.parseShort(matcher.group(1)));
}
matcher = RANGE_PATTERN.matcher(input);
if (matcher.matches()) {
return Ranges.closed(Short.parseShort(matcher.group(1)), Short.parseShort(matcher.group(2)));
return Range.closed(Short.parseShort(matcher.group(1)), Short.parseShort(matcher.group(2)));
}
try {
short s = Short.parseShort(input);
return Ranges.closed(s, s);
return Range.closed(s, s);
} catch (NumberFormatException e) {
throw new TargetMatcherParseException("Unknown data value range: " + input);
}
@@ -27,6 +27,7 @@ import org.bukkit.GameMode;
import org.bukkit.World;
import org.bukkit.entity.Player;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -61,7 +62,7 @@ public class FlagStateManager implements Runnable {
*/
@Override
public void run() {
Player[] players = plugin.getServer().getOnlinePlayers();
Collection<? extends Player> players = plugin.getServer().getOnlinePlayers();
ConfigurationManager config = plugin.getGlobalStateManager();
for (Player player : players) {
@@ -19,6 +19,18 @@
package com.sk89q.worldguard.bukkit;
import com.sk89q.worldguard.protection.GlobalRegionManager;
import com.sk89q.worldguard.protection.flags.DefaultFlag;
import com.sk89q.worldguard.protection.flags.Flag;
import com.sk89q.worldguard.protection.flags.StateFlag;
import com.sk89q.worldguard.protection.managers.RegionManager;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
import com.sk89q.worldguard.util.LogListBlock;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.entity.Entity;
import org.bukkit.plugin.Plugin;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
@@ -30,19 +42,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.entity.Entity;
import org.bukkit.plugin.Plugin;
import com.sk89q.worldguard.protection.GlobalRegionManager;
import com.sk89q.worldguard.protection.flags.DefaultFlag;
import com.sk89q.worldguard.protection.flags.Flag;
import com.sk89q.worldguard.protection.flags.StateFlag;
import com.sk89q.worldguard.protection.managers.RegionManager;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
import com.sk89q.worldguard.util.LogListBlock;
public class ReportWriter {
private static final SimpleDateFormat dateFmt =
@@ -165,7 +164,7 @@ public class ReportWriter {
log.put("Implementation", server.getVersion());
//log.put("Address", server.getIp(), server.getPort());
log.put("Player count", "%d/%d",
server.getOnlinePlayers().length, server.getMaxPlayers());
server.getOnlinePlayers().size(), server.getMaxPlayers());
append(log);
appendln();
@@ -32,6 +32,7 @@ import org.bukkit.block.Block;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffectType;
import org.yaml.snakeyaml.parser.ParserException;
import java.io.File;
import java.io.FileNotFoundException;
@@ -302,6 +303,9 @@ public class WorldConfiguration {
} catch (IOException e) {
plugin.getLogger().severe("Error reading configuration for world " + worldName + ": ");
e.printStackTrace();
} catch (ParserException e) {
log.severe("Error parsing configuration for world " + worldName + ". ");
throw e;
}
summaryOnStart = getBoolean("summary-on-start", true);
@@ -60,6 +60,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -426,7 +427,7 @@ public class WorldGuardPlugin extends JavaPlugin {
* @return A {@link List} of players who match {@code filter}
*/
public List<Player> matchPlayerNames(String filter) {
Player[] players = getServer().getOnlinePlayers();
Collection<? extends Player> players = getServer().getOnlinePlayers();
filter = filter.toLowerCase();
@@ -479,7 +480,7 @@ public class WorldGuardPlugin extends JavaPlugin {
* @return {@code players} as an {@link Iterable}
* @throws CommandException If {@code players} is empty
*/
protected Iterable<Player> checkPlayerMatch(List<Player> players)
protected Iterable<Player> checkPlayerMatch(Collection<Player> players)
throws CommandException {
// Check to see if there were any matches
if (players.size() == 0) {
@@ -507,12 +508,12 @@ public class WorldGuardPlugin extends JavaPlugin {
public Iterable<Player> matchPlayers(CommandSender source, String filter)
throws CommandException {
if (getServer().getOnlinePlayers().length == 0) {
if (getServer().getOnlinePlayers().isEmpty()) {
throw new CommandException("No players matched query.");
}
if (filter.equals("*")) {
return checkPlayerMatch(Arrays.asList(getServer().getOnlinePlayers()));
return checkPlayerMatch((Collection<Player>) getServer().getOnlinePlayers());
}
// Handle special hash tag groups
@@ -865,11 +866,9 @@ public class WorldGuardPlugin extends JavaPlugin {
* @return The message with macros replaced
*/
public String replaceMacros(CommandSender sender, String message) {
Player[] online = getServer().getOnlinePlayers();
message = message.replace("%name%", toName(sender));
message = message.replace("%id%", toUniqueName(sender));
message = message.replace("%online%", String.valueOf(online.length));
message = message.replace("%online%", String.valueOf(getServer().getOnlinePlayers().size()));
if (sender instanceof Player) {
Player player = (Player) sender;