Compare commits

..

1 Commits

Author SHA1 Message Date
932b7d1a4e fix: add missing method in UncheckedWorldLocation
- Allows single plot worlds to be generated
2023-07-16 14:47:16 +01:00
4 changed files with 22 additions and 10 deletions

View File

@ -152,8 +152,7 @@ public class EntityEventListener implements Listener {
}
}
case "REINFORCEMENTS", "NATURAL", "MOUNT", "PATROL", "RAID", "SHEARED", "SILVERFISH_BLOCK", "ENDER_PEARL",
"TRAP", "VILLAGE_DEFENSE", "VILLAGE_INVASION", "BEEHIVE", "CHUNK_GEN", "NETHER_PORTAL", "DEFAULT",
"DUPLICATION", "FROZEN", "SPELL" -> {
"TRAP", "VILLAGE_DEFENSE", "VILLAGE_INVASION", "BEEHIVE", "CHUNK_GEN" -> {
if (!area.isMobSpawning()) {
event.setCancelled(true);
return;

View File

@ -562,7 +562,7 @@ public class HybridPlotWorld extends ClassicPlotWorld {
* Get the y value where the plot schematic should be pasted from.
*
* @return plot schematic y start value
* @since 7.0.0
* @since TODO
*/
public int getPlotYStart() {
return SCHEM_Y + plotY;
@ -572,7 +572,7 @@ public class HybridPlotWorld extends ClassicPlotWorld {
* Get the y value where the road schematic should be pasted from.
*
* @return road schematic y start value
* @since 7.0.0
* @since TODO
*/
public int getRoadYStart() {
return SCHEM_Y + roadY;

View File

@ -60,6 +60,19 @@ public final class UncheckedWorldLocation extends Location {
return new UncheckedWorldLocation(world, x, y, z);
}
/**
* Construct a new location with yaw and pitch equal to 0
*
* @param world World
* @param loc Coordinates
* @return New location
* @since 6.9.0
*/
@DoNotUse
public static @NonNull UncheckedWorldLocation at(final @NonNull String world, BlockVector3 loc) {
return new UncheckedWorldLocation(world, loc.getX(), loc.getY(), loc.getZ());
}
@Override
@DoNotUse
public @NonNull String getWorldName() {

View File

@ -180,7 +180,8 @@ public abstract class PlotArea implements ComponentLike {
this.worldConfiguration = worldConfiguration;
}
private static void parseFlags(FlagContainer flagContainer, List<String> flagStrings) {
private static Collection<PlotFlag<?, ?>> parseFlags(List<String> flagStrings) {
final Collection<PlotFlag<?, ?>> flags = new ArrayList<>();
for (final String key : flagStrings) {
final String[] split;
if (key.contains(";")) {
@ -192,7 +193,7 @@ public abstract class PlotArea implements ComponentLike {
GlobalFlagContainer.getInstance().getFlagFromString(split[0]);
if (flagInstance != null) {
try {
flagContainer.addFlag(flagInstance.parse(split[1]));
flags.add(flagInstance.parse(split[1]));
} catch (final FlagParseException e) {
LOGGER.warn(
"Failed to parse default flag with key '{}' and value '{}'. "
@ -203,10 +204,9 @@ public abstract class PlotArea implements ComponentLike {
);
e.printStackTrace();
}
} else {
flagContainer.addUnknownFlag(split[0], split[1]);
}
}
return flags;
}
@NonNull
@ -405,7 +405,7 @@ public abstract class PlotArea implements ComponentLike {
}
}
}
parseFlags(this.getFlagContainer(), flags);
this.getFlagContainer().addAll(parseFlags(flags));
ConsolePlayer.getConsole().sendMessage(
TranslatableCaption.of("flags.area_flags"),
TagResolver.resolver("flags", Tag.inserting(Component.text(flags.toString())))
@ -427,7 +427,7 @@ public abstract class PlotArea implements ComponentLike {
}
}
this.roadFlags = roadflags.size() > 0;
parseFlags(this.getRoadFlagContainer(), roadflags);
this.getRoadFlagContainer().addAll(parseFlags(roadflags));
ConsolePlayer.getConsole().sendMessage(
TranslatableCaption.of("flags.road_flags"),
TagResolver.resolver("flags", Tag.inserting(Component.text(roadflags.toString())))