Only use paper + code cleanup

This commit is contained in:
alexcrea 2025-07-09 10:18:55 +02:00
parent 6ede990987
commit c12e70ca54
Signed by: alexcrea
GPG key ID: E346CD16413450E3
28 changed files with 132 additions and 352 deletions

View file

@ -1,10 +1,12 @@
group = rootProject.group
version = rootProject.version
dependencies {
// Spigot api
compileOnly("org.spigotmc:spigot-api:1.18-R0.1-SNAPSHOT")
plugins {
id("io.papermc.paperweight.userdev")
}
dependencies {
// Paper
paperweight.paperDevBundle("1.21.1-R0.1-SNAPSHOT")
// Protocolib
compileOnly("net.dmulloy2:ProtocolLib:5.4.0")
}

View file

@ -1,14 +0,0 @@
package xyz.alexcrea.cuanvil.dependency.packet
import org.bukkit.entity.Player
class NoPacketManager: PacketManager {
override val canSetInstantBuild: Boolean
get() = false
override fun setInstantBuild(player: Player, instantBuild: Boolean) {
// ProtocoLib not installed and not in a supported version: We do nothing
}
}

View file

@ -1,17 +0,0 @@
package xyz.alexcrea.cuanvil.dependency.packet
import org.bukkit.entity.Player
interface PacketManager {
/**
* If the provided packet manager if able to set instant build.
*/
val canSetInstantBuild: Boolean
/**
* Try to set instant build properties
*/
fun setInstantBuild(player: Player, instantBuild: Boolean)
}

View file

@ -1,14 +1,13 @@
package xyz.alexcrea.cuanvil.dependency.packet
import org.bukkit.entity.Player
import org.bukkit.event.Listener
abstract class PacketManagerBase() : PacketManager, Listener {
open class PacketManagerBase {
override val canSetInstantBuild: Boolean
open val canSetInstantBuild: Boolean
get() = false
override fun setInstantBuild(player: Player, instantBuild: Boolean) {
open fun setInstantBuild(player: Player, instantBuild: Boolean) {
// Default implementation is empty.
}

View file

@ -1,39 +0,0 @@
package xyz.alexcrea.cuanvil.dependency.packet
import com.comphenix.protocol.PacketType
import com.comphenix.protocol.ProtocolLibrary
import com.comphenix.protocol.ProtocolManager
import com.comphenix.protocol.events.PacketContainer
import org.bukkit.entity.Player
import java.lang.reflect.InvocationTargetException
class ProtocoLibWrapper: PacketManager {
private val protocolManager: ProtocolManager = ProtocolLibrary.getProtocolManager();
override val canSetInstantBuild: Boolean
get() = true
override fun setInstantBuild(player: Player, instantBuild: Boolean) {
val packet = PacketContainer(PacketType.Play.Server.ABILITIES)
// Set player's properties
packet.float
.write(0, player.flySpeed / 2)
.write(1, player.walkSpeed / 2)
packet.booleans
.write(0, player.isInvulnerable)
.write(1, player.isFlying)
.write(2, player.allowFlight)
.write(3, instantBuild)
// Send packet
try {
protocolManager.sendServerPacket(player, packet)
} catch (e: InvocationTargetException) {
e.printStackTrace()
}
}
}