Compare commits

..

8 Commits

Author SHA1 Message Date
0ff33aff3c Remove static print out of legacy schematic URL
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-02-16 18:58:00 +01:00
3d56937f14 Update fawe to v2.9.0 (#4335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-12 22:18:56 +01:00
0f1c2cb4e4 Back to snapshot for development
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-02-12 20:32:46 +01:00
7b233c944a Release 7.3.4
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-02-12 20:24:23 +01:00
d9537ee9df Suppress errors due to failed getEntitySpawnReason implementation (#4334)
fix: suppress errors due to failed getEntitySpawnReason implementation
2024-02-12 18:32:27 +01:00
0de6887526 Avoid creating EntityDamageByEntityEvent (#4332) 2024-02-12 18:20:20 +01:00
a2e3274215 Introduce base plot count placeholder (#4328)
* Introduce base plot count placeholder

* add world-specific variant
2024-02-12 18:19:59 +01:00
b369683b9c fix: allow allay breeding (#4325)
move DUPLICATION to BREEDING
2024-02-12 18:19:44 +01:00
7 changed files with 22 additions and 33 deletions

View File

@ -779,7 +779,8 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
Iterator<Entity> iterator = entities.iterator(); Iterator<Entity> iterator = entities.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
Entity entity = iterator.next(); Entity entity = iterator.next();
if (PaperLib.isPaper() && "CUSTOM".equals(entity.getEntitySpawnReason().name())) { //noinspection ConstantValue - getEntitySpawnReason annotated as NotNull, but is not NotNull. lol.
if (PaperLib.isPaper() && entity.getEntitySpawnReason() != null && "CUSTOM".equals(entity.getEntitySpawnReason().name())) {
continue; continue;
} }
// Fallback for Spigot not having Entity#getEntitySpawnReason // Fallback for Spigot not having Entity#getEntitySpawnReason

View File

@ -56,6 +56,7 @@ import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile; import org.bukkit.entity.Projectile;
import org.bukkit.entity.TNTPrimed; import org.bukkit.entity.TNTPrimed;
import org.bukkit.entity.Vehicle; import org.bukkit.entity.Vehicle;
import org.bukkit.event.Cancellable;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
@ -98,37 +99,25 @@ public class EntityEventListener implements Listener {
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void onEntityCombustByEntity(EntityCombustByEntityEvent event) { public void onEntityCombustByEntity(EntityCombustByEntityEvent event) {
EntityDamageByEntityEvent eventChange = onEntityDamageByEntityCommon(event.getCombuster(), event.getEntity(), EntityDamageEvent.DamageCause.FIRE_TICK, event);
new EntityDamageByEntityEvent(
event.getCombuster(),
event.getEntity(),
EntityDamageEvent.DamageCause.FIRE_TICK,
event.getDuration()
);
onEntityDamageByEntityEvent(eventChange);
if (eventChange.isCancelled()) {
event.setCancelled(true);
}
} }
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void onEntityDamageByEntityEvent(EntityDamageByEntityEvent event) { public void onEntityDamageByEntityEvent(EntityDamageByEntityEvent event) {
Entity damager = event.getDamager(); onEntityDamageByEntityCommon(event.getDamager(), event.getEntity(), event.getCause(), event);
}
private void onEntityDamageByEntityCommon(
final Entity damager,
final Entity victim,
final EntityDamageEvent.DamageCause cause,
final Cancellable event
) {
Location location = BukkitUtil.adapt(damager.getLocation()); Location location = BukkitUtil.adapt(damager.getLocation());
if (!this.plotAreaManager.hasPlotArea(location.getWorldName())) { if (!this.plotAreaManager.hasPlotArea(location.getWorldName())) {
return; return;
} }
Entity victim = event.getEntity(); if (!BukkitEntityUtil.entityDamage(damager, victim, cause)) {
/*
if (victim.getType().equals(EntityType.ITEM_FRAME)) {
Plot plot = BukkitUtil.getLocation(victim).getPlot();
if (plot != null && !plot.isAdded(damager.getUniqueId())) {
event.setCancelled(true);
return;
}
}
*/
if (!BukkitEntityUtil.entityDamage(damager, victim, event.getCause())) {
if (event.isCancelled()) { if (event.isCancelled()) {
if (victim instanceof Ageable ageable) { if (victim instanceof Ageable ageable) {
if (ageable.getAge() == -24000) { if (ageable.getAge() == -24000) {
@ -163,13 +152,13 @@ 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", "TRAP", "VILLAGE_DEFENSE", "VILLAGE_INVASION", "BEEHIVE", "CHUNK_GEN", "NETHER_PORTAL",
"DUPLICATION", "FROZEN", "SPELL", "DEFAULT" -> { "FROZEN", "SPELL", "DEFAULT" -> {
if (!area.isMobSpawning()) { if (!area.isMobSpawning()) {
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
} }
case "BREEDING" -> { case "BREEDING", "DUPLICATION" -> {
if (!area.isSpawnBreeding()) { if (!area.isSpawnBreeding()) {
event.setCancelled(true); event.setCancelled(true);
return; return;

View File

@ -124,7 +124,8 @@ public class EntitySpawnListener implements Listener {
return; return;
} }
if (PaperLib.isPaper()) { if (PaperLib.isPaper()) {
if (area.isSpawnCustom() && "CUSTOM".equals(entity.getEntitySpawnReason().name())) { //noinspection ConstantValue - getEntitySpawnReason annotated as NotNull, but is not NotNull. lol.
if (area.isSpawnCustom() && entity.getEntitySpawnReason() != null && "CUSTOM".equals(entity.getEntitySpawnReason().name())) {
return; return;
} }
} }

View File

@ -20,7 +20,6 @@ package com.plotsquared.core.command;
import com.google.inject.Inject; import com.google.inject.Inject;
import com.plotsquared.core.configuration.Settings; import com.plotsquared.core.configuration.Settings;
import com.plotsquared.core.configuration.caption.StaticCaption;
import com.plotsquared.core.configuration.caption.TranslatableCaption; import com.plotsquared.core.configuration.caption.TranslatableCaption;
import com.plotsquared.core.permissions.Permission; import com.plotsquared.core.permissions.Permission;
import com.plotsquared.core.player.PlotPlayer; import com.plotsquared.core.player.PlotPlayer;
@ -202,7 +201,6 @@ public class Download extends SubCommand {
.tag("delete", Tag.preProcessParsed("Not available")) .tag("delete", Tag.preProcessParsed("Not available"))
.build() .build()
); );
player.sendMessage(StaticCaption.of(value.toString()));
} }
} }
)); ));

View File

@ -1455,7 +1455,7 @@ public abstract class PlotArea implements ComponentLike {
/** /**
* Get the maximum height that changes to plot components (wall filling, air, all etc.) may operate to * Get the maximum height that changes to plot components (wall filling, air, all etc.) may operate to
* *
* @since TODO * @since 7.3.4
*/ */
public int getMaxComponentHeight() { public int getMaxComponentHeight() {
return this.maxBuildHeight; return this.maxBuildHeight;
@ -1464,7 +1464,7 @@ public abstract class PlotArea implements ComponentLike {
/** /**
* Get the minimum height that changes to plot components (wall filling, air, all etc.) may operate to * Get the minimum height that changes to plot components (wall filling, air, all etc.) may operate to
* *
* @since TODO * @since 7.3.4
*/ */
public int getMinComponentHeight() { public int getMinComponentHeight() {
return this.minBuildHeight; return this.minBuildHeight;

View File

@ -22,7 +22,7 @@ plugins {
} }
group = "com.intellectualsites.plotsquared" group = "com.intellectualsites.plotsquared"
version = "7.3.4-SNAPSHOT" version = "7.3.5-SNAPSHOT"
if (!File("$rootDir/.git").exists()) { if (!File("$rootDir/.git").exists()) {
logger.lifecycle(""" logger.lifecycle("""

View File

@ -13,7 +13,7 @@ log4j = "2.19.0"
# Plugins # Plugins
worldedit = "7.2.18" worldedit = "7.2.18"
fawe = "2.8.4" fawe = "2.9.0"
placeholderapi = "2.11.5" placeholderapi = "2.11.5"
luckperms = "5.4" luckperms = "5.4"
essentialsx = "2.20.1" essentialsx = "2.20.1"