Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user