From b3dc322875e49cf33d9b773357bf670ac2a5382d Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Sun, 22 Mar 2026 21:31:54 -0400 Subject: [PATCH 1/9] Buff solar panel: 2 power/200 ticks, storage 4 Increases solar output to 12 power/min during daytime (up from 1/min), making 2-3 panels viable for running basic machines. --- .../com/coderjoe/atlas/power/block/SmallSolarPanel.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/com/coderjoe/atlas/power/block/SmallSolarPanel.kt b/src/main/kotlin/com/coderjoe/atlas/power/block/SmallSolarPanel.kt index 448de56..ddb3c5e 100644 --- a/src/main/kotlin/com/coderjoe/atlas/power/block/SmallSolarPanel.kt +++ b/src/main/kotlin/com/coderjoe/atlas/power/block/SmallSolarPanel.kt @@ -7,9 +7,9 @@ import com.coderjoe.atlas.core.PlacementType import com.coderjoe.atlas.power.PowerBlock import org.bukkit.Location -class SmallSolarPanel(location: Location) : PowerBlock(location, maxStorage = 1) { +class SmallSolarPanel(location: Location) : PowerBlock(location, maxStorage = 4) { override val canReceivePower: Boolean = false - override val updateIntervalTicks: Long = 1200L + override val updateIntervalTicks: Long = 200L companion object { const val BLOCK_ID = "atlas:small_solar_panel" @@ -19,7 +19,7 @@ class SmallSolarPanel(location: Location) : PowerBlock(location, maxStorage = 1) BlockDescriptor( baseBlockId = BLOCK_ID, displayName = "Small Solar Panel", - description = "Generator - produces 1 power/min during daytime", + description = "Generator - produces 2 power/10s during daytime", placementType = PlacementType.SIMPLE, additionalBlockIds = listOf(BLOCK_ID_FULL), constructor = { loc, _ -> SmallSolarPanel(loc) }, @@ -39,7 +39,7 @@ class SmallSolarPanel(location: Location) : PowerBlock(location, maxStorage = 1) val isDaytime = world.time in 0..12000 if (isDaytime) { - val generated = addPower(1) + val generated = addPower(2) if (generated > 0) { plugin.logger.atlasInfo( "SmallSolarPanel at ${location.coordinates} " + From 770661cea36753d8927e5e36318291ee74ce7eb6 Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Sun, 22 Mar 2026 21:32:07 -0400 Subject: [PATCH 2/9] Reduce lava generator storage from 50 to 20 Lower internal buffer makes batteries important as external buffers while keeping generation rate (5 power/lava) unchanged. --- src/main/kotlin/com/coderjoe/atlas/power/block/LavaGenerator.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/com/coderjoe/atlas/power/block/LavaGenerator.kt b/src/main/kotlin/com/coderjoe/atlas/power/block/LavaGenerator.kt index 5ea0d47..b356301 100644 --- a/src/main/kotlin/com/coderjoe/atlas/power/block/LavaGenerator.kt +++ b/src/main/kotlin/com/coderjoe/atlas/power/block/LavaGenerator.kt @@ -11,7 +11,7 @@ import com.coderjoe.atlas.power.PowerBlock import org.bukkit.Location import org.bukkit.block.BlockFace -class LavaGenerator(location: Location) : PowerBlock(location, maxStorage = 50) { +class LavaGenerator(location: Location) : PowerBlock(location, maxStorage = 20) { override val canReceivePower: Boolean = false override val updateIntervalTicks: Long = 20L From bb509a37916cb9c7a4b2d3e69fe41a9b9b9a0545 Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Sun, 22 Mar 2026 21:33:00 -0400 Subject: [PATCH 3/9] Buff battery storage to 50, fluid container to 20 Battery now holds 25 smelts or 6 drill ops, serving as a real buffer. Fluid container doubled to support lava generator chains better. Visual thresholds updated to match new capacities. --- .../com/coderjoe/atlas/fluid/block/FluidContainer.kt | 6 +++--- .../kotlin/com/coderjoe/atlas/power/block/SmallBattery.kt | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/com/coderjoe/atlas/fluid/block/FluidContainer.kt b/src/main/kotlin/com/coderjoe/atlas/fluid/block/FluidContainer.kt index 028cab7..4024eda 100644 --- a/src/main/kotlin/com/coderjoe/atlas/fluid/block/FluidContainer.kt +++ b/src/main/kotlin/com/coderjoe/atlas/fluid/block/FluidContainer.kt @@ -19,7 +19,7 @@ class FluidContainer(location: Location, override val facing: BlockFace) : Fluid companion object { const val BLOCK_ID = "atlas:fluid_container" - const val MAX_CAPACITY = 10 + const val MAX_CAPACITY = 20 val descriptor = BlockDescriptor( @@ -62,8 +62,8 @@ class FluidContainer(location: Location, override val facing: BlockFace) : Fluid fun getFillLevel(): Int = when (storedAmount) { 0 -> 0 - in 1..3 -> 1 - in 4..7 -> 2 + in 1..6 -> 1 + in 7..13 -> 2 else -> 3 } diff --git a/src/main/kotlin/com/coderjoe/atlas/power/block/SmallBattery.kt b/src/main/kotlin/com/coderjoe/atlas/power/block/SmallBattery.kt index f9715e1..50cf784 100644 --- a/src/main/kotlin/com/coderjoe/atlas/power/block/SmallBattery.kt +++ b/src/main/kotlin/com/coderjoe/atlas/power/block/SmallBattery.kt @@ -9,7 +9,7 @@ import com.coderjoe.atlas.power.PowerBlockRegistry import org.bukkit.Location import org.bukkit.block.BlockFace -class SmallBattery(location: Location, facing: BlockFace) : PowerBlock(location, maxStorage = 10) { +class SmallBattery(location: Location, facing: BlockFace) : PowerBlock(location, maxStorage = 50) { override val facing: BlockFace = if (facing == BlockFace.SELF) BlockFace.DOWN else facing override val canReceivePower: Boolean = true @@ -25,7 +25,7 @@ class SmallBattery(location: Location, facing: BlockFace) : PowerBlock(location, BlockDescriptor( baseBlockId = BLOCK_ID, displayName = "Small Battery", - description = "Storage - holds up to 10 power", + description = "Storage - holds up to 50 power", placementType = PlacementType.SIMPLE, additionalBlockIds = listOf(BLOCK_ID_LOW, BLOCK_ID_MEDIUM, BLOCK_ID_FULL), constructor = { loc, facing -> SmallBattery(loc, facing) }, @@ -37,8 +37,8 @@ class SmallBattery(location: Location, facing: BlockFace) : PowerBlock(location, private fun chargeLevel(): Int = when (currentPower) { 0 -> 0 - in 1..3 -> 1 - in 4..7 -> 2 + in 1..16 -> 1 + in 17..33 -> 2 else -> 3 } From 8a322416eec4250da6b34dc83d3e4a4c5d54c5b0 Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Sun, 22 Mar 2026 21:34:46 -0400 Subject: [PATCH 4/9] Rebalance machine power costs and storage buffers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Crusher: 2→4 power (ore doubling warrants 2x smelting cost) Obsidian factory: 100→25 power (was absurdly expensive) Small drill: 10→8 power, storage 10→16 Soft touch drill: 50→20 power, storage 50→40 Auto smelter/cobble factory: storage 2→4 (slightly bigger buffer) --- .../atlas/utility/block/AutoSmelter.kt | 2 +- .../atlas/utility/block/CobblestoneFactory.kt | 2 +- .../coderjoe/atlas/utility/block/Crusher.kt | 88 +++++++++++++++++++ .../atlas/utility/block/ObsidianFactory.kt | 4 +- .../atlas/utility/block/SmallDrill.kt | 17 ++-- .../atlas/utility/block/SoftTouchDrill.kt | 32 +++++++ 6 files changed, 136 insertions(+), 9 deletions(-) create mode 100644 src/main/kotlin/com/coderjoe/atlas/utility/block/Crusher.kt create mode 100644 src/main/kotlin/com/coderjoe/atlas/utility/block/SoftTouchDrill.kt diff --git a/src/main/kotlin/com/coderjoe/atlas/utility/block/AutoSmelter.kt b/src/main/kotlin/com/coderjoe/atlas/utility/block/AutoSmelter.kt index afcb419..596186a 100644 --- a/src/main/kotlin/com/coderjoe/atlas/utility/block/AutoSmelter.kt +++ b/src/main/kotlin/com/coderjoe/atlas/utility/block/AutoSmelter.kt @@ -10,7 +10,7 @@ import org.bukkit.entity.Item import org.bukkit.inventory.FurnaceRecipe import org.bukkit.inventory.ItemStack -class AutoSmelter(location: Location, facing: BlockFace = BlockFace.NORTH) : PowerBlock(location, maxStorage = 2) { +class AutoSmelter(location: Location, facing: BlockFace = BlockFace.NORTH) : PowerBlock(location, maxStorage = 4) { override val canReceivePower: Boolean = true override val updateIntervalTicks: Long = 20L override val baseBlockId: String = BLOCK_ID diff --git a/src/main/kotlin/com/coderjoe/atlas/utility/block/CobblestoneFactory.kt b/src/main/kotlin/com/coderjoe/atlas/utility/block/CobblestoneFactory.kt index b9618f2..9430fc1 100644 --- a/src/main/kotlin/com/coderjoe/atlas/utility/block/CobblestoneFactory.kt +++ b/src/main/kotlin/com/coderjoe/atlas/utility/block/CobblestoneFactory.kt @@ -5,7 +5,7 @@ import com.coderjoe.atlas.core.PlacementType import org.bukkit.Location import org.bukkit.Material -class CobblestoneFactory(location: Location) : MaterialFactory(location, maxStorage = 2) { +class CobblestoneFactory(location: Location) : MaterialFactory(location, maxStorage = 4) { companion object { const val BLOCK_ID = "atlas:cobblestone_factory" const val BLOCK_ID_ACTIVE = "atlas:cobblestone_factory_active" diff --git a/src/main/kotlin/com/coderjoe/atlas/utility/block/Crusher.kt b/src/main/kotlin/com/coderjoe/atlas/utility/block/Crusher.kt new file mode 100644 index 0000000..3e79378 --- /dev/null +++ b/src/main/kotlin/com/coderjoe/atlas/utility/block/Crusher.kt @@ -0,0 +1,88 @@ +package com.coderjoe.atlas.utility.block + +import com.coderjoe.atlas.core.BlockDescriptor +import com.coderjoe.atlas.core.PlacementType +import com.coderjoe.atlas.power.PowerBlock +import org.bukkit.Location +import org.bukkit.Material +import org.bukkit.block.BlockFace +import org.bukkit.entity.Item +import org.bukkit.inventory.ItemStack + +class Crusher(location: Location, facing: BlockFace = BlockFace.NORTH) : PowerBlock(location, maxStorage = 8) { + override val canReceivePower: Boolean = true + override val updateIntervalTicks: Long = 20L + override val baseBlockId: String = BLOCK_ID + + var direction: BlockFace = if (facing == BlockFace.SELF) BlockFace.NORTH else facing + + override val facing: BlockFace get() = direction + + companion object { + const val BLOCK_ID = "atlas:crusher" + const val POWER_PER_CRUSH = 4 + private const val MOVE_DISTANCE = 1.0 + private const val DROP_AMOUNT = 2 + + val ORE_TO_DROP: Map = mapOf( + Material.IRON_ORE to Material.RAW_IRON, + Material.GOLD_ORE to Material.RAW_GOLD, + Material.COPPER_ORE to Material.RAW_COPPER, + Material.COAL_ORE to Material.COAL, + Material.DIAMOND_ORE to Material.DIAMOND, + Material.EMERALD_ORE to Material.EMERALD, + Material.LAPIS_ORE to Material.LAPIS_LAZULI, + Material.REDSTONE_ORE to Material.REDSTONE, + Material.DEEPSLATE_IRON_ORE to Material.RAW_IRON, + Material.DEEPSLATE_GOLD_ORE to Material.RAW_GOLD, + Material.DEEPSLATE_COPPER_ORE to Material.RAW_COPPER, + Material.DEEPSLATE_COAL_ORE to Material.COAL, + Material.DEEPSLATE_DIAMOND_ORE to Material.DIAMOND, + Material.DEEPSLATE_EMERALD_ORE to Material.EMERALD, + Material.DEEPSLATE_LAPIS_ORE to Material.LAPIS_LAZULI, + Material.DEEPSLATE_REDSTONE_ORE to Material.REDSTONE, + ) + + val descriptor = + BlockDescriptor( + baseBlockId = BLOCK_ID, + displayName = "Crusher", + description = "Crushes ore blocks into double the ores, consumes $POWER_PER_CRUSH power per item", + placementType = PlacementType.DIRECTIONAL, + constructor = { loc, face -> Crusher(loc, face) }, + ) + } + + override fun getVisualStateBlockId(): String = BLOCK_ID + + override fun powerUpdate() { + pullPowerFromNeighbors() + + val world = location.world ?: return + + val scanCenter = location.clone().add(0.5, 0.75, 0.5) + val nearbyItems = + world.getNearbyEntities(scanCenter, 0.5, 0.75, 0.5) + .filterIsInstance() + + if (nearbyItems.isEmpty()) return + + val dx = direction.direction.x * MOVE_DISTANCE + val dz = direction.direction.z * MOVE_DISTANCE + + for (item in nearbyItems) { + if (currentPower >= POWER_PER_CRUSH) { + val dropMaterial = ORE_TO_DROP[item.itemStack.type] + if (dropMaterial != null) { + removePower(POWER_PER_CRUSH) + val crushedStack = ItemStack(dropMaterial, item.itemStack.amount * DROP_AMOUNT) + item.itemStack = crushedStack + } + } + + item.teleportAsync(item.location.add(dx, 0.0, dz)) + } + + updatePoweredState() + } +} diff --git a/src/main/kotlin/com/coderjoe/atlas/utility/block/ObsidianFactory.kt b/src/main/kotlin/com/coderjoe/atlas/utility/block/ObsidianFactory.kt index 02ef4eb..f8ad140 100644 --- a/src/main/kotlin/com/coderjoe/atlas/utility/block/ObsidianFactory.kt +++ b/src/main/kotlin/com/coderjoe/atlas/utility/block/ObsidianFactory.kt @@ -5,11 +5,11 @@ import com.coderjoe.atlas.core.PlacementType import org.bukkit.Location import org.bukkit.Material -class ObsidianFactory(location: Location) : MaterialFactory(location, maxStorage = 100) { +class ObsidianFactory(location: Location) : MaterialFactory(location, maxStorage = 50) { companion object { const val BLOCK_ID = "atlas:obsidian_factory" const val BLOCK_ID_ACTIVE = "atlas:obsidian_factory_active" - const val POWER_COST = 100 + const val POWER_COST = 25 val descriptor = BlockDescriptor( diff --git a/src/main/kotlin/com/coderjoe/atlas/utility/block/SmallDrill.kt b/src/main/kotlin/com/coderjoe/atlas/utility/block/SmallDrill.kt index 95b75b0..29e2fd3 100644 --- a/src/main/kotlin/com/coderjoe/atlas/utility/block/SmallDrill.kt +++ b/src/main/kotlin/com/coderjoe/atlas/utility/block/SmallDrill.kt @@ -6,13 +6,15 @@ import com.coderjoe.atlas.power.PowerBlock import org.bukkit.Location import org.bukkit.Material import org.bukkit.block.BlockFace +import org.bukkit.inventory.ItemStack -class SmallDrill(location: Location, facing: BlockFace? = null) : PowerBlock(location, maxStorage = 10) { +open class SmallDrill(location: Location, facing: BlockFace? = null, maxStorage: Int = 16) : PowerBlock(location, maxStorage) { override val canReceivePower: Boolean = true override val updateIntervalTicks: Long = 20L var miningDirection: BlockFace = if (facing == null || facing == BlockFace.SELF) BlockFace.DOWN else facing var enabled: Boolean = true + internal open val powerCost: Int = 8 companion object { const val BLOCK_ID = "atlas:small_drill" @@ -22,7 +24,7 @@ class SmallDrill(location: Location, facing: BlockFace? = null) : PowerBlock(loc BlockDescriptor( baseBlockId = BLOCK_ID, displayName = "Small Drill", - description = "Machine - consumes 10 power/s", + description = "Machine - consumes 8 power/s", placementType = PlacementType.DIRECTIONAL_OPPOSITE, constructor = { loc, facing -> SmallDrill(loc, facing) }, ) @@ -42,7 +44,7 @@ class SmallDrill(location: Location, facing: BlockFace? = null) : PowerBlock(loc pullPowerFromNeighbors() - if (currentPower < 10) return + if (currentPower < powerCost) return val world = location.world ?: return @@ -83,10 +85,15 @@ class SmallDrill(location: Location, facing: BlockFace? = null) : PowerBlock(loc } } + internal open fun getBlockDrops(block: org.bukkit.block.Block): Collection { + val tool = ItemStack(Material.DIAMOND_PICKAXE) + return block.getDrops(tool) + } + private fun mineBlock(block: org.bukkit.block.Block) { val world = location.world ?: return - removePower(10) - val drops = block.getDrops() + removePower(powerCost) + val drops = getBlockDrops(block) block.setType(Material.AIR, false) val dropLocation = location.clone().add(0.5, 1.0, 0.5) diff --git a/src/main/kotlin/com/coderjoe/atlas/utility/block/SoftTouchDrill.kt b/src/main/kotlin/com/coderjoe/atlas/utility/block/SoftTouchDrill.kt new file mode 100644 index 0000000..85ead29 --- /dev/null +++ b/src/main/kotlin/com/coderjoe/atlas/utility/block/SoftTouchDrill.kt @@ -0,0 +1,32 @@ +package com.coderjoe.atlas.utility.block + +import com.coderjoe.atlas.core.BlockDescriptor +import com.coderjoe.atlas.core.PlacementType +import org.bukkit.Location +import org.bukkit.block.BlockFace +import org.bukkit.inventory.ItemStack + +class SoftTouchDrill(location: Location, facing: BlockFace? = null) : SmallDrill(location, facing, maxStorage = 40) { + override val powerCost: Int = 20 + + companion object { + const val BLOCK_ID = "atlas:soft_touch_drill" + + val descriptor = + BlockDescriptor( + baseBlockId = BLOCK_ID, + displayName = "Soft Touch Drill", + description = "Machine - consumes 20 power/s, drops blocks in original form", + placementType = PlacementType.DIRECTIONAL_OPPOSITE, + constructor = { loc, facing -> SoftTouchDrill(loc, facing) }, + ) + } + + override val baseBlockId: String = BLOCK_ID + + override fun getVisualStateBlockId(): String = BLOCK_ID + + override fun getBlockDrops(block: org.bukkit.block.Block): Collection { + return listOf(ItemStack(block.type)) + } +} From 79e42f4b440f076042ef50c8ac98bbaf5f4634a7 Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Sun, 22 Mar 2026 21:35:26 -0400 Subject: [PATCH 5/9] Update crafting recipes for economy rebalance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lava generator: add blaze rod (gates behind Nether access) Crusher: add diamond (ore doubling is very powerful) Small battery: 1→3 copper ingots (matches 5x storage increase) Obsidian factory: add diamond (premium output deserves premium recipe) --- .../resources/atlas/configuration/crusher.yml | 172 ++++++++++++++++++ .../atlas/configuration/lava_generator.yml | 1 + .../atlas/configuration/obsidian_factory.yml | 1 + .../atlas/configuration/small_battery.yml | 2 + 4 files changed, 176 insertions(+) create mode 100644 src/main/resources/atlas/configuration/crusher.yml diff --git a/src/main/resources/atlas/configuration/crusher.yml b/src/main/resources/atlas/configuration/crusher.yml new file mode 100644 index 0000000..db53003 --- /dev/null +++ b/src/main/resources/atlas/configuration/crusher.yml @@ -0,0 +1,172 @@ +items: + atlas:crusher: + material: paper + data: + item-name: "Crusher" + model: minecraft:block/custom/crusher + behavior: + type: block_item + block: + loot: + template: default:loot_table/self + settings: + hardness: 4.0 + resistance: 4.0 + is-suffocating: true + is-redstone-conductor: false + push-reaction: push_only + tags: ["minecraft:mineable/pickaxe"] + sounds: + break: minecraft:block.metal.break + step: minecraft:block.metal.step + place: minecraft:block.metal.place + hit: minecraft:block.metal.hit + fall: minecraft:block.metal.fall + states: + properties: + facing: + type: horizontal_direction + default: north + powered: + type: boolean + default: false + appearances: + north: + auto-state: solid + model: + path: minecraft:block/custom/crusher + generation: + parent: minecraft:block/cube + textures: + north: minecraft:block/custom/crusher_front + south: minecraft:block/custom/crusher_back + east: minecraft:block/custom/crusher_side + west: minecraft:block/custom/crusher_side + up: minecraft:block/custom/crusher_top_north + down: minecraft:block/custom/crusher_housing + south: + auto-state: solid + model: + path: minecraft:block/custom/crusher_south + generation: + parent: minecraft:block/cube + textures: + north: minecraft:block/custom/crusher_back + south: minecraft:block/custom/crusher_front + east: minecraft:block/custom/crusher_side + west: minecraft:block/custom/crusher_side + up: minecraft:block/custom/crusher_top_south + down: minecraft:block/custom/crusher_housing + east: + auto-state: solid + model: + path: minecraft:block/custom/crusher_east + generation: + parent: minecraft:block/cube + textures: + north: minecraft:block/custom/crusher_side + south: minecraft:block/custom/crusher_side + east: minecraft:block/custom/crusher_front + west: minecraft:block/custom/crusher_back + up: minecraft:block/custom/crusher_top_east + down: minecraft:block/custom/crusher_housing + west: + auto-state: solid + model: + path: minecraft:block/custom/crusher_west + generation: + parent: minecraft:block/cube + textures: + north: minecraft:block/custom/crusher_side + south: minecraft:block/custom/crusher_side + east: minecraft:block/custom/crusher_back + west: minecraft:block/custom/crusher_front + up: minecraft:block/custom/crusher_top_west + down: minecraft:block/custom/crusher_housing + north_powered: + auto-state: solid + model: + path: minecraft:block/custom/crusher_powered + generation: + parent: minecraft:block/cube + textures: + north: minecraft:block/custom/crusher_front + south: minecraft:block/custom/crusher_back + east: minecraft:block/custom/crusher_side + west: minecraft:block/custom/crusher_side + up: minecraft:block/custom/crusher_top_active + down: minecraft:block/custom/crusher_housing + south_powered: + auto-state: solid + model: + path: minecraft:block/custom/crusher_south_powered + generation: + parent: minecraft:block/cube + textures: + north: minecraft:block/custom/crusher_back + south: minecraft:block/custom/crusher_front + east: minecraft:block/custom/crusher_side + west: minecraft:block/custom/crusher_side + up: minecraft:block/custom/crusher_top_active + down: minecraft:block/custom/crusher_housing + east_powered: + auto-state: solid + model: + path: minecraft:block/custom/crusher_east_powered + generation: + parent: minecraft:block/cube + textures: + north: minecraft:block/custom/crusher_side + south: minecraft:block/custom/crusher_side + east: minecraft:block/custom/crusher_front + west: minecraft:block/custom/crusher_back + up: minecraft:block/custom/crusher_top_active + down: minecraft:block/custom/crusher_housing + west_powered: + auto-state: solid + model: + path: minecraft:block/custom/crusher_west_powered + generation: + parent: minecraft:block/cube + textures: + north: minecraft:block/custom/crusher_side + south: minecraft:block/custom/crusher_side + east: minecraft:block/custom/crusher_back + west: minecraft:block/custom/crusher_front + up: minecraft:block/custom/crusher_top_active + down: minecraft:block/custom/crusher_housing + variants: + facing=north,powered=false: + appearance: north + facing=south,powered=false: + appearance: south + facing=east,powered=false: + appearance: east + facing=west,powered=false: + appearance: west + facing=north,powered=true: + appearance: north_powered + facing=south,powered=true: + appearance: south_powered + facing=east,powered=true: + appearance: east_powered + facing=west,powered=true: + appearance: west_powered + +recipes: + atlas:crusher: + type: shapeless + category: misc + unlock-on-ingredient-obtained: true + ingredients: + - minecraft:iron_ingot + - minecraft:iron_ingot + - minecraft:iron_ingot + - minecraft:redstone + - minecraft:redstone + - minecraft:redstone + - minecraft:piston + - minecraft:diamond + result: + id: atlas:crusher + count: 1 diff --git a/src/main/resources/atlas/configuration/lava_generator.yml b/src/main/resources/atlas/configuration/lava_generator.yml index 39a9681..71aa756 100644 --- a/src/main/resources/atlas/configuration/lava_generator.yml +++ b/src/main/resources/atlas/configuration/lava_generator.yml @@ -85,6 +85,7 @@ recipes: - minecraft:redstone - minecraft:redstone - minecraft:magma_block + - minecraft:blaze_rod result: id: atlas:lava_generator count: 1 diff --git a/src/main/resources/atlas/configuration/obsidian_factory.yml b/src/main/resources/atlas/configuration/obsidian_factory.yml index e87fa0f..9fc233e 100644 --- a/src/main/resources/atlas/configuration/obsidian_factory.yml +++ b/src/main/resources/atlas/configuration/obsidian_factory.yml @@ -85,6 +85,7 @@ recipes: - minecraft:redstone - minecraft:redstone - minecraft:obsidian + - minecraft:diamond result: id: atlas:obsidian_factory count: 1 diff --git a/src/main/resources/atlas/configuration/small_battery.yml b/src/main/resources/atlas/configuration/small_battery.yml index 7ef342a..55cae26 100644 --- a/src/main/resources/atlas/configuration/small_battery.yml +++ b/src/main/resources/atlas/configuration/small_battery.yml @@ -163,6 +163,8 @@ recipes: - minecraft:redstone - minecraft:redstone - minecraft:copper_ingot + - minecraft:copper_ingot + - minecraft:copper_ingot result: id: atlas:small_battery count: 1 From c628c2790567345bc4c2b5b88a4672c66b6e256e Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Sun, 22 Mar 2026 21:47:40 -0400 Subject: [PATCH 6/9] Update tests for economy rebalance values Align all test assertions with new power costs, storage capacities, and generation rates across solar panel, battery, lava generator, drills, crusher, factories, and fluid container. --- .../atlas/CrossSystemIntegrationTest.kt | 2 +- .../atlas/fluid/FluidContainerTest.kt | 16 +- .../coderjoe/atlas/power/LavaGeneratorTest.kt | 4 +- .../atlas/power/PowerBlockDialogTest.kt | 6 +- .../atlas/power/PowerBlockLogicTest.kt | 48 +-- .../power/PowerNetworkIntegrationTest.kt | 10 +- .../coderjoe/atlas/utility/AutoSmelterTest.kt | 8 +- .../atlas/utility/CobblestoneFactoryTest.kt | 4 +- .../com/coderjoe/atlas/utility/CrusherTest.kt | 316 ++++++++++++++++++ .../atlas/utility/ObsidianFactoryTest.kt | 18 +- .../atlas/utility/SmallDrillMiningTest.kt | 87 +++-- .../atlas/utility/SoftTouchDrillTest.kt | 115 +++++++ 12 files changed, 544 insertions(+), 90 deletions(-) create mode 100644 src/test/kotlin/com/coderjoe/atlas/utility/CrusherTest.kt create mode 100644 src/test/kotlin/com/coderjoe/atlas/utility/SoftTouchDrillTest.kt diff --git a/src/test/kotlin/com/coderjoe/atlas/CrossSystemIntegrationTest.kt b/src/test/kotlin/com/coderjoe/atlas/CrossSystemIntegrationTest.kt index c40e4e6..2ec20e2 100644 --- a/src/test/kotlin/com/coderjoe/atlas/CrossSystemIntegrationTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/CrossSystemIntegrationTest.kt @@ -133,7 +133,7 @@ class CrossSystemIntegrationTest { // Step 1: solar generates solar.callPowerUpdate() - assertEquals(1, solar.currentPower) + assertEquals(2, solar.currentPower) // Step 2: cable pulls from solar cable.callPowerUpdate() diff --git a/src/test/kotlin/com/coderjoe/atlas/fluid/FluidContainerTest.kt b/src/test/kotlin/com/coderjoe/atlas/fluid/FluidContainerTest.kt index 1df2472..20d532c 100644 --- a/src/test/kotlin/com/coderjoe/atlas/fluid/FluidContainerTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/fluid/FluidContainerTest.kt @@ -153,10 +153,10 @@ class FluidContainerTest { } @Test - fun `fill level 1 at 1 to 3`() { + fun `fill level 1 at 1 to 6`() { val container = FluidContainer(TestHelper.createLocation(), BlockFace.NORTH) - for (i in 1..3) { + for (i in 1..6) { container.storeFluid(FluidType.WATER) assertEquals( 1, @@ -167,22 +167,22 @@ class FluidContainerTest { } @Test - fun `fill level 2 at 4 to 7`() { + fun `fill level 2 at 7 to 13`() { val container = FluidContainer(TestHelper.createLocation(), BlockFace.NORTH) - repeat(4) { container.storeFluid(FluidType.WATER) } + repeat(7) { container.storeFluid(FluidType.WATER) } assertEquals(2, container.getFillLevel()) - repeat(3) { container.storeFluid(FluidType.WATER) } + repeat(6) { container.storeFluid(FluidType.WATER) } assertEquals(2, container.getFillLevel()) } @Test - fun `fill level 3 at 8 to 10`() { + fun `fill level 3 at 14 to 20`() { val container = FluidContainer(TestHelper.createLocation(), BlockFace.NORTH) - repeat(8) { container.storeFluid(FluidType.WATER) } + repeat(14) { container.storeFluid(FluidType.WATER) } assertEquals(3, container.getFillLevel()) - repeat(2) { container.storeFluid(FluidType.WATER) } + repeat(6) { container.storeFluid(FluidType.WATER) } assertEquals(3, container.getFillLevel()) } diff --git a/src/test/kotlin/com/coderjoe/atlas/power/LavaGeneratorTest.kt b/src/test/kotlin/com/coderjoe/atlas/power/LavaGeneratorTest.kt index 140ffa7..9ba097c 100644 --- a/src/test/kotlin/com/coderjoe/atlas/power/LavaGeneratorTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/power/LavaGeneratorTest.kt @@ -27,9 +27,9 @@ class LavaGeneratorTest { } @Test - fun `lava generator maxStorage is 50`() { + fun `lava generator maxStorage is 20`() { val gen = LavaGenerator(TestHelper.createLocation()) - assertEquals(50, gen.maxStorage) + assertEquals(20, gen.maxStorage) } @Test diff --git a/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockDialogTest.kt b/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockDialogTest.kt index 0a61790..6132a2c 100644 --- a/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockDialogTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockDialogTest.kt @@ -62,7 +62,7 @@ class PowerBlockDialogTest { @Test fun `power bar color green when ratio above 0_7`() { val battery = SmallBattery(TestHelper.createLocation(), BlockFace.NORTH) - battery.currentPower = 8 // 80% = green + battery.currentPower = 40 // 80% = green val info = buildPowerInfo(battery) val text = flattenText(info) assertTrue(text.contains("80%")) @@ -71,7 +71,7 @@ class PowerBlockDialogTest { @Test fun `power bar color yellow when ratio above 0_3`() { val battery = SmallBattery(TestHelper.createLocation(), BlockFace.NORTH) - battery.currentPower = 5 // 50% = yellow + battery.currentPower = 25 // 50% = yellow val info = buildPowerInfo(battery) val text = flattenText(info) assertTrue(text.contains("50%")) @@ -80,7 +80,7 @@ class PowerBlockDialogTest { @Test fun `power bar color red when ratio below 0_3`() { val battery = SmallBattery(TestHelper.createLocation(), BlockFace.NORTH) - battery.currentPower = 1 // 10% = red + battery.currentPower = 5 // 10% = red val info = buildPowerInfo(battery) val text = flattenText(info) assertTrue(text.contains("10%")) diff --git a/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockLogicTest.kt b/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockLogicTest.kt index 6aa89fe..fade5be 100644 --- a/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockLogicTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockLogicTest.kt @@ -26,7 +26,7 @@ class PowerBlockLogicTest { TestHelper.teardown() } - // --- PowerBlock base class (via SmallBattery, maxStorage=10) --- + // --- PowerBlock base class (via SmallBattery, maxStorage=50) --- @Test fun `addPower on empty block returns amount added`() { @@ -41,19 +41,19 @@ class PowerBlockLogicTest { fun `addPower caps at maxStorage`() { val block = SmallBattery(TestHelper.createLocation(), BlockFace.NORTH) - val added = block.addPower(15) - assertEquals(10, added) - assertEquals(10, block.currentPower) + val added = block.addPower(55) + assertEquals(50, added) + assertEquals(50, block.currentPower) } @Test fun `addPower with partial space returns space available`() { val block = SmallBattery(TestHelper.createLocation(), BlockFace.NORTH) - block.currentPower = 8 + block.currentPower = 48 val added = block.addPower(3) assertEquals(2, added) - assertEquals(10, block.currentPower) + assertEquals(50, block.currentPower) } @Test @@ -111,7 +111,7 @@ class PowerBlockLogicTest { fun `canAcceptPower returns false when full`() { val block = SmallBattery(TestHelper.createLocation(), BlockFace.NORTH) - block.currentPower = 10 + block.currentPower = 50 assertFalse(block.canAcceptPower()) } @@ -130,9 +130,9 @@ class PowerBlockLogicTest { } @Test - fun `solar panel maxStorage is 1`() { + fun `solar panel maxStorage is 4`() { val panel = SmallSolarPanel(TestHelper.createLocation()) - assertEquals(1, panel.maxStorage) + assertEquals(4, panel.maxStorage) } @Test @@ -159,7 +159,7 @@ class PowerBlockLogicTest { every { TestHelper.mockWorld.time } returns 6000L val panel = SmallSolarPanel(TestHelper.createLocation()) panel.callPowerUpdate() - assertEquals(1, panel.currentPower) + assertEquals(2, panel.currentPower) } @Test @@ -174,18 +174,18 @@ class PowerBlockLogicTest { fun `solar panel does not overflow past maxStorage`() { every { TestHelper.mockWorld.time } returns 6000L val panel = SmallSolarPanel(TestHelper.createLocation()) - panel.currentPower = 1 + panel.currentPower = 4 panel.callPowerUpdate() - assertEquals(1, panel.currentPower) + assertEquals(4, panel.currentPower) } // --- SmallBattery specifics --- @Test - fun `battery maxStorage is 10`() { + fun `battery maxStorage is 50`() { val battery = SmallBattery(TestHelper.createLocation(), BlockFace.NORTH) - assertEquals(10, battery.maxStorage) + assertEquals(50, battery.maxStorage) } @Test @@ -206,10 +206,10 @@ class PowerBlockLogicTest { } @Test - fun `battery visual state low when power 1-3`() { + fun `battery visual state low when power 1-16`() { val battery = SmallBattery(TestHelper.createLocation(), BlockFace.NORTH) - for (p in 1..3) { + for (p in 1..16) { battery.currentPower = p assertEquals( "atlas:small_battery_low", @@ -220,10 +220,10 @@ class PowerBlockLogicTest { } @Test - fun `battery visual state medium when power 4-7`() { + fun `battery visual state medium when power 17-33`() { val battery = SmallBattery(TestHelper.createLocation(), BlockFace.NORTH) - for (p in 4..7) { + for (p in 17..33) { battery.currentPower = p assertEquals( "atlas:small_battery_medium", @@ -234,10 +234,10 @@ class PowerBlockLogicTest { } @Test - fun `battery visual state full when power 8-10`() { + fun `battery visual state full when power 34-50`() { val battery = SmallBattery(TestHelper.createLocation(), BlockFace.NORTH) - for (p in 8..10) { + for (p in 34..50) { battery.currentPower = p assertEquals( "atlas:small_battery_full", @@ -363,9 +363,9 @@ class PowerBlockLogicTest { // --- SmallDrill specifics --- @Test - fun `drill maxStorage is 10`() { + fun `drill maxStorage is 16`() { val drill = SmallDrill(TestHelper.createLocation()) - assertEquals(10, drill.maxStorage) + assertEquals(16, drill.maxStorage) } @Test @@ -420,7 +420,7 @@ class PowerBlockLogicTest { every { TestHelper.mockWorld.time } returns 0L val panel = SmallSolarPanel(TestHelper.createLocation()) panel.callPowerUpdate() - assertEquals(1, panel.currentPower) + assertEquals(2, panel.currentPower) } @Test @@ -428,7 +428,7 @@ class PowerBlockLogicTest { every { TestHelper.mockWorld.time } returns 12000L val panel = SmallSolarPanel(TestHelper.createLocation()) panel.callPowerUpdate() - assertEquals(1, panel.currentPower) + assertEquals(2, panel.currentPower) } @Test diff --git a/src/test/kotlin/com/coderjoe/atlas/power/PowerNetworkIntegrationTest.kt b/src/test/kotlin/com/coderjoe/atlas/power/PowerNetworkIntegrationTest.kt index 7b6884a..91ce085 100644 --- a/src/test/kotlin/com/coderjoe/atlas/power/PowerNetworkIntegrationTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/power/PowerNetworkIntegrationTest.kt @@ -45,12 +45,12 @@ class PowerNetworkIntegrationTest { // Solar generates solar.callPowerUpdate() - assertEquals(1, solar.currentPower) + assertEquals(2, solar.currentPower) - // Cable pulls from solar + // Cable pulls from solar (cable maxStorage=1, so pulls 1) cable.callPowerUpdate() assertEquals(1, cable.currentPower) - assertEquals(0, solar.currentPower) + assertEquals(1, solar.currentPower) } @Test @@ -67,9 +67,9 @@ class PowerNetworkIntegrationTest { // Tick 1: solar generates solar.callPowerUpdate() - assertEquals(1, solar.currentPower) + assertEquals(2, solar.currentPower) - // Tick 1: cable1 pulls from solar + // Tick 1: cable1 pulls from solar (cable maxStorage=1) cable1.callPowerUpdate() assertEquals(1, cable1.currentPower) diff --git a/src/test/kotlin/com/coderjoe/atlas/utility/AutoSmelterTest.kt b/src/test/kotlin/com/coderjoe/atlas/utility/AutoSmelterTest.kt index c81fbed..f7f22cb 100644 --- a/src/test/kotlin/com/coderjoe/atlas/utility/AutoSmelterTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/utility/AutoSmelterTest.kt @@ -98,10 +98,10 @@ class AutoSmelterTest { } @Test - fun `max storage is 2`() { + fun `max storage is 4`() { val smelter = AutoSmelter(TestHelper.createLocation(), BlockFace.NORTH) - assertEquals(2, smelter.maxStorage) + assertEquals(4, smelter.maxStorage) } @Test @@ -265,7 +265,7 @@ class AutoSmelterTest { val registry = PowerBlockRegistry(TestHelper.mockPlugin) val smelterLoc = TestHelper.createLocation(0.0, 64.0, 0.0) val smelter = AutoSmelter(smelterLoc, BlockFace.NORTH) - smelter.currentPower = 2 + smelter.currentPower = 4 TestHelper.addToRegistry( registry, smelter, @@ -293,7 +293,7 @@ class AutoSmelterTest { smelter.callPowerUpdate() - assertEquals(2, smelter.currentPower) + assertEquals(4, smelter.currentPower) assertEquals(5, battery.currentPower) } } diff --git a/src/test/kotlin/com/coderjoe/atlas/utility/CobblestoneFactoryTest.kt b/src/test/kotlin/com/coderjoe/atlas/utility/CobblestoneFactoryTest.kt index 07db75e..f592f73 100644 --- a/src/test/kotlin/com/coderjoe/atlas/utility/CobblestoneFactoryTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/utility/CobblestoneFactoryTest.kt @@ -27,9 +27,9 @@ class CobblestoneFactoryTest { } @Test - fun `cobblestone generator maxStorage is 2`() { + fun `cobblestone generator maxStorage is 4`() { val gen = CobblestoneFactory(TestHelper.createLocation()) - assertEquals(2, gen.maxStorage) + assertEquals(4, gen.maxStorage) } @Test diff --git a/src/test/kotlin/com/coderjoe/atlas/utility/CrusherTest.kt b/src/test/kotlin/com/coderjoe/atlas/utility/CrusherTest.kt new file mode 100644 index 0000000..9b869ca --- /dev/null +++ b/src/test/kotlin/com/coderjoe/atlas/utility/CrusherTest.kt @@ -0,0 +1,316 @@ +package com.coderjoe.atlas.utility + +import com.coderjoe.atlas.TestHelper +import com.coderjoe.atlas.TestHelper.callPowerUpdate +import com.coderjoe.atlas.core.PlacementType +import com.coderjoe.atlas.power.PowerBlockFactory +import com.coderjoe.atlas.power.PowerBlockRegistry +import com.coderjoe.atlas.utility.block.Crusher +import io.mockk.every +import io.mockk.mockk +import io.mockk.verify +import org.bukkit.Location +import org.bukkit.Material +import org.bukkit.block.BlockFace +import org.bukkit.entity.Item +import org.bukkit.inventory.ItemStack +import org.junit.jupiter.api.AfterEach +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Assertions.assertDoesNotThrow +import org.junit.jupiter.api.Assertions.assertTrue +import org.junit.jupiter.api.BeforeEach +import org.junit.jupiter.api.Test +import java.util.concurrent.CompletableFuture + +class CrusherTest { + @BeforeEach + fun setup() { + TestHelper.setup() + } + + @AfterEach + fun teardown() { + TestHelper.teardown() + } + + @Test + fun `crusher has correct facing`() { + val crusher = Crusher(TestHelper.createLocation(), BlockFace.NORTH) + assertEquals(BlockFace.NORTH, crusher.facing) + } + + @Test + fun `crusher visual state always returns BLOCK_ID`() { + val crusher = Crusher(TestHelper.createLocation(), BlockFace.NORTH) + crusher.currentPower = 0 + assertEquals("atlas:crusher", crusher.getVisualStateBlockId()) + crusher.currentPower = 4 + assertEquals("atlas:crusher", crusher.getVisualStateBlockId()) + } + + @Test + fun `crusher base block ID is atlas crusher`() { + val crusher = Crusher(TestHelper.createLocation(), BlockFace.SOUTH) + assertEquals("atlas:crusher", crusher.baseBlockId) + } + + @Test + fun `crusher descriptor has correct properties`() { + val desc = Crusher.descriptor + assertEquals("atlas:crusher", desc.baseBlockId) + assertEquals("Crusher", desc.displayName) + assertEquals(PlacementType.DIRECTIONAL, desc.placementType) + } + + @Test + fun `max storage is 8`() { + val crusher = Crusher(TestHelper.createLocation(), BlockFace.NORTH) + assertEquals(8, crusher.maxStorage) + } + + @Test + fun `canReceivePower is true`() { + val crusher = Crusher(TestHelper.createLocation(), BlockFace.NORTH) + assertTrue(crusher.canAcceptPower()) + } + + @Test + fun `base ID is registered`() { + TestHelper.initPowerFactory() + assertTrue(PowerBlockFactory.isRegistered("atlas:crusher")) + } + + @Test + fun `factory creates Crusher from base ID`() { + TestHelper.initPowerFactory() + val block = + PowerBlockFactory.createPowerBlock( + "atlas:crusher", + TestHelper.createLocation(), + BlockFace.NORTH, + ) + assertTrue(block is Crusher) + assertEquals(BlockFace.NORTH, block!!.facing) + } + + @Test + fun `power update does not throw with no nearby entities`() { + PowerBlockRegistry(TestHelper.mockPlugin) + val crusher = Crusher(TestHelper.createLocation(), BlockFace.NORTH) + + every { + TestHelper.mockWorld.getNearbyEntities( + any(), any(), any(), any(), + ) + } returns emptyList() + + assertDoesNotThrow { + crusher.callPowerUpdate() + } + } + + @Test + fun `power update moves item forward without crushing when no power`() { + PowerBlockRegistry(TestHelper.mockPlugin) + val crusher = Crusher(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.NORTH) + crusher.currentPower = 0 + + val itemLoc = Location(TestHelper.mockWorld, 0.5, 64.375, 0.5) + val mockItem = mockk(relaxed = true) + val mockStack = mockk(relaxed = true) + every { mockItem.location } returns itemLoc + every { mockItem.itemStack } returns mockStack + every { mockStack.type } returns Material.IRON_ORE + every { mockItem.teleportAsync(any()) } returns CompletableFuture.completedFuture(true) + + every { + TestHelper.mockWorld.getNearbyEntities( + any(), any(), any(), any(), + ) + } returns listOf(mockItem) + + crusher.callPowerUpdate() + + verify { + mockItem.teleportAsync(match { loc -> loc.z < 0.5 && loc.x == 0.5 }) + } + assertEquals(0, crusher.currentPower) + } + + @Test + fun `power update moves item east`() { + PowerBlockRegistry(TestHelper.mockPlugin) + val crusher = Crusher(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.EAST) + crusher.currentPower = 0 + + val itemLoc = Location(TestHelper.mockWorld, 0.5, 64.375, 0.5) + val mockItem = mockk(relaxed = true) + val mockStack = mockk(relaxed = true) + every { mockItem.location } returns itemLoc + every { mockItem.itemStack } returns mockStack + every { mockStack.type } returns Material.STONE + every { mockItem.teleportAsync(any()) } returns CompletableFuture.completedFuture(true) + + every { + TestHelper.mockWorld.getNearbyEntities( + any(), any(), any(), any(), + ) + } returns listOf(mockItem) + + crusher.callPowerUpdate() + + verify { + mockItem.teleportAsync(match { loc -> loc.x > 0.5 && loc.z == 0.5 }) + } + } + + @Test + fun `crushes ore block item and consumes power`() { + PowerBlockRegistry(TestHelper.mockPlugin) + val crusher = Crusher(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.NORTH) + crusher.currentPower = 4 + + val itemLoc = Location(TestHelper.mockWorld, 0.5, 64.375, 0.5) + val mockItem = mockk(relaxed = true) + val mockStack = mockk(relaxed = true) + every { mockItem.location } returns itemLoc + every { mockItem.itemStack } returns mockStack + every { mockStack.type } returns Material.IRON_ORE + every { mockStack.amount } returns 1 + every { mockItem.teleportAsync(any()) } returns CompletableFuture.completedFuture(true) + + every { + TestHelper.mockWorld.getNearbyEntities( + any(), any(), any(), any(), + ) + } returns listOf(mockItem) + + try { + crusher.callPowerUpdate() + } catch (_: Throwable) { + // ItemStack constructor triggers Registry init + } + + assertEquals(0, crusher.currentPower) + } + + @Test + fun `does not crush non-ore items`() { + PowerBlockRegistry(TestHelper.mockPlugin) + val crusher = Crusher(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.NORTH) + crusher.currentPower = 4 + + val itemLoc = Location(TestHelper.mockWorld, 0.5, 64.375, 0.5) + val mockItem = mockk(relaxed = true) + val mockStack = mockk(relaxed = true) + every { mockItem.location } returns itemLoc + every { mockItem.itemStack } returns mockStack + every { mockStack.type } returns Material.COBBLESTONE + every { mockItem.teleportAsync(any()) } returns CompletableFuture.completedFuture(true) + + every { + TestHelper.mockWorld.getNearbyEntities( + any(), any(), any(), any(), + ) + } returns listOf(mockItem) + + crusher.callPowerUpdate() + + assertEquals(4, crusher.currentPower) + } + + @Test + fun `ore to drop mapping covers all ore types`() { + val mappings = Crusher.ORE_TO_DROP + assertTrue(mappings.containsKey(Material.IRON_ORE)) + assertTrue(mappings.containsKey(Material.GOLD_ORE)) + assertTrue(mappings.containsKey(Material.COPPER_ORE)) + assertTrue(mappings.containsKey(Material.COAL_ORE)) + assertTrue(mappings.containsKey(Material.DIAMOND_ORE)) + assertTrue(mappings.containsKey(Material.EMERALD_ORE)) + assertTrue(mappings.containsKey(Material.LAPIS_ORE)) + assertTrue(mappings.containsKey(Material.REDSTONE_ORE)) + assertTrue(mappings.containsKey(Material.DEEPSLATE_IRON_ORE)) + assertTrue(mappings.containsKey(Material.DEEPSLATE_GOLD_ORE)) + assertTrue(mappings.containsKey(Material.DEEPSLATE_COPPER_ORE)) + assertTrue(mappings.containsKey(Material.DEEPSLATE_COAL_ORE)) + assertTrue(mappings.containsKey(Material.DEEPSLATE_DIAMOND_ORE)) + assertTrue(mappings.containsKey(Material.DEEPSLATE_EMERALD_ORE)) + assertTrue(mappings.containsKey(Material.DEEPSLATE_LAPIS_ORE)) + assertTrue(mappings.containsKey(Material.DEEPSLATE_REDSTONE_ORE)) + } + + @Test + fun `iron ore drops raw iron`() { + assertEquals(Material.RAW_IRON, Crusher.ORE_TO_DROP[Material.IRON_ORE]) + } + + @Test + fun `gold ore drops raw gold`() { + assertEquals(Material.RAW_GOLD, Crusher.ORE_TO_DROP[Material.GOLD_ORE]) + } + + @Test + fun `copper ore drops raw copper`() { + assertEquals(Material.RAW_COPPER, Crusher.ORE_TO_DROP[Material.COPPER_ORE]) + } + + @Test + fun `coal ore drops coal`() { + assertEquals(Material.COAL, Crusher.ORE_TO_DROP[Material.COAL_ORE]) + } + + @Test + fun `diamond ore drops diamond`() { + assertEquals(Material.DIAMOND, Crusher.ORE_TO_DROP[Material.DIAMOND_ORE]) + } + + @Test + fun `pulls power from adjacent blocks`() { + val registry = PowerBlockRegistry(TestHelper.mockPlugin) + val crusherLoc = TestHelper.createLocation(0.0, 64.0, 0.0) + val crusher = Crusher(crusherLoc, BlockFace.NORTH) + TestHelper.addToRegistry(registry, crusher, "atlas:crusher") + + val batteryLoc = TestHelper.createLocation(1.0, 64.0, 0.0) + val battery = com.coderjoe.atlas.power.block.SmallBattery(batteryLoc, BlockFace.WEST) + battery.currentPower = 5 + TestHelper.addToRegistry(registry, battery, "atlas:small_battery") + + every { + TestHelper.mockWorld.getNearbyEntities( + any(), any(), any(), any(), + ) + } returns emptyList() + + crusher.callPowerUpdate() + + assertTrue(crusher.currentPower > 0) + assertTrue(battery.currentPower < 5) + } + + @Test + fun `does not exceed max storage when pulling power`() { + val registry = PowerBlockRegistry(TestHelper.mockPlugin) + val crusherLoc = TestHelper.createLocation(0.0, 64.0, 0.0) + val crusher = Crusher(crusherLoc, BlockFace.NORTH) + crusher.currentPower = 8 + TestHelper.addToRegistry(registry, crusher, "atlas:crusher") + + val batteryLoc = TestHelper.createLocation(1.0, 64.0, 0.0) + val battery = com.coderjoe.atlas.power.block.SmallBattery(batteryLoc, BlockFace.WEST) + battery.currentPower = 5 + TestHelper.addToRegistry(registry, battery, "atlas:small_battery") + + every { + TestHelper.mockWorld.getNearbyEntities( + any(), any(), any(), any(), + ) + } returns emptyList() + + crusher.callPowerUpdate() + + assertEquals(8, crusher.currentPower) + assertEquals(5, battery.currentPower) + } +} diff --git a/src/test/kotlin/com/coderjoe/atlas/utility/ObsidianFactoryTest.kt b/src/test/kotlin/com/coderjoe/atlas/utility/ObsidianFactoryTest.kt index cfb2af6..9bd26e9 100644 --- a/src/test/kotlin/com/coderjoe/atlas/utility/ObsidianFactoryTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/utility/ObsidianFactoryTest.kt @@ -27,9 +27,9 @@ class ObsidianFactoryTest { } @Test - fun `obsidian generator maxStorage is 100`() { + fun `obsidian generator maxStorage is 50`() { val gen = ObsidianFactory(TestHelper.createLocation()) - assertEquals(100, gen.maxStorage) + assertEquals(50, gen.maxStorage) } @Test @@ -41,7 +41,7 @@ class ObsidianFactoryTest { @Test fun `visual state idle when insufficient power`() { val gen = ObsidianFactory(TestHelper.createLocation()) - gen.currentPower = 99 + gen.currentPower = 24 assertEquals( "atlas:obsidian_factory", gen.getVisualStateBlockId(), @@ -51,7 +51,7 @@ class ObsidianFactoryTest { @Test fun `visual state active when power at cost`() { val gen = ObsidianFactory(TestHelper.createLocation()) - gen.currentPower = 100 + gen.currentPower = 25 assertEquals( "atlas:obsidian_factory_active", gen.getVisualStateBlockId(), @@ -65,7 +65,7 @@ class ObsidianFactoryTest { val genLoc = TestHelper.createLocation(0.0, 64.0, 0.0) val gen = ObsidianFactory(genLoc) - gen.currentPower = 100 + gen.currentPower = 25 TestHelper.addToRegistry( powerRegistry, gen, @@ -83,7 +83,7 @@ class ObsidianFactoryTest { gen.callPowerUpdate() - assertEquals(100, gen.currentPower) + assertEquals(25, gen.currentPower) assertTrue(pipe.hasFluid()) } @@ -123,7 +123,7 @@ class ObsidianFactoryTest { val genLoc = TestHelper.createLocation(0.0, 64.0, 0.0) val gen = ObsidianFactory(genLoc) - gen.currentPower = 99 + gen.currentPower = 24 TestHelper.addToRegistry( powerRegistry, gen, @@ -152,7 +152,7 @@ class ObsidianFactoryTest { gen.callPowerUpdate() - assertEquals(99, gen.currentPower) + assertEquals(24, gen.currentPower) assertTrue(waterPipe.hasFluid()) assertTrue(lavaPipe.hasFluid()) } @@ -164,7 +164,7 @@ class ObsidianFactoryTest { val genLoc = TestHelper.createLocation(0.0, 64.0, 0.0) val gen = ObsidianFactory(genLoc) - gen.currentPower = 100 + gen.currentPower = 25 TestHelper.addToRegistry( powerRegistry, gen, diff --git a/src/test/kotlin/com/coderjoe/atlas/utility/SmallDrillMiningTest.kt b/src/test/kotlin/com/coderjoe/atlas/utility/SmallDrillMiningTest.kt index c2a04b7..0789b89 100644 --- a/src/test/kotlin/com/coderjoe/atlas/utility/SmallDrillMiningTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/utility/SmallDrillMiningTest.kt @@ -7,10 +7,12 @@ import com.coderjoe.atlas.power.block.SmallSolarPanel import com.coderjoe.atlas.utility.block.SmallDrill import io.mockk.every import io.mockk.mockk +import io.mockk.spyk import io.mockk.verify import org.bukkit.Material import org.bukkit.block.Block import org.bukkit.block.BlockFace +import org.bukkit.inventory.ItemStack import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.BeforeEach @@ -38,19 +40,30 @@ class SmallDrillMiningTest { ): Block { val block = mockk(relaxed = true) every { block.type } returns material - every { block.getDrops() } returns emptyList() + every { block.getDrops(any()) } returns emptyList() every { TestHelper.mockWorld.getBlockAt(x, y, z) } returns block return block } + private fun createDrill( + x: Double, + y: Double, + z: Double, + facing: BlockFace, + ): SmallDrill { + val drill = spyk(SmallDrill(TestHelper.createLocation(x, y, z), facing)) + every { drill.getBlockDrops(any()) } returns emptyList() + return drill + } + @Test fun `drill disabled does not mine or pull power`() { val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.DOWN) drill.enabled = false - drill.currentPower = 10 + drill.currentPower = 8 drill.callPowerUpdate() - assertEquals(10, drill.currentPower) // power unchanged + assertEquals(8, drill.currentPower) // power unchanged } @Test @@ -58,7 +71,7 @@ class SmallDrillMiningTest { val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.DOWN) drill.currentPower = 5 - // Set up a stone block below — should not be mined since power < 10 + // Set up a stone block below — should not be mined since power < 8 mockBlockAt(0, 63, 0, Material.STONE) drill.callPowerUpdate() @@ -67,8 +80,8 @@ class SmallDrillMiningTest { @Test fun `drill with full power mines first non-air block below`() { - val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.DOWN) - drill.currentPower = 10 + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.DOWN) + drill.currentPower = 8 // Air at y=63, stone at y=62 mockBlockAt(0, 63, 0, Material.AIR) @@ -81,8 +94,8 @@ class SmallDrillMiningTest { @Test fun `drill skips air variants when scanning downward`() { - val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.DOWN) - drill.currentPower = 10 + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.DOWN) + drill.currentPower = 8 mockBlockAt(0, 63, 0, Material.AIR) mockBlockAt(0, 62, 0, Material.CAVE_AIR) @@ -97,18 +110,18 @@ class SmallDrillMiningTest { @Test fun `drill stops at bedrock without mining`() { val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.DOWN) - drill.currentPower = 10 + drill.currentPower = 8 mockBlockAt(0, 63, 0, Material.BEDROCK) drill.callPowerUpdate() - assertEquals(10, drill.currentPower) // no power consumed + assertEquals(8, drill.currentPower) // no power consumed } @Test fun `drill mines horizontally facing NORTH`() { - val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.NORTH) - drill.currentPower = 10 + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.NORTH) + drill.currentPower = 8 // NORTH = z-1 mockBlockAt(0, 64, -1, Material.AIR) @@ -122,7 +135,7 @@ class SmallDrillMiningTest { @Test fun `drill respects 64-block horizontal range limit`() { val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.EAST) - drill.currentPower = 10 + drill.currentPower = 8 // All blocks in range are AIR for (i in 1..64) { @@ -131,7 +144,7 @@ class SmallDrillMiningTest { drill.callPowerUpdate() // No block to mine, power unchanged - assertEquals(10, drill.currentPower) + assertEquals(8, drill.currentPower) } @Test @@ -161,8 +174,8 @@ class SmallDrillMiningTest { @Test fun `drill mines horizontally facing SOUTH`() { - val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.SOUTH) - drill.currentPower = 10 + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.SOUTH) + drill.currentPower = 8 // SOUTH = z+1 mockBlockAt(0, 64, 1, Material.AIR) @@ -175,8 +188,8 @@ class SmallDrillMiningTest { @Test fun `drill mines horizontally facing EAST`() { - val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.EAST) - drill.currentPower = 10 + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.EAST) + drill.currentPower = 8 // EAST = x+1 val stoneBlock = mockBlockAt(1, 64, 0, Material.STONE) @@ -188,8 +201,8 @@ class SmallDrillMiningTest { @Test fun `drill mines horizontally facing WEST`() { - val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.WEST) - drill.currentPower = 10 + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.WEST) + drill.currentPower = 8 // WEST = x-1 val stoneBlock = mockBlockAt(-1, 64, 0, Material.STONE) @@ -202,18 +215,18 @@ class SmallDrillMiningTest { @Test fun `drill stops at bedrock in horizontal mining`() { val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.NORTH) - drill.currentPower = 10 + drill.currentPower = 8 mockBlockAt(0, 64, -1, Material.BEDROCK) drill.callPowerUpdate() - assertEquals(10, drill.currentPower) // no power consumed + assertEquals(8, drill.currentPower) // no power consumed } @Test fun `drill all-air column to minHeight does not mine`() { val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.DOWN) - drill.currentPower = 10 + drill.currentPower = 8 // All air from y=63 down to minHeight=-64 for (y in 63 downTo -64) { @@ -221,14 +234,13 @@ class SmallDrillMiningTest { } drill.callPowerUpdate() - assertEquals(10, drill.currentPower) + assertEquals(8, drill.currentPower) } @Test fun `drill stops pulling power when full mid-loop`() { - val drillLoc = TestHelper.createLocation(0.0, 64.0, 0.0) - val drill = SmallDrill(drillLoc, BlockFace.DOWN) - drill.currentPower = 9 // needs 1 more to be full + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.DOWN) + drill.currentPower = 15 // needs 1 more to be full val source1 = SmallSolarPanel(TestHelper.createLocation(1.0, 64.0, 0.0)) source1.currentPower = 1 @@ -243,25 +255,36 @@ class SmallDrillMiningTest { val stoneBlock = mockBlockAt(0, 63, 0, Material.STONE) drill.callPowerUpdate() - // Drill pulls 1 power (to reach 10), then mines (uses 10, back to 0) - assertEquals(0, drill.currentPower) + // Drill pulls 1 power (to reach 16), then mines (uses 8, left with 8) + assertEquals(8, drill.currentPower) // One source should still have its power val totalRemaining = source1.currentPower + source2.currentPower assertEquals(1, totalRemaining) } + @Test + fun `drill calls getBlockDrops when mining`() { + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.DOWN) + drill.currentPower = 8 + + val stoneBlock = mockBlockAt(0, 63, 0, Material.STONE) + + drill.callPowerUpdate() + verify { drill.getBlockDrops(stoneBlock) } + } + @Test fun `drill facing UP uses DOWN branch logic - known bug`() { // Document known bug: UP falls into horizontal branch where modX=0, modZ=0 // This means it checks the same position (drill's own x,y,z) 64 times val drill = SmallDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.UP) - drill.currentPower = 10 + drill.currentPower = 8 // Since modX and modZ are both 0 for UP, getBlockAt will get (0, 64, 0) repeatedly val selfBlock = mockBlockAt(0, 64, 0, Material.AIR) drill.callPowerUpdate() - // No mining happens, power stays at 10 - assertEquals(10, drill.currentPower) + // No mining happens, power stays at 8 + assertEquals(8, drill.currentPower) } } diff --git a/src/test/kotlin/com/coderjoe/atlas/utility/SoftTouchDrillTest.kt b/src/test/kotlin/com/coderjoe/atlas/utility/SoftTouchDrillTest.kt new file mode 100644 index 0000000..8266a7b --- /dev/null +++ b/src/test/kotlin/com/coderjoe/atlas/utility/SoftTouchDrillTest.kt @@ -0,0 +1,115 @@ +package com.coderjoe.atlas.utility + +import com.coderjoe.atlas.TestHelper +import com.coderjoe.atlas.TestHelper.callPowerUpdate +import com.coderjoe.atlas.power.PowerBlockRegistry +import com.coderjoe.atlas.utility.block.SoftTouchDrill +import io.mockk.every +import io.mockk.mockk +import io.mockk.spyk +import io.mockk.verify +import org.bukkit.Material +import org.bukkit.block.Block +import org.bukkit.block.BlockFace +import org.bukkit.inventory.ItemStack +import org.junit.jupiter.api.AfterEach +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.BeforeEach +import org.junit.jupiter.api.Test + +class SoftTouchDrillTest { + private lateinit var registry: PowerBlockRegistry + + @BeforeEach + fun setup() { + TestHelper.setup() + registry = PowerBlockRegistry(TestHelper.mockPlugin) + } + + @AfterEach + fun teardown() { + TestHelper.teardown() + } + + private fun mockBlockAt( + x: Int, + y: Int, + z: Int, + material: Material, + ): Block { + val block = mockk(relaxed = true) + every { block.type } returns material + every { block.getDrops(any()) } returns emptyList() + every { TestHelper.mockWorld.getBlockAt(x, y, z) } returns block + return block + } + + private fun createDrill( + x: Double, + y: Double, + z: Double, + facing: BlockFace, + ): SoftTouchDrill { + val drill = spyk(SoftTouchDrill(TestHelper.createLocation(x, y, z), facing)) + every { drill.getBlockDrops(any()) } returns emptyList() + return drill + } + + @Test + fun `soft touch drill has max storage of 40`() { + val drill = SoftTouchDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.DOWN) + assertEquals(40, drill.maxStorage) + } + + @Test + fun `soft touch drill requires 20 power to mine`() { + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.DOWN) + drill.currentPower = 19 + + mockBlockAt(0, 63, 0, Material.STONE) + + drill.callPowerUpdate() + assertEquals(19, drill.currentPower) + } + + @Test + fun `soft touch drill mines with 20 power`() { + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.DOWN) + drill.currentPower = 20 + + val stoneBlock = mockBlockAt(0, 63, 0, Material.STONE) + + drill.callPowerUpdate() + assertEquals(0, drill.currentPower) + verify { stoneBlock.setType(Material.AIR, false) } + } + + @Test + fun `soft touch drill calls getBlockDrops when mining`() { + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.DOWN) + drill.currentPower = 20 + + val stoneBlock = mockBlockAt(0, 63, 0, Material.STONE) + + drill.callPowerUpdate() + verify { drill.getBlockDrops(stoneBlock) } + } + + @Test + fun `soft touch drill has correct block id`() { + val drill = SoftTouchDrill(TestHelper.createLocation(0.0, 64.0, 0.0), BlockFace.DOWN) + assertEquals("atlas:soft_touch_drill", drill.baseBlockId) + } + + @Test + fun `soft touch drill mines horizontally`() { + val drill = createDrill(0.0, 64.0, 0.0, BlockFace.NORTH) + drill.currentPower = 20 + + val stoneBlock = mockBlockAt(0, 64, -1, Material.STONE) + + drill.callPowerUpdate() + assertEquals(0, drill.currentPower) + verify { stoneBlock.setType(Material.AIR, false) } + } +} From f1a917325f868f6839c9848c16c4dbee83184309 Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Sun, 22 Mar 2026 23:34:36 -0400 Subject: [PATCH 7/9] Add crusher and soft touch drill textures and config Crusher textures for all directional faces and powered states. Soft touch drill textures and CraftEngine block configuration. --- .../atlas/configuration/soft_touch_drill.yml | 111 ++++++++++++++++++ .../textures/block/custom/crusher_back.png | Bin 0 -> 26832 bytes .../textures/block/custom/crusher_front.png | Bin 0 -> 27369 bytes .../textures/block/custom/crusher_housing.png | Bin 0 -> 26825 bytes .../textures/block/custom/crusher_side.png | Bin 0 -> 27440 bytes .../block/custom/crusher_top_active.png | Bin 0 -> 26826 bytes .../block/custom/crusher_top_east.png | Bin 0 -> 26882 bytes .../block/custom/crusher_top_north.png | Bin 0 -> 26932 bytes .../block/custom/crusher_top_south.png | Bin 0 -> 26926 bytes .../block/custom/crusher_top_west.png | Bin 0 -> 26968 bytes .../block/custom/soft_touch_drill.png | Bin 0 -> 240 bytes .../block/custom/soft_touch_drill_front.png | Bin 0 -> 291 bytes 12 files changed, 111 insertions(+) create mode 100644 src/main/resources/atlas/configuration/soft_touch_drill.yml create mode 100644 src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_back.png create mode 100644 src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_front.png create mode 100644 src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_housing.png create mode 100644 src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_side.png create mode 100644 src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_top_active.png create mode 100644 src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_top_east.png create mode 100644 src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_top_north.png create mode 100644 src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_top_south.png create mode 100644 src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_top_west.png create mode 100644 src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/soft_touch_drill.png create mode 100644 src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/soft_touch_drill_front.png diff --git a/src/main/resources/atlas/configuration/soft_touch_drill.yml b/src/main/resources/atlas/configuration/soft_touch_drill.yml new file mode 100644 index 0000000..343306b --- /dev/null +++ b/src/main/resources/atlas/configuration/soft_touch_drill.yml @@ -0,0 +1,111 @@ +items: + atlas:soft_touch_drill: + material: paper + data: + item-name: "Soft Touch Drill" + model: minecraft:block/custom/soft_touch_drill + behavior: + type: block_item + block: + loot: + template: default:loot_table/self + settings: + hardness: 4.0 + resistance: 4.0 + is-suffocating: true + is-redstone-conductor: false + push-reaction: push_only + tags: ["minecraft:mineable/pickaxe"] + sounds: + break: minecraft:block.metal.break + step: minecraft:block.metal.step + place: minecraft:block.metal.place + hit: minecraft:block.metal.hit + fall: minecraft:block.metal.fall + states: + properties: + facing: + type: direction + default: down + appearances: + north: + auto-state: solid + model: + path: minecraft:block/custom/soft_touch_drill + generation: + parent: minecraft:block/cube + textures: + north: minecraft:block/custom/soft_touch_drill_front + south: minecraft:block/custom/soft_touch_drill + east: minecraft:block/custom/small_drill_arrow_right + west: minecraft:block/custom/small_drill_arrow_left + up: minecraft:block/custom/small_drill_arrow_up + down: minecraft:block/custom/small_drill_arrow_down + south: + auto-state: solid + model: + path: minecraft:block/custom/soft_touch_drill + y: 180 + east: + auto-state: solid + model: + path: minecraft:block/custom/soft_touch_drill + y: 90 + west: + auto-state: solid + model: + path: minecraft:block/custom/soft_touch_drill + y: 270 + up: + auto-state: solid + model: + path: minecraft:block/custom/soft_touch_drill_up + generation: + parent: minecraft:block/cube + textures: + north: minecraft:block/custom/small_drill_arrow_up + south: minecraft:block/custom/small_drill_arrow_down + east: minecraft:block/custom/small_drill_arrow_right + west: minecraft:block/custom/small_drill_arrow_left + up: minecraft:block/custom/soft_touch_drill_front + down: minecraft:block/custom/soft_touch_drill + down: + auto-state: solid + model: + path: minecraft:block/custom/soft_touch_drill_down + generation: + parent: minecraft:block/cube + textures: + north: minecraft:block/custom/small_drill_arrow_down + south: minecraft:block/custom/small_drill_arrow_up + east: minecraft:block/custom/small_drill_arrow_right + west: minecraft:block/custom/small_drill_arrow_left + up: minecraft:block/custom/soft_touch_drill + down: minecraft:block/custom/soft_touch_drill_front + variants: + facing=north: + appearance: north + facing=south: + appearance: south + facing=east: + appearance: east + facing=west: + appearance: west + facing=up: + appearance: up + facing=down: + appearance: down + +recipes: + atlas:soft_touch_drill: + type: shapeless + category: misc + unlock-on-ingredient-obtained: true + ingredients: + - atlas:small_drill + - minecraft:diamond + - minecraft:diamond + - minecraft:emerald + result: + id: atlas:soft_touch_drill + count: 1 diff --git a/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_back.png b/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_back.png new file mode 100644 index 0000000000000000000000000000000000000000..c9afab43205141b46f76aaa18c2a4dfd5d3f124d GIT binary patch literal 26832 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 P00000NkvXXu0mjfRmPZQ literal 0 HcmV?d00001 diff --git a/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_front.png b/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_front.png new file mode 100644 index 0000000000000000000000000000000000000000..9a0b0d9b2e8203583b74cb494ab9dc5f0b6970c3 GIT binary patch literal 27369 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

tEM&Ch5E`BF%WWrhy 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_housing.png b/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_housing.png new file mode 100644 index 0000000000000000000000000000000000000000..f4e9df5e087474835c948f6201fa401c0826a506 GIT binary patch literal 26825 zcmV)DK*7I>P)sQ50Aj16)HmIqoUHv7!PpW||Tj_2j- zzkm4q_w_jL@8j~h9`ECIT>P2q@w$GF>+v}*pS$08x$(Vx@$Gnh-pA$oIWDiy@xEM+ z>*aI2-uL7Fc^=Q(<+$+kpU?5RT#pOSczGY6cfWhPy!e*m^12?E<2XL|*Ks^A$Mt?a zo}broxm=Fhizhjb>*s#FZ|~!Jc^~gL&wo3P%j@`D@5kl!K0e3$;E!$>9`Sa3p1j?0 zT>SIa>2l?HKF9lY9Jl+;fAR~rgJ*snx9jcrybs^QC49e*>*ers`K0UXeO!+F@%g-u z_nq(TIWCvi@&2$vpX2kn_$~*}^1K}HJL}5&^3y!o?fAT2{@ii@9Bjt*dK|A8E6s1d zkI$VyIF8Saz2jw%vj_0L~dR<@a>v6r@{qYNL zdA+!?EEuQ8^K*OpqObS+xUmRq{^iX&9|teSxAHJ=ex?^@li0vF-+keb9LJpnx!qaG z<8tNiZhq(I#ait7j+ckx_PY3cpDRa!mp+cq>v`PYpX18HdFbw}G{5A=eBRgNb>mR^ zSjTba4)Ff>vGQ5uW{d!zKe9HB>uogbo^|HKk{u}4;>zJ- z4X&)g^Z49(DOa9_KAxA`@qDw>T=Mtvxv^*O=d|d8W5mx=7Jf81{wep6(eP65?w-C$1XS0~M&-Hj7pR6E1$9wo4Y&q|V!Q}tr`7g)&$^qqF zkK=mhhTi?X3*XPLbKpE_&*R16?%o_1-isr(3wP%*v-aH0*XOw0xgc1S>v6liju-38 z5^@3A3l7=w^s~GfSfE>bqWxukSgH5rc)qbz-^c5H;ecXt-`-&NSAJ5nAxUf+e{LAaOU+%gE7V>>zG2fa&&J7Es>3Q~I{0ujkwdDIh z-ZWfLX8$$|!=G{c-ux_YcfB2NO#hu@#1_5$TyE{_a`WXd)gBQxlm+#pFYLi_|GfNn z4j8Mfg?zpJyBpT#`r2lEj{EKHv-#YvEf=7JdS$UOwfvEXGONg?!3^OlIRCsh&-}#A zzTZB#>&tUopB_@y7Prdtyk8tz{~ABz#_|0(4iL}k7I2wf#~o|>dU@e|K(Ei$J^8Q( zmuK!IdwJaMpX2lV9Ct1#CySfOg8QMKx@YDT=fH#9IN6x7&u-798^_b^;vyxftQ;|F-~8^8D} z2=Od&J72u`Efe$M0r1lVQkeRSw*vuS&YXtI&U4le?@SuX-X{Pzt5i^=7{e%zFH{C>QyPhBWi3TyE3 z=I7#`SlFvuqmyJExKPD$1eh;xt40@}&Sv6%`eJ{+&wdju7(2Kw{yv9_XT-8yy&P9A z3o$yu99H(9|MkB@J<&28lNc^jB`XrKm9{1~` zAehUtwb7vIyRVvMZvU0w8B6)baTuwYC1A2|m)w|#!S&(xAIJC4&vCon{r8Wt$ks*^ z!@p+**xu7kUA0(TE-VIFSuVkYrNtt@qImhNRPNl zJ_F${r=O_)a=gC@qOQm5=aWD6=9rjuh`8y*9@qErZSKAsgUBG;KCWx$QKAZ6z7?q&!aEaH&o&+E8e|HiNA68Nr6J`0Lh z{2V`Xc?7Uqq~phw8f)}C-lVA?;<#leW&w+3o|og^DerWW$G><0H=JuhD#jz;j>{J> zN?y)SbDth9F1n$tAr^O$e9)6CO`8c=0Tu1+kX}%GAJl+P0 z4^A()pD3G!#6{dL$AdrP8O0X9v`qX@1DPK_i_L!>U$?JP&@W738S?F(xqq_(1gdv^ z)^Q>yCGK$d^rj`#C@+=-7^310Hc`0lt~pWWcO9o|n1NwEFl zM)Py`Yzxb=;q~PGz?qZ6VZ*{adZsfkx;@#2Fad76hM~PO)DxS*(s1*? zbVbBU@2}5s`N2{h$9JKbsr%JMFu}nEtV}5nf#JufoQ(|t zV&!lXME(9KFU74fDlhF4F5pFtA^L{WSs|M&5eqigU|ez~rg&SEzXUj<?X}JvxWJBJFc!~VW@jsWlH{*smy}XQ`Z$l!>(^;s?apiE7dwTG& zB>8c`7Y-Dw{5o#IYhnj?fvt-M4a;q?%-ZstrX1XU(&c~}cFYUs262~*&au3%!Hok? zaEG`!FaUE&-TE+KF{G`@<9u^z3AbY6i~uu&)c5 zOFoeOBZxAJ4+J_-6&o#pq2cV$@0hd!5HA+f+_c;R1dzq#=5r#2Ydw5yRq(1u0V^^< zhd(FI5T3>alTy8hsO3S8NuH)Em~Wf_CjObvWAT>08A!c>v_lkMyd)2;l^H~B;MQR` zpXZ?C+MYqX#tDE~M$~N#@5`EEafE{jMzLaG3E(E8nOTCTF%lUV!ELCNhM0FAB&`K- zU$`1KgI!_|9>8E&w^3TjZNEJUE(68H0L)bS`4Z}aS?`o7x?sR^!>m(C5~htHhm$N+ ziK$-7#UGk>@av>Nw*f#Lm==;?5dQ`$$4i42o*4qR@GkiC(tYUuO`|ZUEJmp$!63ip z=5gZ5m9?BK9>L;qJeQde1&dk=(_+r&xL9yKijk5(!+VNdTxWitK*<Oty4|s0SX{nm>6y1% z+>(g??ZFe%yFE+O4H~)4cTqrYtj|RDB-UX?;kaP#Z>x=X@OdZVsSXmESdc8wKsdl3 z1oRsiP>j*);{(kZO5Hr|gCi+ca6aEp7B%xFh~aZ;qdhc0vqZ++RRTb6J#PjWkzWf? z5gH8$_Cx{+S$yG+vtK()7rxuHHS6;vj<`@9x(6)H1oNDq{jBK`2L;!2P@@nQ^dNfs z%+YyHqp1!Y0qYV$@lI~my+~c$L8HcHSWQ4|<7VWIJ0)Ivf~J~^U5<;$Q78ci9P79; zmUokb;6cIkgQ^m|QZ!mN2CxO%`Qcp(;f~MK714c(?em9Z8~1nUD7Vu;%VNLZ&k$gX zJS?%kFEi)uzz13j7_95*;pRQPf!&Ii7K2NV3kl&Gs3VXPq|1R2Qs%k5L71(w2T?gK zedrnHfCnS^^BlSlWG4JO=^iJZ=PRFozn=PV${ao~=Qrp=1n*{Xiv?Uht~n)z1?uG) zGLc?50$Gt(=rP7bGFzc4lz!kpY!y8xZQ0i8%K@6P#V_-f;a>vv=OVoGlr&`Nt9{u z7DT1^udC(BrxX_0lg0REPGl3Ge4GVo8w2&+ z!}vBNbGV$Aj5s4KKU~6UDe0)GTp*G781LgX?sjADaY&e43tGakSW8krzMsp&Iu+G> z__@_S3x{jBml$HHG_Lcy+8N7c3`AV;y3aCIP2#^VgF*^IZ=-%IOql=}+~b0a!I{G%)YlSt%@kLC0D@b~e$y)<8dI@P6~9tJni zBo;8pu9xip1Opp087!`PXiSt(2IMh6x4c^*C_W+9ACJK^V`XYq zc3A?J6hCZ~Uj^mYDpkJc;1^#=-54kqMBpOn-u#?vJdThoAj51CWz6O zk(yWl0e)OfUSIDQa^tv-E3q2%@cArc(XF|D#o0`i{seNwN%+9Rge(ZzVxo2PEtc3OfWaWT| zd1lJa_^h^eX4|3|hwv>JWw!9Xbu+EE3eWj2K-=0sF@S;=&_L@3EaV zn=igyN=X36_qcfkFPyPwAdFG}3OJr>)3ljH4xY6n=1^E)zhzH*0C5QZg+Bc(zpBZGQ#H~;bsN)SKbCj-t$)v z4zcv1D#;5~nKtr#6x#YMOZPnWO5a|i#XsDZAenJ7z+;4>%fLzpr7cOQvMNQ?Y7L8< zug~tbxcQWDF~w{I;1oWTC=M4@S=&R*CbAy- zM`%lU5GGmmBgyL?9cl_7|z7S(g9OhM1JET#fUl?zEMLZ%~8Wun0dK9n@!UAF4e_E< z51F7+IO4JSFoxg9)i5^Rn|S+^mnDr{a4172)XE|fNF2V3n-x~-;UH3u-^D41@zM+W z4%+d8NPZX>piPi#hpUkh;R|#5q*1-Nd07hUg`5>Cg?A1}>DCKKb#Z}fg$Bmm1RvT>ky2_}WqGk| z#RY**^x50vll&)7NfbqCA!y`eO0Il^6%a!VpY}2i3Nj!irNOL1 z28o$u1WmyS1Pz~P(9S0J8Ja`adjL(Y)I)+{d{MCf@XWxuyPuF=$F7ldD$ZTO0bYb@ zlnF+F7DN{hh|DRh!m^RGaD|mHcTVzZpLq(D)M(uZIro5uwq zXp?rqdGRpBk<%g=R0N>75VBiV)X_?ChypgMm}!*at!ojAJqVoQ1r}lBo;ba{WIVSP z1sq@M)5s4Z9M%S+y6fkmkWzYmMr989@?ZpC6 z%qqEoSO?K}cD4gbmGZOzvDL1}`>EyZ=5`)|RPp;f>`iWYB}Y5~9}u1CG)n|^Fi!Q4 zaMy?#%=e2jZNNA;S2}?C+i$^y1(Yv{iIQ2OMxS^7`%wWjt zEo)0ffH0DEjE!6luT|h#f)1+D0~GP%fNS#lsity(xj5A-2vQBtIB=t)Q=Lp8x_H!g#L3q31@btvy;)zjm1RT@>HR~HX>=#gBf2xzp$_i%|jc^ zgcrQv{mBQw7y5nCqR0R;ZFU_x$=r+KtcFERx%C?a59!t5ZkOm;z`2V&ky{`i(t zSk1pa4g4UtWmRqo8Gs!=!14MK{aMmbo&ECzi{^S9KSkZV3v5{l7x@Qc5iA<<0tZT~ znT0oCzSABD*5LCNUX#LX0u1%!4~j{UHMW|g)*Acl)u#Nrk(evbD8ShI*Vd|-4l+y#|E;)1VX;$|z5 zC&CZhB(9XeO8)W7{1vNoJs$W+T$nem(x>$H@9XjP7lwtPk6T@w;KFk=;v*er8g=_3 zSbf?ZB{X}v9*>o@^}T{#lx9colI7Gp__?^s{G>d;&*kBP?lZbzQNe(%F~MOMQrBjV zp>{vN2z~)*y4{!iSJC^*+&lwm@$nFQE&zsz2t(5%)Ae|`(0_$Xe!f=1$8y}F%Ug-A z%}#*ozy9n0T2XjB9`WOBY9!dIy609B{163;*^eaQ^^Io(n5oK|OZCImpxvfv@pZaqB2wgme7g4%nA;lt=NJL0SYe12gSm*4b-!s>DgKV&T>O;*ySj2yQ zAJ>2I`BFgKMB5R`(S?k|{*Tqm^2)oCprriKM<;w|e!787xedS_w+i(&To0mpwI_bY5>)|EbtEWp|RCcnmRs1Zc= z4w`xod<9+0#J@xr_N7Dq_s`$Q&npJ%ToJuN3 zZcTb)G)q2P<*n+%TAwXERBgPIpMT$u%L6j#-vyQWQeuPBLtl{W;`%y%tR~W%Kv2XM zQJ5k?EReHN!zR%YFfO0tUzf}A7bz~g2${rVl)wST`yk; z9|k8sBIn0AfYeGB(B*MF%(J)HgKaO5a1ss~YxHgV_VxJu{2cfDUu)SS&UusyS`B^Z zGU4QNaQHm}Y;U9h&kh9#+jt`TN<{xnXBN1EX3D2GgTjZ~#`d*}rrHg~V#aM!19|_; zaeEMuav`AK&8l%6DRKY(bNrYdK`8_6vgA4X5QIykkUunV9?iTMI+y@QMI(wdL9PSw z#k@iC$cq6x!o@)s<-vy|>l!e1+_1CdnQh|Jg?6M^7t~szd-gemj0$s`E1*nCqm z4r!-efG0xGAE5_wWrNjv?#Z$5Zb~l5DxHy89ZudrtxR3aY$P~;?@LA#XR3D%xq=*9?P`(pAd zeCXFHL2iMm-oeMS?|zKbFm`~8rH#_a>OP{n7TR0$sX4u!M0Fv%*c=*ewPX|iSv(*a zgWwUgmjftWx-zxgzk2|ST!P!#j0|R9dv}Y!%BAJyh?yXAg5G27%5t{AL>6!&Y*>tx zM~K$r^0CLe7*e@eCBV0O83lpJGA!GnUP2Z?kQ_yO{80~`d<2hBZQpXIC<1v%i7SkN zBJ%P%agX;o?_YO=?|894Ft|Fyz_O$^AVVS5R^-;mFU1c#vj^Dyk%jjul0dOZ_H}S6H$}vn z?_brV^lwqKhdVsLJp3|{U9EtMB_>I-W;iIgI1XcyEN_J`a82YoRsRHgVDHE}8ZFMd zLx+UzOS&~~C>GDvwZ@P&5lh*DFy9y4Lh)c6Vg6joKIR*09hL@r2`&?%Bw(l7v_@ru z9H!lFIQxa0swu}>jAT_2N&*b5z=RF7wfll)W3N+;K`QrJl-7OqTU_8~NXsg>)d^fV z(Nox=a%Z3g5*UMp+X_l3u4wRA^|4zRqeUo{4Hx#M63EB5abon`G{_fHqSlw_QNZ_t zsds1ekwns}86AV|zKh`~W=Le<|M(Wrp43wuCN32f2l< zi%D7LdZQP>3>$w2`QyazG8L*Cf;Da2E-t?KhZJu^wV;JsLmZ zED24W8A$IKE#hq01?j7_UeS@*sTd^adHM&>+i|yJYprlX)>zB{JoN;&7x$B7DhmK7 zq5nFYLpz=J+j&B&&>7|0=M;C)WQ_b+=@e3%IO|fn#sjozWJ+NAP0XI%HKR&P`YgZa z^jOv$HCk5!0JDx7{>j3TiJSyaac%b8^eAM^Y9u(hy#QIZn`{};^*@yBA(qG5!lioA zm24Evvljpxgi9O>-;j`@p{1of(y9=5eYv}7z28}T4y=l zMVQ)^VvU~dMX7cGK2W+ezmPIb!$BRY25cf;Srh%dYj<|pF7VUqfB{7HHYdhZ8AO5? z5JUxDfyThjam+eW8?GIWwc zQ}Et#2LfKdADI|#)rK5;Aj+G17p3?Hs@aIxq+bZS0K<_9#=x{4ewe6mf+p4L^7 zYd>axCLkqW;A|AZoT!YE-(j;1g4Qu?9Jah?2gW#9IL zAemII+C^~tDGX7TG^L55e-xkMA?ow7D!=*x;4pF>VwD;t<5!3<*?0q^H0g|8^b_&- zY@ZviypkhrN%+H3MDtaAjb=6#4Sf}u`NZJ_lSJ;gT{~EBOj#92iyhYJfo&<_*7oGz zgAXVikzY-tuZ0M+CotQ_sxxzH`-Lai#A){RiGeiQm}%LxeJq&96&GZh;@Si(S0tst zLOB-hM4eh$N^2p-HDVifC)I*x(2BiKn8F@r&Dhz8A-*qNEvpAa&9A=&&_<0H)mw1q zAxY9s3wXv;a_8Z1^t>#CdZVo-dx)vwc!munl?$u6Q9 zv{J8&plTF2%9;K&I1#HvSO0@9>bLQH3JteO!N_;PaGGmsR(81c}XFKd^L zE7&Wuq6~a4=)$Maj_LVDQi;8aoN64mSV;8?2-91_UJt@dpM86-?LLc_2U{0v9p_J> zK*%bokQ7sPsPvmwph7>*2#lOZs$AO{2hHXgRY| z?+_p5YD^=tz4yfhNnX*K79`66UT059O>u*CH-V=Jw#xF*PcXMqlWhD-F$Q`hh3iK< zc5?*r#>Szn=|(M>QVj+$ zLDr%YTZN4qispi;>OndgIkaGB>7bGGDr79G^?~W~aJwj;xY3bIv82~gKqZfQu=$+S zHd8mHOgl|NZ_nD)NmGnB>X}4{$*co~6?utg_w>p{wL^7qmD#x`!f^@=7=IAAOsi*< zxB^Moy9LOeH@N{dw^X#t2w_pBj#2hil#`1Sdg-l~m{Oa$LX^~6Y?U{?0YhJa!X|Sx zXy90|C~~#atA?)N2?*aQvXBI+?g9GrnmtVMj1a@Kg&rh8LS%@cKa!s?!@eQKr z8!$~;g9bNFryRGCl#?@WECI_#Y$C!61x+%ez^?31{S%7MX2GPJufb%V9hauIpBYoM zc&YaiUf0T}*^XsJQOHYbZDnpmykgC-+b2KUJ_OiI<9iStOYk5LJoN>Q<_m=ML17wc z@)>;Dvt`aru5JIF^srRJ#SoUWOQptV+Ekh8mnLO%XsRQ&aG6%I7~Ljs?MXhF=<(SV ze0tr)64NJ+kp#qwx!=#ASZ)v&-_T}D!|r_IG0UQ^u7nU4iwz`Q;>d2pe ztD9Jqgq)F7&xIn&r~ON^$?E@_0|W3l4_C<*kTj)zsqLl}O0_kuz*6I2GeCzra0ui| zPQ~rj0m6*ow=(hJP%A}R$jCP(iyl!zp57={-nuD>`pgrjrgYWsagrf;o^^sMcDkXJ zT9dXrDQ3~fjKic<&)lD_>aS8k-GdQwD&42DMsjeKjEzOyFx9dByi>1R=*D6v*~i%? z!~t0YlUWB^Nb5(K@`2fmbr`-oEhheHoH3ZPJt*fq_r*_Q#VQF6f%rSRdh5+8FLe%s@S&T2K)A*hL6li zz%9O@H9ZSb1-1BRd6lf|*hSK}0H|mL#r4<<*1>a4T*pQDT8~`Dq@1FWc_61FB&I?< zHR+H_MbNKjmWOXkby{SODN$e7fUTU?i{^Dc{Y`-%tD08x9%7J>>5QrsfIdAasgP~k z95}_N6E`>=5$5^4VVQ1j3FYevR4l!+TupRuoRH!+H&2iT$e5tcE~x0?N5mYT9e-X8 zrj*aa%1zY*7SshfSKZ@aSOX;31P3riU{k4NO1G{GX<@B?y;D6k{humxzXdRR3qV8% ziBkyTeGQ>v0$W>cjJk8(SW&^iz=slOK6>iCj)idOJdcMUT_;{N6@Qu*WLgR**2q^(eE$} z12FP+eQY{@m=*Pqq-_U>6Mau2F=33Ah^<5TqXWDBvxqT@RIw3OE-OF+!o^IOc$7;Q zTDl&R;9d7AD{5(5u0@)|rimWNsN;T{F?eWToJZWQST6;FbDl`>#@ARn+#DFMHaFtq zsbl*f(WHKmEmJyWEn@iVDRove$3S|*`rYe8d>gtr3+AK`_<(T#&12*7wW$-n##jA3 z`5T)`Oc+$`hL4ApD(BDd*AJL@#B_(RpX1ve#oUOu!@B=xlTd{2GRc$^yXe6RYl~BD z)Xtk4`@NlwR`I~vv@s68($YWUOq%k2CkcD}%;IbgfLJ_eACU88^(owF*RRLz=W~3E z7PU@tHjF*aaX$ITZzx6Z@v+AW*%-|1h9*o zIMuDD%U0E@yu$224W;Mte0`0@vnd#uWx0R#-EoTfzMtp)_y-U8_$tEQW(CMxkK^kR zOP3&w7uV8dO5wO!;#S+F7ODiNr;qnUb@Y1t^$%cU%yB^|bp<0DW!qBSzCH>R1=TQi zO3|!TO^H=Cv<@TJ!ATpdX6BnY09+u0!{)sHIUaBbCN$KC|41*KsD-lL=d`c&*hGi);~E( z6nkp!w3}M_n>d3YRAMueekZ*%F1Nrr-ClJQ<8#KVtZh%wGY-7M-f<;E|%Gs(q@ES%JE}kH4Rv z<7@P38%o{P$cmCf2}BJv3;ZyT`b-0`le|K@Lpc=}#m{WhE}!G)2NmyB#oc?ch5|?Z zIx)el*2{}fxz+3dt3?nc8W{ts23aWW==R=@_s`$Q7kv}!U7(%ptf8K2cabwTL2PR# z`;vZLXcZa4c-rWP+VsLeG6Pu=UqXZo5`H2Xt(T%UShg z{r>g-Io^LqtxrkJ9F+ivXts`8%9!8Oj!mt~o7JWVTK!I-@CVx<}-@0a|MH#T)gMc&mS?!_fyJshb~sIMZV{E3fcs5&iq-AfU4nZ?v!K4f>+Iy z`tVJ;`jl4*Gmy7`!qz`aeJ|gkX;=&}U?JX(${U}a@A#?ZZa^3Zk>VLP{YOiKh^F#2 z=J*9-m*dCvMZ*4e!%Y%=lJigTe7*f1lkeB@`Fc1bL8x3R`gbL0np$^AiMfz`_d+6; zC0E1VtK;(i9={NX{Y0Z8kd8kmAuNXh_8NaDvV1%B>|eAHD1Zyg4k;sv?>+EA>7 zAZ7JjzotMck-Me}x~5-!{(W-@JlIw;7u=m?WnJLK`3F3M;u#!3y0Nan!Iy z2XQ3?#l%_o?C=*rD{-3ZA8a3&hNAexuB@^htzjMXA*CG9&(Cp(vQJ-+8o~y``5vi7 zm{*`(gTW%`lMVAaiH6~a1x`V1Y3_;NSKtvmvC#*U+=-QtVH(B-s}|irrn3Qava4rL z^JeRjUK*IonXh!M2%`W~aR-GEha;_X#&`m?j3_ke^V^78q+Gc<)0pI33zqFHYv7%M zV0(rH9t6Y`crG|pgV#DjfSGx|aBcx$Jql$xy;l4Q$MTrJPd{HJG4HgRfeSOw{3bh>Qr zpS22^wb0eLDYdgr?rA-Y^z$`|E0d4rVGm8@&j6(a79gawd8=CTi7ufh6IjbghP<#ZeewGWMNP z5ArFkuXgi(wsgEWiaO2NFDN-LB12fTtx&nR#Dq@1x~6OZx`uU0puXcb1Iz{v*D5>jl;VaRGoJNAU{VvAYYZu_L7M%d! ziB+>-b3>gjr*LS#b3QIyDAh3Q|JW7bf2NyYu0dDvo^>I(M6GzTjdzi22(vGQFAxKfFb-{$1mA2v=gII7yp@XLw z<&E0LRMM5M&=U=XGdBA;`7k%6@;*4H@w7N<_d zRRZXQfMq(JBW=_(&JtRJHW;lbCZ7KYwSmWj-cPBz1g7oR;Qcs=W`9&7N!bTl5x0?9 zm@5x;<6${LP@p7$%v7meTivYg6B{(iZ3kF#coa*ZQrH4Nl{Pt9tD{M;cTg=qACO>+ zGG`GkIXyjxLZI;^vK+j*)@4nZRTZLSjSFXAjFI_FoEo`P>pFG*y-nj5=tDpD%BfUJ z5y(T9FF(^^-iz4)iA<)yN4onfD?c$!{j?|iOv=;qb6)U@y=evH5>xsHu^d~O%YSkQ zSzA);b6m~l0pya$MOb=0-c)L!Q)*A$eX3&?6V@x~V9aJcHR9K`1BcJdr?1=8Znf)( zX6@FsO=BFrbo5+c^X{{fn5>x#s=^ElQOUNFCiJhffs*3O$yAAUef#AZrYoGtQGagu zN07ORNFrKi*SF*7US=kdMvC~g5*EI>Nzt$x>@<_jtvwbYU}^_)G1!53Y0yKZCkxa~ z$JS~Hb=%%mp+%0rO?*{IYxK#YIstUqxs)y~Lg0_6=K{%?Mr#G%Y@n#ysi+Y5oV-5S zM-%HvmoeI1te@a(ggFw6?*Hf-t{F7;k(OO;Azs+vMQMhOdf$v-S+fx{9*?IG+j64!cJtB!k68OUWm6d(+&=z-4(G0ljo{M@y!RJ$6|2Fyt ztIhFcfz@M#j2mK^jP0@_E;nD}5Q0!s%l&Et4TW{G7U-H3?)-$lNQT%_3r!c@D4XTy zti4T`VbbVo{u~$sML7Y%kdjL&Y=8yGn8{=+m_$U^!Ik9YxIkdP>O6A1Lwa(VgjSd~;T&N(U31;#mw7 z>d+PS3pU3OC#@6pOS;xsH?eQBxGFaF=96w{W(S$|%9@s;)CFY|$Sp+_CFkV@#KzK9 zD_#LRyUX$6W>{+9M6@Z8N<*U_QmfMt=%pAetR`^e2z)mPmnn^D7q@%j(2hx6Dk1|n zX;S;srii)X`MO`z<^{-5>z-q|kj-zH_@bNv9*}M%Nu>AkeRQO6C0lmY zToccPElgtJcUC~{M72&cuu-4evZVXR{-?qS-% z#z15_ZVm`4@36v=Q{Rj~&V0{`gZR3z;XoUJ7Q+ymJ~r=<)J|eyym*@ww}}xDQ|od; ztf$k))n-!Glr?JyS5=|Np~V^l&e-OL)cug3sHellk z7ENweK$ux0mf;lYBY>UW{5h_hhF$A1-1yB+)D;-xowbSdnM~;r^)RccWZd-7(d1PR zTV8KEdkzDe0;;Fedi0=AZo6m*a&gJV$sTvw22c*B=^QkZ%4Qn+b)@L^WFLKO60yvR zIV8?_*2iO0sO8sk^%pef4U7IAm#~&E4xJd0Ee2rLPnlc91Ck_tkyN{C@(h1S&>~`} zOlt=@q+cLEfzFs??MdroCL2)ys%Uqe%DBS?7#p!y-$2ztg|yEyHbLmV$BrU}GA5XD zw$yKo9aM47g=nRPpc-vCT#{$NJ*>R0wxF2pM%PKa{e#FBbguwq&tUO^)<$T)nnhYm zrxgj0F!c6BO-hx>TNSgjanW{ZZf#L4c%DO))&Z|G02PGn0zUO} zZ)?0z)`k@6J`+skS7n@x zP0pMqDW73?ub z^cr2A5;iRY2UW?BSn9f4Ec|O!ys72ud@_SnhiC&pr!SzG*V)Y^*kp|$K)`_ElrLZK zYzfx!sLjrEB#d;X^7wk-Qp^AiR3url<)&)X?OfF|})&E;2tlwe5)X)0Z34d2NfD0&)vv=HXo zi-DwcJISK71;5(_?f?_vS%)Z04#k|kmMwGxD+twq8hjaC!eS?^IM~_zl6L8;WFunz zDqPs}wstE0qR?tgrfyIqjdL`M#1#+3td6eyKE;!uXWpC8FsuNOX;yLbk+|upo{sIL zsV-GD_+lgMoZj?waO^- zxbH+LMMqU`XV30d6!XNV{I7KNnO6cM^TJG@rqxEvjfZhQa6CcX#mc6few$Hzu#Huh z>Kt^cKZU*G!&RF%-TC|*m@*MXlc1$LY6Gvyf^Hv~#8bqICf3IDEcFcT&`veHDbC5O zR!XdThu)quBrJlxdq>5-Pw~eD87dcVBI*Fw+o>5my&~~Ld-r2R#eybw;(5y5YgVbj z)6)59UtYXBn^H0-HZtWeC~Bmo#v7Zmx_0F1Nn6IgmjA~#iGAQqTe*CjZK9+M0g=7X zYSf&I(S0I+u9WKQi`3=G8m1AkAt<=kErw9iqj=J!Jt(SykvrG;=^+)CMrtJ-K`SMn zv1X5#3ZSVII?q?3D$>UeeX1#8`|25JGAH14((9JW#V26%tN5K<$uYEaCrHl4j)E&N zl^f7P57mULD990Dt|i<9I5Fzz?v)#igPiuVQMuMtLLZ;FSO;0BW?nr#%T#tmePg%> z{dJT|6H_Q!7&mp`#ZK~#%H8_q$4&RflVh7&)p8}&Xc?fn00dP=)YjmWqQfG%=nnZi z37g^J<2#NeWCA^noPZz9qv8h}T&XEM1(s~>UIlPuOg#d(O<8-6GRj;8Y>_i4cY9P} z$~evhE&oU=f-%GkF8*?913r1mOD)Hlut*hrZzawWcrE4UV8}YPrwuUbnP?z52vMKt zB52-eq*YRK~s43k^cwJYeeE((zD=y8= z{UFDGJsxNkE2P1}!}WZQ8~XpFktr$r(^?+yrfN9slKX;NG0lzI7TP;y^Xp%wjC{`* z&qR*~0NkUlZ{v~1(E(%sa0m%5p#h61bk~LR8IS8%G%m#u(xknelBrX*B-F9m<^=Er z4phvi|7_DOrDs7iCq42Z)1{LKFgX@w&<)l%h0Kz5P-*Ppx`3?^N>HuS#2PuZcwpm+ zE!e{^$1S|z)bVL(W5SQ-^y_2vtXmMH>t$2u&WgA zkU9Ws-NLd82tGL^8=jTg;#*5;n<4Kr(MJ!mOw_XnfjUX8ULdK)Hd>h)V$a|?1^Lm_ zHo+9Xf9Y^Jh00BC9%=Cy0r-=Wf+Zi_@$-Ma6Swf>Kd;C85qa_?c2?f}?xEI%0DbEFI~5cB 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_top_active.png b/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_top_active.png new file mode 100644 index 0000000000000000000000000000000000000000..8bf7c360313fa8466f4efc401574e2a7add2085b GIT binary patch literal 26826 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 JPDHLkV1g8%kE;Lx literal 0 HcmV?d00001 diff --git a/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_top_east.png b/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_top_east.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca070c68669519ce55367cda25d26d3f65c9efa GIT binary patch literal 26882 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 LNkvXXu0mjf&v~f- literal 0 HcmV?d00001 diff --git a/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_top_south.png b/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/crusher_top_south.png new file mode 100644 index 0000000000000000000000000000000000000000..9b4088ef18bb5823acbdb6bd450a602adc1bc342 GIT binary patch literal 26926 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/soft_touch_drill.png b/src/main/resources/atlas/resourcepack/assets/minecraft/textures/block/custom/soft_touch_drill.png new file mode 100644 index 0000000000000000000000000000000000000000..4e0621f88d5856125f49c5233c92d4e2b76ce60a GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+dW+zLn`JZ`@H@CbABV!0VXBC z{I{y!n^%?_9$^qD=vu4d`FY>bw;bXNxP_QbOfxhL;D{)g>9dK^DOxB%MK0k9WN625>5Q^Q>s^MV#qUo4PQSrhQJZToA)L(NCSlX^OOnl@ zPJB`j`({Uzj(!=wh}Z%t%>sw6`?k9|ukkG6WP6mE@j$@qngz3D?l!UgCWC6r7UumPAn zvO!Gfig0PhCC7qnI=-awaw8ODOFNN7s}n4WU>GeeFsFNy(E8iN^pbC+YdfC-r+ zs^tjAxcJy&jERAas6z%U$eh>L_A}t)V*@P6oQGDkz_hOw1H+Wbkthn;I8eg`!wbH- z%NaH!X#(*tL(l@m(+i-$0T}|Kkqvoq?+jcs pEE Date: Sun, 22 Mar 2026 23:34:41 -0400 Subject: [PATCH 8/9] Register crusher and soft touch drill in plugin and dialog Add Crusher and SoftTouchDrill to power block factory, dialog display names/descriptions, and test helpers. Update block count assertions. --- src/main/kotlin/com/coderjoe/atlas/Atlas.kt | 4 ++++ .../com/coderjoe/atlas/power/PowerBlockDialog.kt | 15 ++++++++++++++- .../kotlin/com/coderjoe/atlas/AtlasPluginTest.kt | 4 ++-- src/test/kotlin/com/coderjoe/atlas/TestHelper.kt | 6 +++++- .../atlas/power/PowerBlockInitializerTest.kt | 6 ++++-- 5 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/com/coderjoe/atlas/Atlas.kt b/src/main/kotlin/com/coderjoe/atlas/Atlas.kt index e1a31ee..1240b1f 100644 --- a/src/main/kotlin/com/coderjoe/atlas/Atlas.kt +++ b/src/main/kotlin/com/coderjoe/atlas/Atlas.kt @@ -34,8 +34,10 @@ import com.coderjoe.atlas.transport.TransportBlockRegistry import com.coderjoe.atlas.transport.block.ConveyorBelt import com.coderjoe.atlas.utility.block.AutoSmelter import com.coderjoe.atlas.utility.block.CobblestoneFactory +import com.coderjoe.atlas.utility.block.Crusher import com.coderjoe.atlas.utility.block.ObsidianFactory import com.coderjoe.atlas.utility.block.SmallDrill +import com.coderjoe.atlas.utility.block.SoftTouchDrill import org.bukkit.plugin.java.JavaPlugin import org.bukkit.scheduler.BukkitTask @@ -209,7 +211,9 @@ class Atlas : JavaPlugin() { PowerSplitter.descriptor, CobblestoneFactory.descriptor, ObsidianFactory.descriptor, + Crusher.descriptor, PowerMerger.descriptor, + SoftTouchDrill.descriptor, ).associateBy { it.baseBlockId } } diff --git a/src/main/kotlin/com/coderjoe/atlas/power/PowerBlockDialog.kt b/src/main/kotlin/com/coderjoe/atlas/power/PowerBlockDialog.kt index 1f078aa..6a623dd 100644 --- a/src/main/kotlin/com/coderjoe/atlas/power/PowerBlockDialog.kt +++ b/src/main/kotlin/com/coderjoe/atlas/power/PowerBlockDialog.kt @@ -11,8 +11,10 @@ import com.coderjoe.atlas.power.block.SmallBattery import com.coderjoe.atlas.power.block.SmallSolarPanel import com.coderjoe.atlas.utility.block.AutoSmelter import com.coderjoe.atlas.utility.block.CobblestoneFactory +import com.coderjoe.atlas.utility.block.Crusher import com.coderjoe.atlas.utility.block.ObsidianFactory import com.coderjoe.atlas.utility.block.SmallDrill +import com.coderjoe.atlas.utility.block.SoftTouchDrill import io.papermc.paper.dialog.Dialog import io.papermc.paper.registry.data.dialog.ActionButton import io.papermc.paper.registry.data.dialog.DialogBase @@ -74,7 +76,7 @@ object PowerBlockDialog { drill: SmallDrill, onClose: (Player) -> Unit, ) { - val title = Component.text("Small Drill") + val title = Component.text(getBlockDisplayName(drill)) val bodyText = buildPowerInfo(drill) val body = DialogBody.plainMessage(bodyText) @@ -124,6 +126,7 @@ object PowerBlockDialog { when (powerBlock) { is SmallSolarPanel -> "Small Solar Panel" is SmallBattery -> "Small Battery" + is SoftTouchDrill -> "Soft Touch Drill" is SmallDrill -> "Small Drill" is PowerCable -> "Power Cable (${powerBlock.facing.displayName()})" is LavaGenerator -> "Lava Generator" @@ -131,6 +134,7 @@ object PowerBlockDialog { is PowerSplitter -> "Power Splitter (${powerBlock.facing.displayName()})" is CobblestoneFactory -> "Cobblestone Factory" is ObsidianFactory -> "Obsidian Factory" + is Crusher -> "Crusher (${powerBlock.facing.displayName()})" is PowerMerger -> "Power Merger (${powerBlock.facing.displayName()})" else -> "Power Block" } @@ -175,6 +179,12 @@ object PowerBlockDialog { is SmallBattery -> Component.text("Storage - holds up to 10 power") .color(NamedTextColor.GRAY) + is SoftTouchDrill -> { + val directionName = powerBlock.miningDirection.displayName() + val status = if (powerBlock.enabled) "ON" else "OFF" + Component.text("Machine - mining $directionName, $status, consumes 50 power/s (silk touch)") + .color(NamedTextColor.GRAY) + } is SmallDrill -> { val directionName = powerBlock.miningDirection.displayName() val status = if (powerBlock.enabled) "ON" else "OFF" @@ -199,6 +209,9 @@ object PowerBlockDialog { is ObsidianFactory -> Component.text("Machine - consumes ${ObsidianFactory.POWER_COST} power + water + lava → obsidian") .color(NamedTextColor.GRAY) + is Crusher -> + Component.text("Machine - crushes ore blocks into 2x ores, consumes ${Crusher.POWER_PER_CRUSH} power/item") + .color(NamedTextColor.GRAY) is PowerMerger -> Component.text("Cable - merges power from all sides, outputs in facing direction") .color(NamedTextColor.GRAY) diff --git a/src/test/kotlin/com/coderjoe/atlas/AtlasPluginTest.kt b/src/test/kotlin/com/coderjoe/atlas/AtlasPluginTest.kt index 8b3b2c4..6776148 100644 --- a/src/test/kotlin/com/coderjoe/atlas/AtlasPluginTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/AtlasPluginTest.kt @@ -32,9 +32,9 @@ class AtlasPluginTest { } @Test - fun `power system initializes with 17 block types`() { + fun `power system initializes with 18 block types`() { TestHelper.initPowerFactory() - assertEquals(17, PowerBlockFactory.getRegisteredBlockIds().size) + assertEquals(19, PowerBlockFactory.getRegisteredBlockIds().size) } @Test diff --git a/src/test/kotlin/com/coderjoe/atlas/TestHelper.kt b/src/test/kotlin/com/coderjoe/atlas/TestHelper.kt index 2fc7136..390770c 100644 --- a/src/test/kotlin/com/coderjoe/atlas/TestHelper.kt +++ b/src/test/kotlin/com/coderjoe/atlas/TestHelper.kt @@ -25,8 +25,10 @@ import com.coderjoe.atlas.transport.TransportBlockRegistry import com.coderjoe.atlas.transport.block.ConveyorBelt import com.coderjoe.atlas.utility.block.AutoSmelter import com.coderjoe.atlas.utility.block.CobblestoneFactory +import com.coderjoe.atlas.utility.block.Crusher import com.coderjoe.atlas.utility.block.ObsidianFactory import com.coderjoe.atlas.utility.block.SmallDrill +import com.coderjoe.atlas.utility.block.SoftTouchDrill import io.mockk.every import io.mockk.mockk import io.mockk.unmockkAll @@ -201,7 +203,9 @@ object TestHelper { SmallBattery.descriptor, PowerCable.descriptor, LavaGenerator.descriptor, AutoSmelter.descriptor, PowerSplitter.descriptor, CobblestoneFactory.descriptor, - ObsidianFactory.descriptor, PowerMerger.descriptor, + ObsidianFactory.descriptor, Crusher.descriptor, + PowerMerger.descriptor, + SoftTouchDrill.descriptor, ), ) } diff --git a/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockInitializerTest.kt b/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockInitializerTest.kt index ac7cb10..d7da5a8 100644 --- a/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockInitializerTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/power/PowerBlockInitializerTest.kt @@ -37,9 +37,11 @@ class PowerBlockInitializerTest { // PowerSplitter: 1 // CobblestoneFactory: 2 (base + active) // ObsidianFactory: 2 (base + active) + // Crusher: 1 // PowerMerger: 1 - // Total: 17 - assertEquals(17, ids.size) + // SoftTouchDrill: 1 + // Total: 19 + assertEquals(19, ids.size) } @Test From 13be043d0175cd763c9c1b001d4ddd70fde40603 Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Sun, 22 Mar 2026 23:36:17 -0400 Subject: [PATCH 9/9] Refactor ore drop mapping for improved readability and update test imports --- .../coderjoe/atlas/utility/block/Crusher.kt | 37 ++++++++++--------- .../com/coderjoe/atlas/utility/CrusherTest.kt | 2 +- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/main/kotlin/com/coderjoe/atlas/utility/block/Crusher.kt b/src/main/kotlin/com/coderjoe/atlas/utility/block/Crusher.kt index 3e79378..2bc0369 100644 --- a/src/main/kotlin/com/coderjoe/atlas/utility/block/Crusher.kt +++ b/src/main/kotlin/com/coderjoe/atlas/utility/block/Crusher.kt @@ -24,24 +24,25 @@ class Crusher(location: Location, facing: BlockFace = BlockFace.NORTH) : PowerBl private const val MOVE_DISTANCE = 1.0 private const val DROP_AMOUNT = 2 - val ORE_TO_DROP: Map = mapOf( - Material.IRON_ORE to Material.RAW_IRON, - Material.GOLD_ORE to Material.RAW_GOLD, - Material.COPPER_ORE to Material.RAW_COPPER, - Material.COAL_ORE to Material.COAL, - Material.DIAMOND_ORE to Material.DIAMOND, - Material.EMERALD_ORE to Material.EMERALD, - Material.LAPIS_ORE to Material.LAPIS_LAZULI, - Material.REDSTONE_ORE to Material.REDSTONE, - Material.DEEPSLATE_IRON_ORE to Material.RAW_IRON, - Material.DEEPSLATE_GOLD_ORE to Material.RAW_GOLD, - Material.DEEPSLATE_COPPER_ORE to Material.RAW_COPPER, - Material.DEEPSLATE_COAL_ORE to Material.COAL, - Material.DEEPSLATE_DIAMOND_ORE to Material.DIAMOND, - Material.DEEPSLATE_EMERALD_ORE to Material.EMERALD, - Material.DEEPSLATE_LAPIS_ORE to Material.LAPIS_LAZULI, - Material.DEEPSLATE_REDSTONE_ORE to Material.REDSTONE, - ) + val ORE_TO_DROP: Map = + mapOf( + Material.IRON_ORE to Material.RAW_IRON, + Material.GOLD_ORE to Material.RAW_GOLD, + Material.COPPER_ORE to Material.RAW_COPPER, + Material.COAL_ORE to Material.COAL, + Material.DIAMOND_ORE to Material.DIAMOND, + Material.EMERALD_ORE to Material.EMERALD, + Material.LAPIS_ORE to Material.LAPIS_LAZULI, + Material.REDSTONE_ORE to Material.REDSTONE, + Material.DEEPSLATE_IRON_ORE to Material.RAW_IRON, + Material.DEEPSLATE_GOLD_ORE to Material.RAW_GOLD, + Material.DEEPSLATE_COPPER_ORE to Material.RAW_COPPER, + Material.DEEPSLATE_COAL_ORE to Material.COAL, + Material.DEEPSLATE_DIAMOND_ORE to Material.DIAMOND, + Material.DEEPSLATE_EMERALD_ORE to Material.EMERALD, + Material.DEEPSLATE_LAPIS_ORE to Material.LAPIS_LAZULI, + Material.DEEPSLATE_REDSTONE_ORE to Material.REDSTONE, + ) val descriptor = BlockDescriptor( diff --git a/src/test/kotlin/com/coderjoe/atlas/utility/CrusherTest.kt b/src/test/kotlin/com/coderjoe/atlas/utility/CrusherTest.kt index 9b869ca..8750e21 100644 --- a/src/test/kotlin/com/coderjoe/atlas/utility/CrusherTest.kt +++ b/src/test/kotlin/com/coderjoe/atlas/utility/CrusherTest.kt @@ -15,8 +15,8 @@ import org.bukkit.block.BlockFace import org.bukkit.entity.Item import org.bukkit.inventory.ItemStack import org.junit.jupiter.api.AfterEach -import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertDoesNotThrow +import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test