get building placing working properly
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@ -117,3 +117,6 @@ runs/
|
|||||||
|
|
||||||
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
|
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
|
||||||
!gradle-wrapper.jar
|
!gradle-wrapper.jar
|
||||||
|
|
||||||
|
# Ignore gradle.properties cos its got sensitive info
|
||||||
|
gradle.properties
|
||||||
@ -1,8 +1,10 @@
|
|||||||
|
import de.nilsdruyen.gradle.ftp.UploadExtension
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm") version "2.1.20-Beta1"
|
kotlin("jvm") version "2.1.20-Beta1"
|
||||||
id("com.github.johnrengelman.shadow") version "8.1.1"
|
id("com.gradleup.shadow") version "8.3.5"
|
||||||
id("io.papermc.paperweight.userdev") version "2.0.0-beta.11"
|
id("io.papermc.paperweight.userdev") version "2.0.0-beta.11"
|
||||||
// id("de.nilsdruyen.gradle-ftp-upload-plugin") version "0.5.0"
|
id("de.nilsdruyen.gradle-ftp-upload-plugin") version "0.5.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "com.pobnellion"
|
group = "com.pobnellion"
|
||||||
@ -64,3 +66,16 @@ tasks.shadowJar {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
configure<UploadExtension> {
|
||||||
|
host = properties.getOrDefault("ftp.host", "").toString()
|
||||||
|
port = properties.getOrDefault("ftp.port", 22).toString().toInt()
|
||||||
|
username = properties.getOrDefault("ftp.username", "").toString()
|
||||||
|
password = properties.getOrDefault("ftp.password", "").toString()
|
||||||
|
sourceDir = "${layout.buildDirectory.get()}/libs"
|
||||||
|
targetDir = "/plugins/"
|
||||||
|
clearDirectoryBeforeUpload = false
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.uploadFilesToFtp {
|
||||||
|
dependsOn("shadowJar")
|
||||||
|
}
|
||||||
@ -1,10 +1,7 @@
|
|||||||
package com.pobnellion.aoe.building
|
package com.pobnellion.aoe.building
|
||||||
|
|
||||||
import com.pobnellion.aoe.ui.PlaceHint
|
|
||||||
import com.pobnellion.aoe.ui.PlaceHintValidators
|
|
||||||
import org.bukkit.Location
|
import org.bukkit.Location
|
||||||
import org.bukkit.Material
|
import org.bukkit.Material
|
||||||
import org.bukkit.entity.Player
|
|
||||||
|
|
||||||
class Blacksmith(location: Location, variant: Int): Building(location, variant) {
|
class Blacksmith(location: Location, variant: Int): Building(location, variant) {
|
||||||
fun place(location: Location, sizeX: Float, sizeY: Float, sizeZ: Float, offsetY: Int) {
|
fun place(location: Location, sizeX: Float, sizeY: Float, sizeZ: Float, offsetY: Int) {
|
||||||
|
|||||||
@ -3,13 +3,14 @@ package com.pobnellion.aoe.building
|
|||||||
import com.pobnellion.aoe.Aoe
|
import com.pobnellion.aoe.Aoe
|
||||||
import com.pobnellion.aoe.ui.PlaceHintValidators
|
import com.pobnellion.aoe.ui.PlaceHintValidators
|
||||||
import com.sk89q.worldedit.WorldEdit
|
import com.sk89q.worldedit.WorldEdit
|
||||||
|
import com.sk89q.worldedit.bukkit.BukkitAdapter
|
||||||
import com.sk89q.worldedit.extent.clipboard.Clipboard
|
import com.sk89q.worldedit.extent.clipboard.Clipboard
|
||||||
import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormats
|
import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormats
|
||||||
import com.sk89q.worldedit.function.operation.Operation
|
import com.sk89q.worldedit.function.operation.Operation
|
||||||
import com.sk89q.worldedit.function.operation.Operations
|
import com.sk89q.worldedit.function.operation.Operations
|
||||||
import com.sk89q.worldedit.math.BlockVector3
|
import com.sk89q.worldedit.math.BlockVector3
|
||||||
import com.sk89q.worldedit.session.ClipboardHolder
|
import com.sk89q.worldedit.session.ClipboardHolder
|
||||||
import com.sk89q.worldedit.world.World
|
import org.bukkit.Bukkit
|
||||||
import org.bukkit.Location
|
import org.bukkit.Location
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileInputStream
|
import java.io.FileInputStream
|
||||||
@ -17,8 +18,8 @@ import java.io.FileInputStream
|
|||||||
|
|
||||||
class TownCenter(location: Location, variant: Int): Building(location, variant) {
|
class TownCenter(location: Location, variant: Int): Building(location, variant) {
|
||||||
companion object Info: BuildingInfo {
|
companion object Info: BuildingInfo {
|
||||||
override val buildingType: BuildingType = BuildingType.TOWN_CENTER
|
override val buildingType = BuildingType.TOWN_CENTER
|
||||||
override val schematicNames: List<String> = listOf("plains_towncenter")
|
override val schematicNames = listOf("plains_towncenter")
|
||||||
|
|
||||||
override fun validate(location: Location): Boolean {
|
override fun validate(location: Location): Boolean {
|
||||||
return PlaceHintValidators.allReplaceable(location, 10f, 10f, 10f, -2)
|
return PlaceHintValidators.allReplaceable(location, 10f, 10f, 10f, -2)
|
||||||
@ -38,12 +39,12 @@ class TownCenter(location: Location, variant: Int): Building(location, variant)
|
|||||||
clipboard = reader.read()
|
clipboard = reader.read()
|
||||||
}
|
}
|
||||||
|
|
||||||
clipboard.origin = BlockVector3.ZERO
|
val offset = clipboard.region.minimumPoint.subtract(clipboard.origin)
|
||||||
|
|
||||||
WorldEdit.getInstance().newEditSession(location.world as World).use { editSession ->
|
WorldEdit.getInstance().newEditSession(BukkitAdapter.adapt(location.world)).use { editSession ->
|
||||||
val operation: Operation = ClipboardHolder(clipboard)
|
val operation: Operation = ClipboardHolder(clipboard)
|
||||||
.createPaste(editSession)
|
.createPaste(editSession)
|
||||||
.to(BlockVector3.at(location.x, location.y, location.z)) // configure here
|
.to(BlockVector3.at(location.x, location.y, location.z).subtract(offset)) // configure here
|
||||||
.build()
|
.build()
|
||||||
Operations.complete(operation)
|
Operations.complete(operation)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import com.pobnellion.aoe.building.TownCenter
|
|||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
|
|
||||||
class Plains(players: List<Player>) : Team(players) {
|
class Plains(players: List<Player>) : Team(players) {
|
||||||
override val name: String = "Plains"
|
override fun name(): String = "Plains"
|
||||||
|
|
||||||
override fun getBuildingInfo(type: BuildingType): BuildingInfo {
|
override fun getBuildingInfo(type: BuildingType): BuildingInfo {
|
||||||
return when (type) {
|
return when (type) {
|
||||||
|
|||||||
@ -12,11 +12,11 @@ abstract class Team(val players: List<Player>) {
|
|||||||
private val buildings: MutableList<Building> = mutableListOf()
|
private val buildings: MutableList<Building> = mutableListOf()
|
||||||
|
|
||||||
init {
|
init {
|
||||||
players.forEach { player -> player.sendMessage("Joined team $name") }
|
players.forEach { player -> player.sendMessage("Joined team ${name()}") }
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract fun getBuildingInfo(type: BuildingType): BuildingInfo
|
protected abstract fun getBuildingInfo(type: BuildingType): BuildingInfo
|
||||||
protected abstract val name: String
|
protected abstract fun name(): String
|
||||||
|
|
||||||
fun addBuilding(location: Location, building: BuildingInfo, variant: Int) {
|
fun addBuilding(location: Location, building: BuildingInfo, variant: Int) {
|
||||||
buildings.add(building.create(location, variant))
|
buildings.add(building.create(location, variant))
|
||||||
|
|||||||
@ -10,7 +10,6 @@ import org.bukkit.Location
|
|||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
import org.bukkit.util.Vector
|
import org.bukkit.util.Vector
|
||||||
import org.joml.Vector3f
|
import org.joml.Vector3f
|
||||||
import java.io.File
|
|
||||||
import java.io.FileInputStream
|
import java.io.FileInputStream
|
||||||
import kotlin.math.floor
|
import kotlin.math.floor
|
||||||
|
|
||||||
@ -50,8 +49,7 @@ class BuildingPlaceHint(
|
|||||||
|
|
||||||
this.offset = Vector(
|
this.offset = Vector(
|
||||||
-floor(clipboard.dimensions.x() / 2.0),
|
-floor(clipboard.dimensions.x() / 2.0),
|
||||||
// clipboard.minY.toDouble(),
|
clipboard.minY.toDouble() + 1,
|
||||||
0.0,
|
|
||||||
-floor(clipboard.dimensions.z() / 2.0))
|
-floor(clipboard.dimensions.z() / 2.0))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import com.comphenix.protocol.events.PacketContainer
|
|||||||
import com.comphenix.protocol.wrappers.*
|
import com.comphenix.protocol.wrappers.*
|
||||||
import com.comphenix.protocol.wrappers.WrappedDataWatcher.Registry
|
import com.comphenix.protocol.wrappers.WrappedDataWatcher.Registry
|
||||||
import com.destroystokyo.paper.MaterialSetTag
|
import com.destroystokyo.paper.MaterialSetTag
|
||||||
import org.bukkit.Bukkit
|
|
||||||
import org.bukkit.Location
|
import org.bukkit.Location
|
||||||
import org.bukkit.block.data.BlockData
|
import org.bukkit.block.data.BlockData
|
||||||
import org.bukkit.entity.EntityType
|
import org.bukkit.entity.EntityType
|
||||||
|
|||||||
Reference in New Issue
Block a user