mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-23 05:36:45 +01:00
jkldasasdjklsadkl
This commit is contained in:
parent
fa822dcf29
commit
219d4ad469
@ -85,7 +85,7 @@ public class BukkitMain extends JavaPlugin implements Listener,IPlotMain {
|
|||||||
final PlayerTeleportToPlotEvent event = new PlayerTeleportToPlotEvent(player, from, bot);
|
final PlayerTeleportToPlotEvent event = new PlayerTeleportToPlotEvent(player, from, bot);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||||
if (!event.isCancelled()) {
|
if (!event.isCancelled()) {
|
||||||
final Location location = PlotHelper.getPlotHome(Bukkit.getWorld(bot.world), bot);
|
final Location location = PlotHelper.getPlotHome(bot.world, bot);
|
||||||
|
|
||||||
int x = location.getX();
|
int x = location.getX();
|
||||||
int z = location.getZ();
|
int z = location.getZ();
|
||||||
|
@ -17,6 +17,10 @@ public class Location implements Cloneable, Comparable<Location> {
|
|||||||
private boolean built;
|
private boolean built;
|
||||||
private Object o;
|
private Object o;
|
||||||
|
|
||||||
|
public Location clone() {
|
||||||
|
return new Location(world, x, y, z, yaw, pitch);
|
||||||
|
}
|
||||||
|
|
||||||
public Location(final String world, final int x, final int y, final int z, final float yaw, final float pitch) {
|
public Location(final String world, final int x, final int y, final int z, final float yaw, final float pitch) {
|
||||||
this.world = world;
|
this.world = world;
|
||||||
this.x = x;
|
this.x = x;
|
||||||
|
@ -644,17 +644,22 @@ import com.intellectualcrafters.plot.util.bukkit.BukkitUtil;
|
|||||||
public static int getHeighestBlock(final String world, final int x, final int z) {
|
public static int getHeighestBlock(final String world, final int x, final int z) {
|
||||||
boolean safe = false;
|
boolean safe = false;
|
||||||
int id;
|
int id;
|
||||||
for (int i = 1; i < world.getMaxHeight(); i++) {
|
int result = BukkitUtil.getHeighestBlock(world, x, z);
|
||||||
id = world.getBlockAt(x, i, z).getTypeId();
|
if (result == 0) {
|
||||||
if (id == 0) {
|
|
||||||
if (safe) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
safe = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 64;
|
return 64;
|
||||||
}
|
}
|
||||||
|
return result;
|
||||||
|
// for (int i = 1; i < world.getMaxHeight(); i++) {
|
||||||
|
// id = world.getBlockAt(x, i, z).getTypeId();
|
||||||
|
// if (id == 0) {
|
||||||
|
// if (safe) {
|
||||||
|
// return i;
|
||||||
|
// }
|
||||||
|
// safe = true;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return 64;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get plot home
|
* Get plot home
|
||||||
@ -664,7 +669,7 @@ import com.intellectualcrafters.plot.util.bukkit.BukkitUtil;
|
|||||||
*
|
*
|
||||||
* @return Home Location
|
* @return Home Location
|
||||||
*/
|
*/
|
||||||
public static Location getPlotHome(final World w, final PlotId plotid) {
|
public static Location getPlotHome(final String w, final PlotId plotid) {
|
||||||
Plot plot = getPlot(w, plotid);
|
Plot plot = getPlot(w, plotid);
|
||||||
BlockLoc home = plot.settings.getPosition();
|
BlockLoc home = plot.settings.getPosition();
|
||||||
final Location bot = getPlotBottomLoc(w, plotid);
|
final Location bot = getPlotBottomLoc(w, plotid);
|
||||||
@ -673,7 +678,7 @@ import com.intellectualcrafters.plot.util.bukkit.BukkitUtil;
|
|||||||
final Location top = getPlotTopLoc(w, plotid);
|
final Location top = getPlotTopLoc(w, plotid);
|
||||||
final int x = ((top.getX() - bot.getX())/2) + bot.getX();
|
final int x = ((top.getX() - bot.getX())/2) + bot.getX();
|
||||||
final int z = ((top.getZ() - bot.getZ())/2) + bot.getZ();
|
final int z = ((top.getZ() - bot.getZ())/2) + bot.getZ();
|
||||||
final int y = Math.max(getHeighestBlock(w, x, z), manager.getSignLoc(w, PlotSquared.getWorldSettings(w), plot).getY());
|
final int y = Math.max(getHeighestBlock(w, x, z), manager.getSignLoc(PlotSquared.getWorldSettings(w), plot).getY());
|
||||||
return new Location(w, x, y, z);
|
return new Location(w, x, y, z);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -705,7 +710,7 @@ import com.intellectualcrafters.plot.util.bukkit.BukkitUtil;
|
|||||||
*
|
*
|
||||||
* @see #getPlotHome(org.bukkit.World, com.intellectualcrafters.plot.object.PlotId)
|
* @see #getPlotHome(org.bukkit.World, com.intellectualcrafters.plot.object.PlotId)
|
||||||
*/
|
*/
|
||||||
public static Location getPlotHome(final World w, final Plot plot) {
|
public static Location getPlotHome(final String w, final Plot plot) {
|
||||||
return getPlotHome(w, plot.id);
|
return getPlotHome(w, plot.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -732,10 +737,10 @@ import com.intellectualcrafters.plot.util.bukkit.BukkitUtil;
|
|||||||
for (int x = minChunkX; x <= maxChunkX; x++) {
|
for (int x = minChunkX; x <= maxChunkX; x++) {
|
||||||
for (int z = minChunkZ; z <= maxChunkZ; z++) {
|
for (int z = minChunkZ; z <= maxChunkZ; z++) {
|
||||||
if (canSendChunk) {
|
if (canSendChunk) {
|
||||||
final Chunk chunk = world.getChunkAt(x, z);
|
final Chunk chunk = BukkitUtil.getChunkAt(world, x, z);
|
||||||
chunks.add(chunk);
|
chunks.add(chunk);
|
||||||
} else {
|
} else {
|
||||||
world.refreshChunk(x, z);
|
BukkitUtil.refreshChunk(world, x, z);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -745,7 +750,7 @@ import com.intellectualcrafters.plot.util.bukkit.BukkitUtil;
|
|||||||
canSendChunk = false;
|
canSendChunk = false;
|
||||||
for (int x = minChunkX; x <= maxChunkX; x++) {
|
for (int x = minChunkX; x <= maxChunkX; x++) {
|
||||||
for (int z = minChunkZ; z <= maxChunkZ; z++) {
|
for (int z = minChunkZ; z <= maxChunkZ; z++) {
|
||||||
world.refreshChunk(x, z);
|
BukkitUtil.refreshChunk(world, x, z);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -852,16 +857,15 @@ import com.intellectualcrafters.plot.util.bukkit.BukkitUtil;
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean move(final String world, final PlotId current, PlotId newPlot, final Runnable whenDone) {
|
public static boolean move(final String world, final PlotId current, PlotId newPlot, final Runnable whenDone) {
|
||||||
String worldname = world.getName();
|
final com.intellectualcrafters.plot.object.Location bot1 = PlotHelper.getPlotBottomLoc(world, current);
|
||||||
final com.intellectualcrafters.plot.object.Location bot1 = PlotHelper.getPlotBottomLoc(worldname, current);
|
com.intellectualcrafters.plot.object.Location bot2 = PlotHelper.getPlotBottomLoc(world, newPlot);
|
||||||
com.intellectualcrafters.plot.object.Location bot2 = PlotHelper.getPlotBottomLoc(worldname, newPlot);
|
final Location top = PlotHelper.getPlotTopLoc(world, current);
|
||||||
final Location top = PlotHelper.getPlotTopLoc(worldname, current);
|
final Plot currentPlot = PlotHelper.getPlot(world, current);
|
||||||
final Plot currentPlot = PlotHelper.getPlot(worldname, current);
|
|
||||||
if (currentPlot.owner == null) {
|
if (currentPlot.owner == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
Plot pos1 = PlayerFunctions.getBottomPlot(worldname, currentPlot);
|
Plot pos1 = PlayerFunctions.getBottomPlot(world, currentPlot);
|
||||||
Plot pos2 = PlayerFunctions.getTopPlot(worldname, currentPlot);
|
Plot pos2 = PlayerFunctions.getTopPlot(world, currentPlot);
|
||||||
|
|
||||||
PlotId size = PlotHelper.getSize(world, currentPlot);
|
PlotId size = PlotHelper.getSize(world, currentPlot);
|
||||||
if (!PlotHelper.isUnowned(world, newPlot, new PlotId(newPlot.x + size.x - 1, newPlot.y + size.y - 1))) {
|
if (!PlotHelper.isUnowned(world, newPlot, new PlotId(newPlot.x + size.x - 1, newPlot.y + size.y - 1))) {
|
||||||
@ -871,14 +875,13 @@ import com.intellectualcrafters.plot.util.bukkit.BukkitUtil;
|
|||||||
int offset_x = newPlot.x - pos1.id.x;
|
int offset_x = newPlot.x - pos1.id.x;
|
||||||
int offset_y = newPlot.y - pos1.id.y;
|
int offset_y = newPlot.y - pos1.id.y;
|
||||||
final ArrayList<PlotId> selection = PlayerFunctions.getPlotSelectionIds(pos1.id, pos2.id);
|
final ArrayList<PlotId> selection = PlayerFunctions.getPlotSelectionIds(pos1.id, pos2.id);
|
||||||
String worldname = world.getName();
|
|
||||||
for (PlotId id : selection) {
|
for (PlotId id : selection) {
|
||||||
DBFunc.movePlot(world.getName(), new PlotId(id.x, id.y), new PlotId(id.x + offset_x, id.y + offset_y));
|
DBFunc.movePlot(world, new PlotId(id.x, id.y), new PlotId(id.x + offset_x, id.y + offset_y));
|
||||||
Plot plot = PlotSquared.getPlots(worldname).get(id);
|
Plot plot = PlotSquared.getPlots(world).get(id);
|
||||||
PlotSquared.getPlots(worldname).remove(id);
|
PlotSquared.getPlots(world).remove(id);
|
||||||
plot.id.x += offset_x;
|
plot.id.x += offset_x;
|
||||||
plot.id.y += offset_y;
|
plot.id.y += offset_y;
|
||||||
PlotSquared.getPlots(worldname).put(plot.id, plot);
|
PlotSquared.getPlots(world).put(plot.id, plot);
|
||||||
}
|
}
|
||||||
ChunkManager.copyRegion(bot1, top, bot2, new Runnable() {
|
ChunkManager.copyRegion(bot1, top, bot2, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
@ -918,7 +921,7 @@ import com.intellectualcrafters.plot.util.bukkit.BukkitUtil;
|
|||||||
if (PlotSquared.getPlots(world).containsKey(id)) {
|
if (PlotSquared.getPlots(world).containsKey(id)) {
|
||||||
return PlotSquared.getPlots(world).get(id);
|
return PlotSquared.getPlots(world).get(id);
|
||||||
}
|
}
|
||||||
return new Plot(id, null, Biome.FOREST, new ArrayList<UUID>(), new ArrayList<UUID>(), world.getName());
|
return new Plot(id, null, Biome.FOREST, new ArrayList<UUID>(), new ArrayList<UUID>(), world);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -936,6 +939,6 @@ import com.intellectualcrafters.plot.util.bukkit.BukkitUtil;
|
|||||||
if (PlotSquared.getPlots(loc.getWorld()).containsKey(id)) {
|
if (PlotSquared.getPlots(loc.getWorld()).containsKey(id)) {
|
||||||
return PlotSquared.getPlots(loc.getWorld()).get(id);
|
return PlotSquared.getPlots(loc.getWorld()).get(id);
|
||||||
}
|
}
|
||||||
return new Plot(id, null, Biome.FOREST, new ArrayList<UUID>(), new ArrayList<UUID>(), loc.getWorld().getName());
|
return new Plot(id, null, Biome.FOREST, new ArrayList<UUID>(), new ArrayList<UUID>(), loc.getWorld());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -102,6 +102,10 @@ public class BukkitUtil extends BlockManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void refreshChunk(String world, int x, int z) {
|
||||||
|
getWorld(world).refreshChunk(x, z);
|
||||||
|
}
|
||||||
|
|
||||||
public static PlotBlock getBlock(Location loc) {
|
public static PlotBlock getBlock(Location loc) {
|
||||||
World world = getWorld(loc.getWorld());
|
World world = getWorld(loc.getWorld());
|
||||||
Block block = world.getBlockAt(loc.getX(), loc.getY(), loc.getZ());
|
Block block = world.getBlockAt(loc.getX(), loc.getY(), loc.getZ());
|
||||||
|
Loading…
Reference in New Issue
Block a user