mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-08-25 07:15:35 +02:00
Compare commits
1 Commits
feat/v7/ge
...
fix/v7/pla
Author | SHA1 | Date | |
---|---|---|---|
![]() |
6f36690bf2 |
@@ -435,11 +435,6 @@ public class Settings extends Config {
|
||||
|
||||
public static String SCHEMATICS = "schematics";
|
||||
public static String TEMPLATES = "templates";
|
||||
@Comment({"If schematics used for generation should be searched for in the path.schematics location",
|
||||
" - This settings exists and is `false` by default for backwards compatibility.",
|
||||
" - If false then generation schematics must be located in `schematics`",
|
||||
" - Schematics must still always be under GEN_ROAD_SCHEMATIC/<world> etc."})
|
||||
public static boolean USE_SCHEMATICS_PATH_FOR_GEN_SCHEMATICS = false;
|
||||
|
||||
}
|
||||
|
||||
|
@@ -140,8 +140,7 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
||||
@NonNull
|
||||
@Override
|
||||
protected PlotManager createManager() {
|
||||
return new HybridPlotManager(
|
||||
this, PlotSquared.platform().regionManager(),
|
||||
return new HybridPlotManager(this, PlotSquared.platform().regionManager(),
|
||||
PlotSquared.platform().injector().getInstance(ProgressSubscriberFactory.class)
|
||||
);
|
||||
}
|
||||
@@ -216,16 +215,15 @@ public class HybridPlotWorld extends ClassicPlotWorld {
|
||||
|
||||
// Try to determine root. This means that plot areas can have separate schematic
|
||||
// directories
|
||||
String schematicFolder = Settings.Paths.USE_SCHEMATICS_PATH_FOR_GEN_SCHEMATICS ? Settings.Paths.SCHEMATICS : "schematics";
|
||||
if (!(root =
|
||||
FileUtils.getFile(
|
||||
PlotSquared.platform().getDirectory(),
|
||||
schematicFolder + File.separator + "GEN_ROAD_SCHEMATIC" + File.separator + this.getWorldName() + File.separator + this.getId()
|
||||
"schematics/GEN_ROAD_SCHEMATIC/" + this.getWorldName() + "/" + this.getId()
|
||||
))
|
||||
.exists()) {
|
||||
root = FileUtils.getFile(
|
||||
PlotSquared.platform().getDirectory(),
|
||||
schematicFolder + File.separator + "GEN_ROAD_SCHEMATIC" + File.separator + this.getWorldName()
|
||||
"schematics/GEN_ROAD_SCHEMATIC/" + this.getWorldName()
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -614,16 +614,16 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
||||
PlotId id = plot.getId();
|
||||
int x = id.getX();
|
||||
int z = id.getY();
|
||||
ByteBuffer buffer = ByteBuffer.allocate(13);
|
||||
ByteBuffer buffer = ByteBuffer.allocate(14);
|
||||
buffer.putShort((short) x);
|
||||
buffer.putShort((short) z);
|
||||
Location location = getLocation();
|
||||
buffer.putInt(location.getX());
|
||||
buffer.put((byte) location.getY());
|
||||
buffer.putShort((short) location.getY());
|
||||
buffer.putInt(location.getZ());
|
||||
setPersistentMeta("quitLoc", buffer.array());
|
||||
} else if (hasPersistentMeta("quitLoc")) {
|
||||
removePersistentMeta("quitLoc");
|
||||
setPersistentMeta("quitLocV2", buffer.array());
|
||||
} else if (hasPersistentMeta("quitLocV2")) {
|
||||
removePersistentMeta("quitLocV2");
|
||||
}
|
||||
if (plot != null) {
|
||||
this.eventDispatcher.callLeave(this, plot);
|
||||
@@ -700,11 +700,18 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
||||
return;
|
||||
}
|
||||
PlotArea area = ((SinglePlotAreaManager) manager).getArea();
|
||||
boolean V2 = false;
|
||||
byte[] arr = PlotPlayer.this.getPersistentMeta("quitLoc");
|
||||
if (arr == null) {
|
||||
arr = PlotPlayer.this.getPersistentMeta("quitLocV2");
|
||||
if (arr == null) {
|
||||
return;
|
||||
}
|
||||
V2 = true;
|
||||
removePersistentMeta("quitLocV2");
|
||||
} else {
|
||||
removePersistentMeta("quitLoc");
|
||||
}
|
||||
|
||||
if (!getMeta("teleportOnLogin", true)) {
|
||||
return;
|
||||
@@ -714,7 +721,7 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
||||
final int plotZ = quitWorld.getShort();
|
||||
PlotId id = PlotId.of(plotX, plotZ);
|
||||
int x = quitWorld.getInt();
|
||||
int y = quitWorld.get() & 0xFF;
|
||||
int y = V2 ? quitWorld.getShort() : (quitWorld.get() & 0xFF);
|
||||
int z = quitWorld.getInt();
|
||||
Plot plot = area.getOwnedPlot(id);
|
||||
|
||||
@@ -748,10 +755,11 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
|
||||
}
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
e.printStackTrace();
|
||||
LOGGER.error("Error populating persistent meta for player {}", PlotPlayer.this.getName(), e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user