mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-04 06:34:42 +02:00
Compare commits
2 Commits
7.3.4
...
feature/ba
Author | SHA1 | Date | |
---|---|---|---|
9de1ea8232 | |||
2f64af7ebb |
@ -779,8 +779,7 @@ 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();
|
||||||
//noinspection ConstantValue - getEntitySpawnReason annotated as NotNull, but is not NotNull. lol.
|
if (PaperLib.isPaper() && "CUSTOM".equals(entity.getEntitySpawnReason().name())) {
|
||||||
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
|
||||||
|
@ -56,7 +56,6 @@ 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;
|
||||||
@ -99,25 +98,37 @@ public class EntityEventListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onEntityCombustByEntity(EntityCombustByEntityEvent event) {
|
public void onEntityCombustByEntity(EntityCombustByEntityEvent event) {
|
||||||
onEntityDamageByEntityCommon(event.getCombuster(), event.getEntity(), EntityDamageEvent.DamageCause.FIRE_TICK, event);
|
EntityDamageByEntityEvent eventChange =
|
||||||
|
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) {
|
||||||
onEntityDamageByEntityCommon(event.getDamager(), event.getEntity(), event.getCause(), event);
|
Entity damager = event.getDamager();
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
if (!BukkitEntityUtil.entityDamage(damager, victim, cause)) {
|
Entity victim = event.getEntity();
|
||||||
|
/*
|
||||||
|
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) {
|
||||||
@ -152,13 +163,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",
|
||||||
"FROZEN", "SPELL", "DEFAULT" -> {
|
"DUPLICATION", "FROZEN", "SPELL", "DEFAULT" -> {
|
||||||
if (!area.isMobSpawning()) {
|
if (!area.isMobSpawning()) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "BREEDING", "DUPLICATION" -> {
|
case "BREEDING" -> {
|
||||||
if (!area.isSpawnBreeding()) {
|
if (!area.isSpawnBreeding()) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
|
@ -124,8 +124,7 @@ public class EntitySpawnListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (PaperLib.isPaper()) {
|
if (PaperLib.isPaper()) {
|
||||||
//noinspection ConstantValue - getEntitySpawnReason annotated as NotNull, but is not NotNull. lol.
|
if (area.isSpawnCustom() && "CUSTOM".equals(entity.getEntitySpawnReason().name())) {
|
||||||
if (area.isSpawnCustom() && entity.getEntitySpawnReason() != null && "CUSTOM".equals(entity.getEntitySpawnReason().name())) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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 7.3.4
|
* @since TODO
|
||||||
*/
|
*/
|
||||||
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 7.3.4
|
* @since TODO
|
||||||
*/
|
*/
|
||||||
public int getMinComponentHeight() {
|
public int getMinComponentHeight() {
|
||||||
return this.minBuildHeight;
|
return this.minBuildHeight;
|
||||||
|
@ -22,7 +22,7 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group = "com.intellectualsites.plotsquared"
|
group = "com.intellectualsites.plotsquared"
|
||||||
version = "7.3.4"
|
version = "7.3.4-SNAPSHOT"
|
||||||
|
|
||||||
if (!File("$rootDir/.git").exists()) {
|
if (!File("$rootDir/.git").exists()) {
|
||||||
logger.lifecycle("""
|
logger.lifecycle("""
|
||||||
|
Reference in New Issue
Block a user