moving things around and inventory stuff

This commit is contained in:
ruby
2025-01-12 21:32:12 +13:00
parent 57626e4f95
commit 685a1af396
13 changed files with 244 additions and 81 deletions

View File

@ -11,6 +11,7 @@ import com.sk89q.worldedit.function.operation.Operations
import com.sk89q.worldedit.math.BlockVector3
import com.sk89q.worldedit.session.ClipboardHolder
import org.bukkit.Location
import org.bukkit.util.Vector
import java.io.File
import java.io.FileInputStream
@ -22,19 +23,26 @@ abstract class Building(val location: Location, val variant: Int): EntityWorkTar
override fun removeProgress(amount: Float) {}
override fun onComplete() {}
var sizeX: Int
var sizeZ: Int
fun center(): Location = location.clone().add(sizeX / 2.0, 0.0, sizeZ / 2.0)
private val clipboard: Clipboard
abstract var populationCapacity: Int
abstract fun getSchematicName(variant: Int): String
fun placeFull() {
currentProgressPercent = 1f
var clipboard: Clipboard
val file: File = Aoe.getSchematicFile(getSchematicName(variant))
init {
val file: File = Aoe.getSchematicFile(this.getSchematicName(variant))
val format = ClipboardFormats.findByFile(file)
format!!.getReader(FileInputStream(file)).use { reader ->
clipboard = reader.read()
}
sizeX = clipboard.maximumPoint.x() - clipboard.minimumPoint.x()
sizeZ = clipboard.maximumPoint.z() - clipboard.minimumPoint.z()
}
fun placeFull() {
currentProgressPercent = 1f
val offset = clipboard.region.minimumPoint.subtract(clipboard.origin)
WorldEdit.getInstance().newEditSession(BukkitAdapter.adapt(location.world)).use { editSession ->
@ -50,6 +58,7 @@ abstract class Building(val location: Location, val variant: Int): EntityWorkTar
interface BuildingInfo {
val buildingType: BuildingType
val schematicNames: List<String>
fun getSize(variant: Int): Vector
fun validate(location: Location): Boolean
fun create(location: Location, variant: Int): Building
}