Merge remote-tracking branch 'origin/master' into develop

This commit is contained in:
Auxilor
2021-11-11 12:45:06 +00:00
3 changed files with 16 additions and 6 deletions

View File

@@ -104,7 +104,7 @@ class PacketWindowItems(plugin: EcoPlugin) : AbstractPacketAdapter(plugin, Packe
return false return false
} }
if (this.getPlugin().configYml.getBool("async-display.enabled")) { if (this.getPlugin().configYml.getBool("async-display.always-enabled")) {
return true return true
} }

View File

@@ -2,10 +2,13 @@ package com.willfp.eco.spigot.integrations.antigrief
import com.willfp.eco.core.EcoPlugin import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.core.integrations.antigrief.AntigriefWrapper import com.willfp.eco.core.integrations.antigrief.AntigriefWrapper
import me.angeschossen.lands.api.flags.Flags
import me.angeschossen.lands.api.integration.LandsIntegration import me.angeschossen.lands.api.integration.LandsIntegration
import org.bukkit.Location import org.bukkit.Location
import org.bukkit.block.Block import org.bukkit.block.Block
import org.bukkit.entity.Animals
import org.bukkit.entity.LivingEntity import org.bukkit.entity.LivingEntity
import org.bukkit.entity.Monster
import org.bukkit.entity.Player import org.bukkit.entity.Player
class AntigriefLands(private val plugin: EcoPlugin) : AntigriefWrapper { class AntigriefLands(private val plugin: EcoPlugin) : AntigriefWrapper {
@@ -15,7 +18,7 @@ class AntigriefLands(private val plugin: EcoPlugin) : AntigriefWrapper {
block: Block block: Block
): Boolean { ): Boolean {
val area = landsIntegration.getAreaByLoc(block.location) ?: return true val area = landsIntegration.getAreaByLoc(block.location) ?: return true
return area.isTrusted(player.uniqueId) return area.hasFlag(player, Flags.BLOCK_BREAK, false)
} }
override fun canCreateExplosion( override fun canCreateExplosion(
@@ -23,7 +26,7 @@ class AntigriefLands(private val plugin: EcoPlugin) : AntigriefWrapper {
location: Location location: Location
): Boolean { ): Boolean {
val area = landsIntegration.getAreaByLoc(location) ?: return true val area = landsIntegration.getAreaByLoc(location) ?: return true
return area.isTrusted(player.uniqueId) return area.hasFlag(player, Flags.ATTACK_PLAYER, false) && area.hasFlag(player, Flags.ATTACK_ANIMAL, false)
} }
override fun canPlaceBlock( override fun canPlaceBlock(
@@ -31,15 +34,22 @@ class AntigriefLands(private val plugin: EcoPlugin) : AntigriefWrapper {
block: Block block: Block
): Boolean { ): Boolean {
val area = landsIntegration.getAreaByLoc(block.location) ?: return true val area = landsIntegration.getAreaByLoc(block.location) ?: return true
return area.isTrusted(player.uniqueId) return area.hasFlag(player, Flags.BLOCK_PLACE, false)
} }
override fun canInjure( override fun canInjure(
player: Player, player: Player,
victim: LivingEntity victim: LivingEntity
): Boolean { ): Boolean {
val area = landsIntegration.getAreaByLoc(victim.location) ?: return true val area = landsIntegration.getAreaByLoc(victim.location) ?: return true
return area.isTrusted(player.uniqueId)
return when(victim) {
is Player -> area.hasFlag(player, Flags.ATTACK_PLAYER, false)
is Monster -> area.hasFlag(player, Flags.ATTACK_MONSTER, false)
is Animals -> area.hasFlag(player, Flags.ATTACK_MONSTER, false)
else -> area.isTrusted(player.uniqueId)
}
} }
override fun getPluginName(): String { override fun getPluginName(): String {

View File

@@ -48,7 +48,7 @@ display-frame-ttl: 17
# are experiencing severe display lag. # are experiencing severe display lag.
async-display: async-display:
# If async display should always be used. # If async display should always be used.
enabled: false always-enabled: false
# Log errors that occur in async processing. # Log errors that occur in async processing.
log-errors: true log-errors: true