mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 16:16:17 +02:00
Only use paper + code cleanup
This commit is contained in:
parent
6ede990987
commit
c12e70ca54
28 changed files with 132 additions and 352 deletions
|
|
@ -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")
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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)
|
||||
|
||||
}
|
||||
|
|
@ -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.
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue