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", case "REINFORCEMENTS", "NATURAL", "MOUNT", "PATROL", "RAID", "SHEARED", "SILVERFISH_BLOCK", "ENDER_PEARL",
"TRAP", "VILLAGE_DEFENSE", "VILLAGE_INVASION", "BEEHIVE", "CHUNK_GEN", "NETHER_PORTAL", "DEFAULT", "TRAP", "VILLAGE_DEFENSE", "VILLAGE_INVASION", "BEEHIVE", "CHUNK_GEN" -> {
"DUPLICATION", "FROZEN", "SPELL" -> {
if (!area.isMobSpawning()) { if (!area.isMobSpawning()) {
event.setCancelled(true); event.setCancelled(true);
return; return;

View File

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

View File

@ -60,6 +60,19 @@ public final class UncheckedWorldLocation extends Location {
return new UncheckedWorldLocation(world, x, y, z); 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 @Override
@DoNotUse @DoNotUse
public @NonNull String getWorldName() { public @NonNull String getWorldName() {

View File

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