mirror of
https://github.com/Artillex-Studios/AxMinions.git
synced 2025-02-10 00:11:30 +01:00
Add itemsadder support
This commit is contained in:
parent
8f1260f4ad
commit
ee7726100c
@ -122,6 +122,7 @@ allprojects {
|
||||
compileOnly 'com.github.angeschossen:LandsAPI:6.29.12'
|
||||
compileOnly 'com.intellectualsites.plotsquared:plotsquared-core:7.0.0-rc.4'
|
||||
compileOnly 'com.intellectualsites.plotsquared:plotsquared-bukkit:7.0.0-rc.4'
|
||||
compileOnly 'com.github.LoneDev6:api-itemsadder:3.6.1'
|
||||
implementation platform('com.intellectualsites.bom:bom-newest:1.35')
|
||||
implementation("com.artillexstudios.axapi:axapi:1.4.23")
|
||||
implementation("net.byteflux:libby-bukkit:1.3.0")
|
||||
|
@ -35,6 +35,7 @@ class Integrations : Integrations {
|
||||
private var economyIntegration: EconomyIntegration? = null
|
||||
private val protectionIntegrations = com.artillexstudios.axminions.integrations.protection.ProtectionIntegrations()
|
||||
internal var kGeneratorsIntegration = false
|
||||
internal var itemsAdderIntegration = false
|
||||
|
||||
override fun getStackerIntegration(): StackerIntegration {
|
||||
return stackerIntegration
|
||||
@ -164,6 +165,12 @@ class Integrations : Integrations {
|
||||
Bukkit.getConsoleSender()
|
||||
.sendMessage(StringUtils.formatToString("<#33FF33>[AxMinions] Hooked into KGenerators!"))
|
||||
}
|
||||
|
||||
if (Bukkit.getPluginManager().getPlugin("ItemsAdder") != null) {
|
||||
itemsAdderIntegration = true
|
||||
Bukkit.getConsoleSender()
|
||||
.sendMessage(StringUtils.formatToString("<#33FF33>[AxMinions] Hooked into ItemsAdder!"))
|
||||
}
|
||||
}
|
||||
|
||||
override fun register(integration: Integration) {
|
||||
|
@ -8,6 +8,7 @@ import com.artillexstudios.axminions.api.utils.MinionUtils
|
||||
import com.artillexstudios.axminions.api.utils.fastFor
|
||||
import com.artillexstudios.axminions.api.warnings.Warnings
|
||||
import com.artillexstudios.axminions.minions.MinionTicker
|
||||
import dev.lone.itemsadder.api.CustomBlock
|
||||
import kotlin.math.roundToInt
|
||||
import org.bukkit.Material
|
||||
import org.bukkit.block.data.Ageable
|
||||
@ -56,6 +57,17 @@ class FarmerMinionType : MinionType("farmer", AxMinionsPlugin.INSTANCE.getResour
|
||||
LocationUtils.getAllBlocksInRadius(minion.getLocation(), minion.getRange(), false).fastFor { location ->
|
||||
val block = location.block
|
||||
|
||||
if (AxMinionsPlugin.integrations.itemsAdderIntegration) {
|
||||
val customBlock = CustomBlock.byAlreadyPlaced(block)
|
||||
if (customBlock !== null) {
|
||||
val blockDrops = customBlock.getLoot(minion.getTool(), false)
|
||||
size += blockDrops.size
|
||||
drops.addAll(blockDrops)
|
||||
customBlock.remove()
|
||||
return@fastFor
|
||||
}
|
||||
}
|
||||
|
||||
when (block.type) {
|
||||
Material.CACTUS, Material.SUGAR_CANE, Material.BAMBOO -> {
|
||||
MinionUtils.getPlant(block).fastFor {
|
||||
|
@ -10,6 +10,7 @@ import com.artillexstudios.axminions.api.utils.MinionUtils
|
||||
import com.artillexstudios.axminions.api.utils.fastFor
|
||||
import com.artillexstudios.axminions.api.warnings.Warnings
|
||||
import com.artillexstudios.axminions.minions.MinionTicker
|
||||
import dev.lone.itemsadder.api.CustomBlock
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.ExecutorService
|
||||
import java.util.concurrent.Executors
|
||||
@ -185,6 +186,19 @@ class MinerMinionType : MinionType("miner", AxMinionsPlugin.INSTANCE.getResource
|
||||
}
|
||||
}
|
||||
|
||||
if (AxMinionsPlugin.integrations.itemsAdderIntegration) {
|
||||
val block = CustomBlock.byAlreadyPlaced(location.block)
|
||||
if (block !== null) {
|
||||
val drops = block.getLoot(minion.getTool(), false)
|
||||
drops.forEach {
|
||||
amount += it.amount
|
||||
}
|
||||
minion.addToContainerOrDrop(drops)
|
||||
block.remove()
|
||||
return@fastFor
|
||||
}
|
||||
}
|
||||
|
||||
val isStoneGenerator = MinionUtils.isStoneGenerator(location)
|
||||
|
||||
if (isStoneGenerator) {
|
||||
|
Loading…
Reference in New Issue
Block a user