mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-13 03:54:06 +09:00
71 lines
2.2 KiB
Kotlin
71 lines
2.2 KiB
Kotlin
package net.torvald.terrarum.modulebasegame.gameitems
|
|
|
|
import net.torvald.terrarum.App.printdbg
|
|
import net.torvald.terrarum.BlockCodex
|
|
import net.torvald.terrarum.INGAME
|
|
import net.torvald.terrarum.Terrarum
|
|
import net.torvald.terrarum.blockproperties.Fluid
|
|
import net.torvald.terrarum.gameactors.ActorWithBody
|
|
import net.torvald.terrarum.gameitems.GameItem
|
|
import net.torvald.terrarum.gameitems.GameItem.EquipPosition.HAND_GRIP
|
|
import net.torvald.terrarum.gameitems.ItemID
|
|
|
|
/**
|
|
* Created by minjaesong on 2024-07-14.
|
|
*/
|
|
class ItemBottomlessWaterBucket(originalID: ItemID) : GameItem(originalID) {
|
|
|
|
override var baseToolSize: Double? = PickaxeCore.BASE_MASS_AND_SIZE
|
|
override var inventoryCategory = Category.TOOL
|
|
override val canBeDynamic = false
|
|
override val materialId = "CUPR"
|
|
override var baseMass = 2.0
|
|
override var equipPosition = HAND_GRIP
|
|
override var originalName = "ITEM_BOTTOMLESS_WATER_BUCKET"
|
|
|
|
init {
|
|
stackable = false
|
|
isUnique = true
|
|
}
|
|
|
|
override fun startPrimaryUse(actor: ActorWithBody, delta: Float): Long {
|
|
val mx = Terrarum.mouseTileX; val my =Terrarum.mouseTileY
|
|
if (!BlockCodex[INGAME.world.getTileFromTerrain(mx, my)].isSolid) {
|
|
INGAME.world.setFluid(mx, my, Fluid.WATER, 1f)
|
|
return 0L
|
|
}
|
|
else {
|
|
return -1L
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Created by minjaesong on 2024-09-07.
|
|
*/
|
|
class ItemBottomlessLavaBucket(originalID: ItemID) : GameItem(originalID) {
|
|
|
|
override var baseToolSize: Double? = PickaxeCore.BASE_MASS_AND_SIZE
|
|
override var inventoryCategory = Category.TOOL
|
|
override val canBeDynamic = false
|
|
override val materialId = "CUPR"
|
|
override var baseMass = 2.0
|
|
override var equipPosition = HAND_GRIP
|
|
override var originalName = "ITEM_BOTTOMLESS_LAVA_BUCKET"
|
|
|
|
init {
|
|
stackable = false
|
|
isUnique = true
|
|
}
|
|
|
|
override fun startPrimaryUse(actor: ActorWithBody, delta: Float): Long {
|
|
val mx = Terrarum.mouseTileX; val my =Terrarum.mouseTileY
|
|
if (!BlockCodex[INGAME.world.getTileFromTerrain(mx, my)].isSolid) {
|
|
INGAME.world.setFluid(mx, my, Fluid.CRUDE_OIL, 1f)
|
|
return 0L
|
|
}
|
|
else {
|
|
return -1L
|
|
}
|
|
}
|
|
} |