diff --git a/src/main/kotlin/net/axay/kspigot/structures/Structure.kt b/src/main/kotlin/net/axay/kspigot/structures/Structure.kt index 8c8f39a7..4a6eea51 100644 --- a/src/main/kotlin/net/axay/kspigot/structures/Structure.kt +++ b/src/main/kotlin/net/axay/kspigot/structures/Structure.kt @@ -15,6 +15,30 @@ interface StructureData { fun createAt(loc: Location) } +class SingleStructureData( + val location: Location, + val structureData: StructureData +) + +data class Structure( + val blocks: Set = emptySet(), + val entities: Set = emptySet() +) + +/* + * Structure data implementations. + */ + +data class StructureDataMaterial( + val material: Material +) : StructureData { + + override fun createAt(loc: Location) { + loc.block.type = material + } + +} + data class StructureDataBlock( val material: Material, val blockData: BlockData @@ -43,14 +67,4 @@ data class StructureDataEntity( loc.spawnCleanEntity(entityType)?.nbtData = nbtData } -} - -class SingleStructureData( - val location: Location, - val structureData: StructureData -) - -data class Structure( - val blocks: Set = emptySet(), - val entities: Set = emptySet() -) \ No newline at end of file +} \ No newline at end of file