mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-15 18:34:56 -04:00
replace Abilities::creative with gamemode
This commit is contained in:
parent
fbcd7e75de
commit
a383d5972c
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Minosoft
|
||||
* Copyright (C) 2020-2022 Moritz Zwerger
|
||||
* Copyright (C) 2020-2023 Moritz Zwerger
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
@ -17,7 +17,6 @@ data class Abilities(
|
||||
var isInvulnerable: Boolean = false,
|
||||
var isFlying: Boolean = false,
|
||||
var canFly: Boolean = false,
|
||||
var creative: Boolean = false, // ToDo: This is the check if we are in creative mode, but no exactly sure...
|
||||
|
||||
var flyingSpeed: Double = 0.05,
|
||||
var walkingSpeed: Double = 0.1,
|
||||
|
@ -142,9 +142,8 @@ class BreakInteractionHandler(
|
||||
val canStartBreaking = currentTime - breakSent >= ProtocolDefinition.TICK_TIME
|
||||
|
||||
|
||||
val canInstantBreak = connection.player.baseAbilities.creative || connection.player.gamemode == Gamemodes.CREATIVE
|
||||
|
||||
if (canInstantBreak) {
|
||||
if (connection.player.gamemode == Gamemodes.CREATIVE) {
|
||||
if (!canStartBreaking) {
|
||||
return true
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Minosoft
|
||||
* Copyright (C) 2020-2022 Moritz Zwerger
|
||||
* Copyright (C) 2020-2023 Moritz Zwerger
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
@ -17,6 +17,7 @@ import de.bixilon.kutil.rate.RateLimiter
|
||||
import de.bixilon.minosoft.config.key.KeyActions
|
||||
import de.bixilon.minosoft.config.key.KeyBinding
|
||||
import de.bixilon.minosoft.config.key.KeyCodes
|
||||
import de.bixilon.minosoft.data.abilities.Gamemodes
|
||||
import de.bixilon.minosoft.data.container.EquipmentSlots
|
||||
import de.bixilon.minosoft.data.container.ItemStackUtil
|
||||
import de.bixilon.minosoft.data.container.stack.ItemStack
|
||||
@ -44,7 +45,7 @@ class ItemPickInteractionHandler(
|
||||
}
|
||||
|
||||
fun pickItem(copyNBT: Boolean) {
|
||||
if (!connection.player.baseAbilities.creative) {
|
||||
if (connection.player.gamemode != Gamemodes.CREATIVE) {
|
||||
return
|
||||
}
|
||||
val target = context.camera.targetHandler.target ?: return
|
||||
|
@ -27,7 +27,7 @@ class PlayerAbilitiesS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket {
|
||||
val isInvulnerable: Boolean
|
||||
val isFlying: Boolean
|
||||
val canFly: Boolean
|
||||
val canInstantBuild: Boolean
|
||||
val creative: Boolean
|
||||
|
||||
val flyingSpeed: Double
|
||||
val walkingSpeed: Double
|
||||
@ -38,9 +38,9 @@ class PlayerAbilitiesS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket {
|
||||
canFly = flags.isBit(2)
|
||||
if (buffer.versionId < ProtocolVersions.V_14W03B) { // ToDo: Find out correct version
|
||||
isInvulnerable = flags.isBit(0)
|
||||
canInstantBuild = flags.isBit(3)
|
||||
creative = flags.isBit(3)
|
||||
} else {
|
||||
canInstantBuild = flags.isBit(0)
|
||||
creative = flags.isBit(0)
|
||||
isInvulnerable = flags.isBit(3)
|
||||
}
|
||||
flyingSpeed = buffer.readFloat().toDouble()
|
||||
@ -48,7 +48,7 @@ class PlayerAbilitiesS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket {
|
||||
}
|
||||
|
||||
override fun log(reducedLog: Boolean) {
|
||||
Log.log(LogMessageType.NETWORK_PACKETS_IN, level = LogLevels.VERBOSE) { "Player abilities (isInvulnerable=$isInvulnerable, isFlying=$isFlying, canFly=$canFly, canInstantBuild=$canInstantBuild, flyingSpeed=$flyingSpeed, walkingSpeed=$walkingSpeed)" }
|
||||
Log.log(LogMessageType.NETWORK_PACKETS_IN, level = LogLevels.VERBOSE) { "Player abilities (isInvulnerable=$isInvulnerable, isFlying=$isFlying, canFly=$canFly, canInstantBuild=$creative, flyingSpeed=$flyingSpeed, walkingSpeed=$walkingSpeed)" }
|
||||
}
|
||||
|
||||
override fun handle(connection: PlayConnection) {
|
||||
@ -57,7 +57,6 @@ class PlayerAbilitiesS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket {
|
||||
abilities.isInvulnerable = isInvulnerable
|
||||
abilities.isFlying = isFlying
|
||||
abilities.canFly = canFly
|
||||
abilities.creative = canInstantBuild
|
||||
|
||||
abilities.flyingSpeed = flyingSpeed
|
||||
abilities.walkingSpeed = walkingSpeed
|
||||
|
Loading…
x
Reference in New Issue
Block a user