diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/skills/SkillFarming.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/skills/SkillFarming.kt index 178afc9..22da40b 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/skills/SkillFarming.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/skills/SkillFarming.kt @@ -4,6 +4,7 @@ import com.willfp.eco.util.BlockUtils import com.willfp.ecoskills.giveSkillExperience import com.willfp.ecoskills.skills.Skill import org.bukkit.Material +import org.bukkit.block.BlockFace import org.bukkit.block.data.Ageable import org.bukkit.event.EventHandler import org.bukkit.event.EventPriority @@ -14,6 +15,10 @@ class SkillFarming : Skill( "farming" ) { private val rewards: MutableMap + private val stackedCrops = listOf( + Material.SUGAR_CANE, + Material.BAMBOO + ) init { rewards = EnumMap(org.bukkit.Material::class.java) @@ -60,6 +65,16 @@ class SkillFarming : Skill( val toGive = rewards[type] ?: return - player.giveSkillExperience(this, toGive) + var amount = 1 + + if (type in stackedCrops) { + var current = event.block.getRelative(BlockFace.UP) + while (current.type == type) { + amount++ + current = current.getRelative(BlockFace.UP) + } + } + + player.giveSkillExperience(this, toGive*amount) } }