Compare commits

..

2 Commits

Author SHA1 Message Date
59a8fe5d6f powder snow is 1.17+ 2022-08-04 16:36:24 +02:00
ec51a60d80 replace usages of snow tag 2022-08-03 20:07:19 +02:00
2 changed files with 32 additions and 10 deletions

View File

@ -656,15 +656,20 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
final @NonNull SQLiteUUIDService sqLiteUUIDService,
final @NonNull CacheUUIDService cacheUUIDService
) {
// Record all unique UUID's and put them into a queue
final Set<UUID> uuidSet = new HashSet<>();
// Load all uuids into a big chunky boi queue
final Queue<UUID> uuidQueue = new LinkedBlockingQueue<>();
PlotSquared.get().forEachPlotRaw(plot -> {
uuidSet.add(plot.getOwnerAbs());
uuidSet.addAll(plot.getMembers());
uuidSet.addAll(plot.getTrusted());
uuidSet.addAll(plot.getDenied());
final Set<UUID> uuids = new HashSet<>();
uuids.add(plot.getOwnerAbs());
uuids.addAll(plot.getMembers());
uuids.addAll(plot.getTrusted());
uuids.addAll(plot.getDenied());
for (final UUID uuid : uuids) {
if (!uuidQueue.contains(uuid)) {
uuidQueue.add(uuid);
}
}
});
final Queue<UUID> uuidQueue = new LinkedBlockingQueue<>(uuidSet);
LOGGER.info("(UUID) {} UUIDs will be cached", uuidQueue.size());

View File

@ -121,6 +121,23 @@ public class BlockEventListener implements Listener {
Material.TURTLE_EGG,
Material.TURTLE_SPAWN_EGG
);
private static final Set<Material> SNOW; // needed as Tag.SNOW isn't present in 1.16.5
static {
if (PlotSquared.platform().serverVersion()[1] < 17) {
SNOW = Set.of(
Material.SNOW,
Material.SNOW_BLOCK
);
} else {
SNOW = Set.of(
Material.SNOW,
Material.SNOW_BLOCK,
Material.POWDER_SNOW // only since 1.17
);
}
}
private final PlotAreaManager plotAreaManager;
private final WorldEdit worldEdit;
@ -529,7 +546,7 @@ public class BlockEventListener implements Listener {
event.setCancelled(true);
return;
}
if (Tag.SNOW.isTagged(event.getNewState().getType())) {
if (SNOW.contains(event.getNewState().getType())) {
if (!plot.getFlag(SnowFormFlag.class)) {
plot.debug("Snow could not form because snow-form = false");
event.setCancelled(true);
@ -561,7 +578,7 @@ public class BlockEventListener implements Listener {
return;
}
Class<? extends BooleanFlag<?>> flag;
if (Tag.SNOW.isTagged(event.getNewState().getType())) {
if (SNOW.contains(event.getNewState().getType())) {
flag = SnowFormFlag.class;
} else if (Tag.ICE.isTagged(event.getNewState().getType())) {
flag = IceFormFlag.class;
@ -678,7 +695,7 @@ public class BlockEventListener implements Listener {
}
return;
}
if (Tag.SNOW.isTagged(blockType)) {
if (SNOW.contains(blockType)) {
if (!plot.getFlag(SnowMeltFlag.class)) {
plot.debug("Snow could not melt because snow-melt = false");
event.setCancelled(true);