Some changes

Fixes #605
Possibly #604
Other minor tweaks
This commit is contained in:
boy0001
2015-09-03 15:45:25 +10:00
parent 3a29022d19
commit afef79ea66
31 changed files with 195 additions and 146 deletions

View File

@ -190,8 +190,16 @@ public class LikePlotMeConverter {
pathwidth = 7;
}
PS.get().config.set("worlds." + world + ".road.width", pathwidth);
Integer pathheight = PLOTME_DG_YML.getInt("worlds." + plotMeWorldName + ".RoadHeight"); //
if (pathheight == null || pathheight == 0) {
pathheight = 64;
}
PS.get().config.set("worlds." + world + ".road.height", pathheight);
PS.get().config.set("worlds." + world + ".wall.height", pathheight);
PS.get().config.set("worlds." + world + ".plot.height", pathheight);
Integer plotsize = PLOTME_DG_YML.getInt("worlds." + plotMeWorldName + ".PlotSize"); //
if (plotsize == null) {
if (plotsize == null || plotsize == 0) {
plotsize = 32;
}
PS.get().config.set("worlds." + world + ".plot.size", plotsize);

View File

@ -68,6 +68,9 @@ public class ChunkListener implements Listener {
PlotPlayer pp = entry.getValue();
Location loc = pp.getLocation();
String world = loc.getWorld();
if (!PS.get().isPlotWorld(world)) {
continue;
}
HashMap<ChunkLoc, Integer> map = players.get(world);
if (map == null) {
map = new HashMap<>();
@ -107,8 +110,10 @@ public class ChunkListener implements Listener {
for (World world : Bukkit.getWorlds()) {
String name = world.getName();
boolean autosave = world.isAutoSave();
boolean plotworld = PS.get().isPlotWorld(name);
if (!Settings.CHUNK_PROCESSOR_TRIM_ON_SAVE && autosave && plotworld) {
if (!PS.get().isPlotWorld(name)) {
continue;
}
if (!Settings.CHUNK_PROCESSOR_TRIM_ON_SAVE && autosave) {
world.setAutoSave(false);
}
HashMap<ChunkLoc, Integer> map = players.get(name);
@ -119,12 +124,12 @@ public class ChunkListener implements Listener {
int x = chunk.getX();
int z = chunk.getZ();
if (!map.containsKey(new ChunkLoc(x, z))) {
if (!Settings.CHUNK_PROCESSOR_TRIM_ON_SAVE || !plotworld || !unloadChunk(name, chunk)) {
if (!Settings.CHUNK_PROCESSOR_TRIM_ON_SAVE || !unloadChunk(name, chunk)) {
chunk.unload(true, false);
}
}
}
if (!Settings.CHUNK_PROCESSOR_TRIM_ON_SAVE && autosave && plotworld) {
if (!Settings.CHUNK_PROCESSOR_TRIM_ON_SAVE && autosave) {
world.setAutoSave(true);
}
}

View File

@ -346,7 +346,7 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
}
Flag flag;
if (!Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_BLOCKED_CMDS) && (flag = FlagManager.getPlotFlag(plot, "blocked-cmds")) != null) {
if ((flag = FlagManager.getPlotFlag(plot, "blocked-cmds")) != null && !Permissions.hasPermission(pp, C.PERMISSION_ADMIN_INTERACT_BLOCKED_CMDS)) {
List<String> v = (List<String>) flag.getValue();
String msg = event.getMessage().toLowerCase().replaceFirst("/", "");

View File

@ -61,7 +61,6 @@ public class WESubscriber {
if (pp != null && pp.getAttribute("worldedit")) {
return;
}
PlotPlayer player = UUIDHandler.getPlayer(actor.getName());
HashSet<RegionWrapper> mask = WEManager.getMask(player);
PlotWorld plotworld = PS.get().getPlotWorld(world);

View File

@ -1,17 +1,16 @@
package com.plotsquared.bukkit.object;
import java.util.HashSet;
import java.util.Map;
import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.Effect;
import org.bukkit.GameMode;
import org.bukkit.Material;
import org.bukkit.WeatherType;
import org.bukkit.entity.Player;
import org.bukkit.permissions.Permission;
import org.bukkit.permissions.PermissionDefault;
import org.bukkit.plugin.PluginManager;
import com.intellectualcrafters.plot.config.C;
import com.intellectualcrafters.plot.config.Settings;
@ -19,7 +18,6 @@ import com.intellectualcrafters.plot.object.Location;
import com.intellectualcrafters.plot.object.PlotPlayer;
import com.intellectualcrafters.plot.util.EconHandler;
import com.intellectualcrafters.plot.util.MainUtil;
import com.intellectualcrafters.plot.util.MathMan;
import com.intellectualcrafters.plot.util.PlotGamemode;
import com.intellectualcrafters.plot.util.PlotWeather;
import com.intellectualcrafters.plot.util.UUIDHandler;
@ -83,22 +81,7 @@ public class BukkitPlayer extends PlotPlayer {
return EconHandler.manager.hasPermission(getName(), node);
}
boolean value = this.player.hasPermission(node);
if (!value) {
final String[] nodes = node.split("\\.");
if (!MathMan.isInteger(nodes[nodes.length - 1])) {
final StringBuilder n = new StringBuilder();
for (int i = 0; i < (nodes.length - 1); i++) {
n.append(nodes[i] + ("."));
if (!node.equals(n + C.PERMISSION_STAR.s())) {
value = player.hasPermission(n + C.PERMISSION_STAR.s());
if (value) {
break;
}
}
}
value = this.player.hasPermission(node);
}
}
System.out.print(value + " | " + node);
if (Settings.PERMISSION_CACHING) {
if (value) {
this.hasPerm.add(node);
@ -110,6 +93,29 @@ public class BukkitPlayer extends PlotPlayer {
return value;
}
public Permission getPermission(String node) {
PluginManager manager = Bukkit.getPluginManager();
Permission perm = manager.getPermission(node);
if (perm == null) {
String[] nodes = node.split("\\.");
perm = new Permission(node);
final StringBuilder n = new StringBuilder();
for (int i = 0; i < (nodes.length - 1); i++) {
n.append(nodes[i] + ("."));
if (!node.equals(n + C.PERMISSION_STAR.s())) {
Permission parent = getPermission(n + C.PERMISSION_STAR.s());
if (parent != null) {
perm.addParent(parent, true);
}
}
}
manager.addPermission(perm);
}
manager.recalculatePermissionDefaults(perm);
perm.recalculatePermissibles();
return perm;
}
@Override
public void sendMessage(final String message) {
this.player.sendMessage(message);

View File

@ -197,7 +197,6 @@ public class SetBlockFast_1_8 extends BukkitSetBlockManager {
case 47:
case 48:
case 49:
case 50:
case 51:
case 52:
case 54:
@ -215,8 +214,6 @@ public class SetBlockFast_1_8 extends BukkitSetBlockManager {
case 11:
case 73:
case 74:
case 75:
case 76:
case 78:
case 79:
case 80:

View File

@ -20,11 +20,8 @@ import org.spongepowered.api.Server;
import org.spongepowered.api.block.BlockState;
import org.spongepowered.api.block.BlockType;
import org.spongepowered.api.block.BlockTypes;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.event.Subscribe;
import org.spongepowered.api.event.entity.player.PlayerChatEvent;
import org.spongepowered.api.event.state.PreInitializationEvent;
import org.spongepowered.api.event.state.ServerAboutToStartEvent;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.event.entity.living.player.PlayerChatEvent;
import org.spongepowered.api.plugin.Plugin;
import org.spongepowered.api.plugin.PluginContainer;
import org.spongepowered.api.service.profile.GameProfileResolver;
@ -37,6 +34,7 @@ import org.spongepowered.api.world.GeneratorTypes;
import org.spongepowered.api.world.World;
import com.google.common.base.Optional;
import com.google.common.eventbus.Subscribe;
import com.google.inject.Inject;
import com.intellectualcrafters.configuration.ConfigurationSection;
import com.intellectualcrafters.plot.IPlotMain;

View File

@ -1,6 +1,6 @@
package com.plotsquared.sponge.events;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.event.Cancellable;
import com.intellectualcrafters.plot.object.Plot;

View File

@ -1,6 +1,6 @@
package com.plotsquared.sponge.events;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import com.intellectualcrafters.plot.object.Plot;

View File

@ -1,6 +1,6 @@
package com.plotsquared.sponge.events;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.event.AbstractEvent;
public abstract class PlayerEvent extends AbstractEvent {

View File

@ -1,6 +1,6 @@
package com.plotsquared.sponge.events;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import com.intellectualcrafters.plot.object.Plot;

View File

@ -2,7 +2,7 @@ package com.plotsquared.sponge.events;
import java.util.UUID;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import com.intellectualcrafters.plot.object.Plot;

View File

@ -2,7 +2,7 @@ package com.plotsquared.sponge.events;
import java.util.UUID;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import com.intellectualcrafters.plot.object.Plot;

View File

@ -2,7 +2,7 @@ package com.plotsquared.sponge.events;
import java.util.UUID;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import com.intellectualcrafters.plot.object.Plot;

View File

@ -1,6 +1,6 @@
package com.plotsquared.sponge.events;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.event.Cancellable;
import com.intellectualcrafters.plot.object.Location;

View File

@ -12,29 +12,13 @@ import org.spongepowered.api.entity.living.Ambient;
import org.spongepowered.api.entity.living.Living;
import org.spongepowered.api.entity.living.animal.Animal;
import org.spongepowered.api.entity.living.monster.Monster;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.entity.vehicle.Boat;
import org.spongepowered.api.entity.vehicle.minecart.Minecart;
import org.spongepowered.api.event.Subscribe;
import org.spongepowered.api.event.block.BlockMoveEvent;
import org.spongepowered.api.event.block.BlockRedstoneUpdateEvent;
import org.spongepowered.api.event.block.FloraGrowEvent;
import org.spongepowered.api.event.block.FluidSpreadEvent;
import org.spongepowered.api.event.entity.EntityChangeBlockEvent;
import org.spongepowered.api.event.entity.EntitySpawnEvent;
import org.spongepowered.api.event.entity.EntityTeleportEvent;
import org.spongepowered.api.event.entity.player.PlayerBreakBlockEvent;
import org.spongepowered.api.event.entity.player.PlayerChangeWorldEvent;
import org.spongepowered.api.event.entity.player.PlayerChatEvent;
import org.spongepowered.api.event.entity.player.PlayerInteractBlockEvent;
import org.spongepowered.api.event.entity.player.PlayerJoinEvent;
import org.spongepowered.api.event.entity.player.PlayerMoveEvent;
import org.spongepowered.api.event.entity.player.PlayerPlaceBlockEvent;
import org.spongepowered.api.event.entity.player.PlayerQuitEvent;
import org.spongepowered.api.event.message.CommandEvent;
import org.spongepowered.api.event.network.PlayerConnectionEvent;
import org.spongepowered.api.event.world.ChunkPreGenerateEvent;
import org.spongepowered.api.event.world.WorldOnExplosionEvent;
import org.spongepowered.api.event.entity.living.player.PlayerChatEvent;
import org.spongepowered.api.event.entity.living.player.PlayerConnectionEvent;
import org.spongepowered.api.event.entity.living.player.PlayerJoinEvent;
import org.spongepowered.api.event.entity.living.player.PlayerQuitEvent;
import org.spongepowered.api.network.PlayerConnection;
import org.spongepowered.api.text.Text;
import org.spongepowered.api.text.Texts;
@ -46,6 +30,7 @@ import org.spongepowered.api.world.extent.Extent;
import com.flowpowered.math.vector.Vector3d;
import com.flowpowered.math.vector.Vector3i;
import com.google.common.base.Predicate;
import com.google.common.eventbus.Subscribe;
import com.intellectualcrafters.plot.PS;
import com.intellectualcrafters.plot.config.C;
import com.intellectualcrafters.plot.config.Settings;
@ -726,10 +711,10 @@ public class MainListener {
if (!PlotListener.plotExit(pp, lastPlot)) {
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_EXIT_DENIED);
if (lastPlot.equals(MainUtil.getPlot(SpongeUtil.getLocation(worldname, from)))) {
event.setNewLocation(from);
event.setTo(from);
}
else {
event.setNewLocation(world.getSpawnLocation());
event.setTo(world.getSpawnLocation());
}
return;
}
@ -742,10 +727,10 @@ public class MainListener {
if (!PlotListener.plotEntry(pp, plot)) {
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_ENTRY_DENIED);
if (!plot.equals(MainUtil.getPlot(SpongeUtil.getLocation(worldname, from)))) {
event.setNewLocation(from);
event.setTo(from);
}
else {
event.setNewLocation(world.getSpawnLocation());
event.setTo(world.getSpawnLocation());
}
return;
}
@ -755,13 +740,13 @@ public class MainListener {
if (x2 > border) {
Vector3d pos = to.getPosition();
to = to.setPosition(new Vector3d(border - 4, pos.getY(), pos.getZ()));
event.setNewLocation(to);
event.setTo(to);
MainUtil.sendMessage(pp, C.BORDER);
}
else if (x2 < -border) {
Vector3d pos = to.getPosition();
to = to.setPosition(new Vector3d(-border + 4, pos.getY(), pos.getZ()));
event.setNewLocation(to);
event.setTo(to);
MainUtil.sendMessage(pp, C.BORDER);
}
}
@ -793,10 +778,10 @@ public class MainListener {
if (!PlotListener.plotExit(pp, lastPlot)) {
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_EXIT_DENIED);
if (lastPlot.equals(MainUtil.getPlot(SpongeUtil.getLocation(worldname, from)))) {
event.setNewLocation(from);
event.setTo(from);
}
else {
event.setNewLocation(world.getSpawnLocation());
event.setTo(world.getSpawnLocation());
}
return;
}
@ -809,10 +794,10 @@ public class MainListener {
if (!PlotListener.plotEntry(pp, plot)) {
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_ENTRY_DENIED);
if (!plot.equals(MainUtil.getPlot(SpongeUtil.getLocation(worldname, from)))) {
event.setNewLocation(from);
event.setTo(from);
}
else {
event.setNewLocation(world.getSpawnLocation());
event.setTo(world.getSpawnLocation());
}
return;
}
@ -822,13 +807,13 @@ public class MainListener {
if (z2 > border) {
Vector3d pos = to.getPosition();
to = to.setPosition(new Vector3d(pos.getX(), pos.getY(), border - 4));
event.setNewLocation(to);
event.setTo(to);
MainUtil.sendMessage(pp, C.BORDER);
}
else if (z2 < -border) {
Vector3d pos = to.getPosition();
to = to.setPosition(new Vector3d(pos.getX(), pos.getY(), -border + 4));
event.setNewLocation(to);
event.setTo(to);
MainUtil.sendMessage(pp, C.BORDER);
}
}
@ -867,10 +852,10 @@ public class MainListener {
if (!PlotListener.plotExit(pp, lastPlot)) {
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_EXIT_DENIED);
if (lastPlot.equals(MainUtil.getPlot(SpongeUtil.getLocation(worldname, from)))) {
event.setNewLocation(from);
event.setTo(from);
}
else {
event.setNewLocation(world.getSpawnLocation());
event.setTo(world.getSpawnLocation());
}
return;
}
@ -883,10 +868,10 @@ public class MainListener {
if (!PlotListener.plotEntry(pp, plot)) {
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_ENTRY_DENIED);
if (!plot.equals(MainUtil.getPlot(SpongeUtil.getLocation(worldname, from)))) {
event.setNewLocation(from);
event.setTo(from);
}
else {
event.setNewLocation(world.getSpawnLocation());
event.setTo(world.getSpawnLocation());
}
return;
}
@ -896,13 +881,13 @@ public class MainListener {
if (x2 > border) {
Vector3d pos = to.getPosition();
to = to.setPosition(new Vector3d(border - 4, pos.getY(), pos.getZ()));
event.setNewLocation(to);
event.setTo(to);
MainUtil.sendMessage(pp, C.BORDER);
}
else if (x2 < -border) {
Vector3d pos = to.getPosition();
to = to.setPosition(new Vector3d(-border + 4, pos.getY(), pos.getZ()));
event.setNewLocation(to);
event.setTo(to);
MainUtil.sendMessage(pp, C.BORDER);
}
}
@ -934,10 +919,10 @@ public class MainListener {
if (!PlotListener.plotExit(pp, lastPlot)) {
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_EXIT_DENIED);
if (lastPlot.equals(MainUtil.getPlot(SpongeUtil.getLocation(worldname, from)))) {
event.setNewLocation(from);
event.setTo(from);
}
else {
event.setNewLocation(player.getWorld().getSpawnLocation());
event.setTo(player.getWorld().getSpawnLocation());
}
return;
}
@ -950,10 +935,10 @@ public class MainListener {
if (!PlotListener.plotEntry(pp, plot)) {
MainUtil.sendMessage(pp, C.NO_PERMISSION_EVENT, C.PERMISSION_ADMIN_ENTRY_DENIED);
if (!plot.equals(MainUtil.getPlot(SpongeUtil.getLocation(worldname, from)))) {
event.setNewLocation(from);
event.setTo(from);
}
else {
event.setNewLocation(player.getWorld().getSpawnLocation());
event.setTo(player.getWorld().getSpawnLocation());
}
return;
}
@ -963,13 +948,13 @@ public class MainListener {
if (z2 > border) {
Vector3d pos = to.getPosition();
to = to.setPosition(new Vector3d(pos.getX(), pos.getY(), border - 4));
event.setNewLocation(to);
event.setTo(to);
MainUtil.sendMessage(pp, C.BORDER);
}
else if (z2 < -border) {
Vector3d pos = to.getPosition();
to = to.setPosition(new Vector3d(pos.getX(), pos.getY(), -border + 4));
event.setNewLocation(to);
event.setTo(to);
MainUtil.sendMessage(pp, C.BORDER);
}
}

View File

@ -7,9 +7,9 @@ import java.util.UUID;
import org.spongepowered.api.data.key.Keys;
import org.spongepowered.api.data.manipulator.mutable.TargetedLocationData;
import org.spongepowered.api.data.value.mutable.Value;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.player.gamemode.GameMode;
import org.spongepowered.api.entity.player.gamemode.GameModes;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.entity.living.player.gamemode.GameMode;
import org.spongepowered.api.entity.living.player.gamemode.GameModes;
import org.spongepowered.api.text.TextBuilder;
import org.spongepowered.api.text.Texts;
import org.spongepowered.api.text.action.HoverAction;

View File

@ -5,7 +5,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.text.Text;
import org.spongepowered.api.text.Texts;
import org.spongepowered.api.util.command.CommandCallable;

View File

@ -3,7 +3,7 @@ package com.plotsquared.sponge.util;
import java.util.ArrayList;
import java.util.Locale;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.item.ItemType;
import org.spongepowered.api.item.ItemTypes;
import org.spongepowered.api.item.inventory.Carrier;

View File

@ -1,7 +1,7 @@
package com.plotsquared.sponge.util;
import org.spongepowered.api.entity.Entity;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.world.World;
import org.spongepowered.api.world.extent.Extent;

View File

@ -3,7 +3,7 @@ package com.plotsquared.sponge.uuid;
import java.util.UUID;
import org.spongepowered.api.GameProfile;
import org.spongepowered.api.entity.player.Player;
import org.spongepowered.api.entity.living.player.Player;
import com.google.common.base.Charsets;
import com.intellectualcrafters.plot.object.OfflinePlotPlayer;