mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-12 17:07:55 -04:00
event initiators
This commit is contained in:
parent
013beb7057
commit
5b36103e4d
@ -19,11 +19,12 @@ import de.bixilon.minosoft.util.enum.ValuesEnum
|
||||
enum class EventInitiators {
|
||||
CLIENT,
|
||||
SERVER,
|
||||
UNKNOWN,
|
||||
;
|
||||
|
||||
companion object : ValuesEnum<EventInitiators> {
|
||||
override val VALUES: Array<EventInitiators> = values()
|
||||
override val NAME_MAP: Map<String, EventInitiators> = KUtil.getEnumValues(VALUES)
|
||||
|
||||
val DEFAULT = UNKNOWN
|
||||
}
|
||||
}
|
||||
|
@ -23,10 +23,10 @@ import glm_.vec3.Vec3i
|
||||
*/
|
||||
class BlockSetEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators = EventInitiators.DEFAULT,
|
||||
val blockPosition: Vec3i,
|
||||
val blockState: BlockState?,
|
||||
val initiator: EventInitiators = EventInitiators.CLIENT,
|
||||
) : PlayConnectionEvent(connection) {
|
||||
) : PlayConnectionEvent(connection, initiator) {
|
||||
|
||||
constructor(connection: PlayConnection, packet: BlockSetS2CP) : this(connection, packet.blockPosition, packet.blockState, EventInitiators.SERVER)
|
||||
constructor(connection: PlayConnection, packet: BlockSetS2CP) : this(connection, EventInitiators.SERVER, packet.blockPosition, packet.blockState)
|
||||
}
|
||||
|
@ -12,8 +12,12 @@
|
||||
*/
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
|
||||
abstract class CancelableEvent(connection: PlayConnection) : PlayConnectionEvent(connection) {
|
||||
abstract class CancelableEvent @JvmOverloads constructor(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators = EventInitiators.DEFAULT,
|
||||
) : PlayConnectionEvent(connection, initiator) {
|
||||
var isCancelled = false
|
||||
}
|
||||
|
@ -12,6 +12,10 @@
|
||||
*/
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.Connection
|
||||
|
||||
abstract class ConnectionEvent(open val connection: Connection) : Event()
|
||||
abstract class ConnectionEvent @JvmOverloads constructor(
|
||||
open val connection: Connection,
|
||||
val initiator: EventInitiators = EventInitiators.DEFAULT,
|
||||
) : Event()
|
||||
|
@ -12,6 +12,7 @@
|
||||
*/
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.play.ContainerCloseC2SP
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.ContainerCloseS2CP
|
||||
@ -21,16 +22,12 @@ import de.bixilon.minosoft.protocol.packets.s2c.play.ContainerCloseS2CP
|
||||
*/
|
||||
class ContainerCloseEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators,
|
||||
val containerId: Int,
|
||||
val initiator: Initiators,
|
||||
) : CancelableEvent(connection) {
|
||||
) : CancelableEvent(connection, initiator) {
|
||||
|
||||
constructor(connection: PlayConnection, packet: ContainerCloseS2CP) : this(connection, packet.containerId, Initiators.SERVER)
|
||||
constructor(connection: PlayConnection, packet: ContainerCloseS2CP) : this(connection, EventInitiators.SERVER, packet.containerId)
|
||||
|
||||
constructor(connection: PlayConnection, packet: ContainerCloseC2SP) : this(connection, packet.containerId, Initiators.CLIENT)
|
||||
constructor(connection: PlayConnection, packet: ContainerCloseC2SP) : this(connection, EventInitiators.CLIENT, packet.containerId)
|
||||
|
||||
enum class Initiators {
|
||||
CLIENT,
|
||||
SERVER,
|
||||
}
|
||||
}
|
||||
|
@ -13,23 +13,16 @@
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.data.entities.entities.Entity
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.EntityDestroyS2CP
|
||||
|
||||
class EntityDestroyEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators,
|
||||
val entities: List<Entity>,
|
||||
) : PlayConnectionEvent(connection) {
|
||||
) : PlayConnectionEvent(connection, initiator) {
|
||||
|
||||
constructor(connection: PlayConnection, packet: EntityDestroyS2CP) : this(connection, packet.entityIds.resolveEntityIds(connection))
|
||||
constructor(connection: PlayConnection, packet: EntityDestroyS2CP) : this(connection, EventInitiators.SERVER, packet.entityIds.entities(connection))
|
||||
|
||||
companion object {
|
||||
private fun List<Int>.resolveEntityIds(connection: PlayConnection): List<Entity> {
|
||||
val entities: MutableList<Entity> = mutableListOf()
|
||||
for (id in this) {
|
||||
entities += connection.world.entities[id] ?: continue
|
||||
}
|
||||
return entities.toList()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -15,14 +15,16 @@ package de.bixilon.minosoft.modding.event.events
|
||||
import de.bixilon.minosoft.data.entities.entities.Entity
|
||||
import de.bixilon.minosoft.data.inventory.InventorySlots.EquipmentSlots
|
||||
import de.bixilon.minosoft.data.inventory.ItemStack
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.EntityEquipmentS2CP
|
||||
|
||||
class EntityEquipmentChangeEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators,
|
||||
val entity: Entity,
|
||||
val equipment: Map<EquipmentSlots, ItemStack?>,
|
||||
) : PlayConnectionEvent(connection) {
|
||||
) : PlayConnectionEvent(connection, initiator) {
|
||||
|
||||
constructor(connection: PlayConnection, packet: EntityEquipmentS2CP) : this(connection, connection.world.entities[packet.entityId]!!, packet.equipment)
|
||||
constructor(connection: PlayConnection, packet: EntityEquipmentS2CP) : this(connection, EventInitiators.SERVER, connection.world.entities[packet.entityId]!!, packet.equipment)
|
||||
}
|
||||
|
@ -13,13 +13,15 @@
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.data.entities.entities.Entity
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.EntityMetadataS2CP
|
||||
|
||||
class EntityMetaDataChangeEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators,
|
||||
val entity: Entity,
|
||||
) : PlayConnectionEvent(connection) {
|
||||
) : PlayConnectionEvent(connection, initiator) {
|
||||
|
||||
constructor(connection: PlayConnection, packet: EntityMetadataS2CP) : this(connection, connection.world.entities[packet.entityId]!!)
|
||||
constructor(connection: PlayConnection, packet: EntityMetadataS2CP) : this(connection, EventInitiators.SERVER, connection.world.entities[packet.entityId]!!)
|
||||
}
|
||||
|
@ -13,4 +13,18 @@
|
||||
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
abstract class Event
|
||||
import de.bixilon.minosoft.data.entities.entities.Entity
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
|
||||
abstract class Event {
|
||||
|
||||
companion object {
|
||||
fun List<Int>.entities(connection: PlayConnection): List<Entity> {
|
||||
val entities: MutableList<Entity> = mutableListOf()
|
||||
for (id in this) {
|
||||
entities += connection.world.entities[id] ?: continue
|
||||
}
|
||||
return entities.toList()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,18 +12,20 @@
|
||||
*/
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.ExplosionS2CP
|
||||
import glm_.vec3.Vec3
|
||||
|
||||
class ExplosionEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators,
|
||||
val position: Vec3,
|
||||
val power: Float,
|
||||
val explodedBlocks: List<Vec3>,
|
||||
val velocity: Vec3,
|
||||
) : PlayConnectionEvent(connection) {
|
||||
|
||||
constructor(connection: PlayConnection, packet: ExplosionS2CP) : this(connection, packet.position, packet.power, packet.explodedBlocks, packet.velocity)
|
||||
constructor(connection: PlayConnection, packet: ExplosionS2CP) : this(connection, EventInitiators.SERVER, packet.position, packet.power, packet.explodedBlocks, packet.velocity)
|
||||
|
||||
}
|
||||
|
@ -24,11 +24,11 @@ import glm_.vec3.Vec3i
|
||||
*/
|
||||
class MassBlockSetEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators,
|
||||
val blocks: Map<Vec3i, BlockState?>,
|
||||
val chunkPosition: Vec2i,
|
||||
val initiator: EventInitiators = EventInitiators.CLIENT,
|
||||
) : PlayConnectionEvent(connection) {
|
||||
) : PlayConnectionEvent(connection, initiator) {
|
||||
|
||||
constructor(connection: PlayConnection, packet: MassBlockSetS2CP) : this(connection, packet.blocks, packet.chunkPosition, EventInitiators.SERVER)
|
||||
constructor(connection: PlayConnection, packet: MassBlockSetS2CP) : this(connection, EventInitiators.SERVER, packet.blocks, packet.chunkPosition)
|
||||
|
||||
}
|
||||
|
@ -13,22 +13,24 @@
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.data.mappings.particle.data.ParticleData
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.ParticleS2CP
|
||||
import glm_.vec3.Vec3
|
||||
|
||||
class ParticleSpawnEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators,
|
||||
position: Vec3,
|
||||
offset: Vec3,
|
||||
val speed: Float,
|
||||
val count: Int,
|
||||
val data: ParticleData,
|
||||
) : CancelableEvent(connection) {
|
||||
) : CancelableEvent(connection, initiator) {
|
||||
val position: Vec3 = position
|
||||
get() = Vec3(field)
|
||||
val offset: Vec3 = offset
|
||||
get() = Vec3(field)
|
||||
|
||||
constructor(connection: PlayConnection, packet: ParticleS2CP) : this(connection, packet.position, packet.offset, packet.speed, packet.count, packet.data)
|
||||
constructor(connection: PlayConnection, packet: ParticleS2CP) : this(connection, EventInitiators.SERVER, packet.position, packet.offset, packet.speed, packet.count, packet.data)
|
||||
}
|
||||
|
@ -12,6 +12,10 @@
|
||||
*/
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
|
||||
abstract class PlayConnectionEvent(override val connection: PlayConnection) : ConnectionEvent(connection)
|
||||
abstract class PlayConnectionEvent @JvmOverloads constructor(
|
||||
override val connection: PlayConnection,
|
||||
initiator: EventInitiators = EventInitiators.DEFAULT,
|
||||
) : ConnectionEvent(connection, initiator)
|
||||
|
@ -15,20 +15,22 @@ package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.data.SoundCategories
|
||||
import de.bixilon.minosoft.data.mappings.sounds.SoundEvent
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.SoundEventS2CP
|
||||
import glm_.vec3.Vec3i
|
||||
|
||||
class PlaySoundEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators,
|
||||
val category: SoundCategories?,
|
||||
position: Vec3i,
|
||||
val soundEvent: SoundEvent,
|
||||
val volume: Float,
|
||||
val pitch: Float,
|
||||
) : CancelableEvent(connection) {
|
||||
) : CancelableEvent(connection, initiator) {
|
||||
val position: Vec3i = position
|
||||
get() = Vec3i(field)
|
||||
|
||||
constructor(connection: PlayConnection, packet: SoundEventS2CP) : this(connection, packet.category, packet.position, packet.soundEvent, packet.volume, packet.pitch)
|
||||
constructor(connection: PlayConnection, packet: SoundEventS2CP) : this(connection, EventInitiators.SERVER, packet.category, packet.position, packet.soundEvent, packet.volume, packet.pitch)
|
||||
}
|
||||
|
@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Minosoft
|
||||
* Copyright (C) 2020 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||
*/
|
||||
|
||||
package de.bixilon.minosoft.modding.event.events;
|
||||
|
||||
import de.bixilon.minosoft.data.text.ChatComponent;
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection;
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.TabListTextSetS2CP;
|
||||
|
||||
public class PlayerListInfoChangeEvent extends CancelableEvent {
|
||||
private final ChatComponent header;
|
||||
private final ChatComponent footer;
|
||||
|
||||
public PlayerListInfoChangeEvent(PlayConnection connection, ChatComponent header, ChatComponent footer) {
|
||||
super(connection);
|
||||
this.header = header;
|
||||
this.footer = footer;
|
||||
}
|
||||
|
||||
public PlayerListInfoChangeEvent(PlayConnection connection, TabListTextSetS2CP pkg) {
|
||||
super(connection);
|
||||
this.header = pkg.getHeader();
|
||||
this.footer = pkg.getFooter();
|
||||
}
|
||||
|
||||
public ChatComponent getHeader() {
|
||||
return this.header;
|
||||
}
|
||||
|
||||
public ChatComponent getFooter() {
|
||||
return this.footer;
|
||||
}
|
||||
}
|
@ -12,7 +12,17 @@
|
||||
*/
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.data.entities.entities.player.PlayerEntity
|
||||
import de.bixilon.minosoft.data.text.ChatComponent
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.TabListTextSetS2CP
|
||||
|
||||
class OwnEntityMetaDataChangeEvent(connection: PlayConnection, val entity: PlayerEntity) : PlayConnectionEvent(connection)
|
||||
class PlayerListInfoChangeEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators,
|
||||
val header: ChatComponent,
|
||||
val footer: ChatComponent,
|
||||
) : CancelableEvent(connection, initiator) {
|
||||
|
||||
constructor(connection: PlayConnection, packet: TabListTextSetS2CP) : this(connection, EventInitiators.SERVER, packet.header, packet.footer)
|
||||
}
|
@ -13,17 +13,19 @@
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.PluginMessageS2CP
|
||||
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
|
||||
|
||||
class PluginMessageReceiveEvent(
|
||||
connection: PlayConnection,
|
||||
initiators: EventInitiators,
|
||||
val channel: ResourceLocation,
|
||||
data: PlayInByteBuffer,
|
||||
) : CancelableEvent(connection) {
|
||||
) : CancelableEvent(connection, initiators) {
|
||||
val data: PlayInByteBuffer = data
|
||||
get() = PlayInByteBuffer(field)
|
||||
|
||||
constructor(connection: PlayConnection, packet: PluginMessageS2CP) : this(connection, packet.channel, packet.data)
|
||||
constructor(connection: PlayConnection, packet: PluginMessageS2CP) : this(connection, EventInitiators.SERVER, packet.channel, packet.data)
|
||||
}
|
||||
|
@ -12,16 +12,18 @@
|
||||
*/
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.play.HotbarSlotSetC2SP
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.HotbarSlotSetS2CP
|
||||
|
||||
class SelectHotbarSlotEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators,
|
||||
val slot: Int,
|
||||
) : PlayConnectionEvent(connection) {
|
||||
) : PlayConnectionEvent(connection, initiator) {
|
||||
|
||||
constructor(connection: PlayConnection, packet: HotbarSlotSetC2SP) : this(connection, packet.slot)
|
||||
constructor(connection: PlayConnection, packet: HotbarSlotSetC2SP) : this(connection, EventInitiators.CLIENT, packet.slot)
|
||||
|
||||
constructor(connection: PlayConnection, packet: HotbarSlotSetS2CP) : this(connection, packet.slot)
|
||||
constructor(connection: PlayConnection, packet: HotbarSlotSetS2CP) : this(connection, EventInitiators.SERVER, packet.slot)
|
||||
}
|
||||
|
@ -12,15 +12,17 @@
|
||||
*/
|
||||
package de.bixilon.minosoft.modding.event.events
|
||||
|
||||
import de.bixilon.minosoft.modding.event.EventInitiators
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.WorldTimeSetS2CP
|
||||
|
||||
class TimeChangeEvent(
|
||||
connection: PlayConnection,
|
||||
initiator: EventInitiators,
|
||||
val age: Long,
|
||||
val time: Long,
|
||||
) : CancelableEvent(connection) {
|
||||
) : CancelableEvent(connection, initiator) {
|
||||
|
||||
|
||||
constructor(connection: PlayConnection, packet: WorldTimeSetS2CP) : this(connection, packet.age, packet.time)
|
||||
constructor(connection: PlayConnection, packet: WorldTimeSetS2CP) : this(connection, EventInitiators.SERVER, packet.age, packet.time)
|
||||
}
|
||||
|
@ -14,7 +14,6 @@ package de.bixilon.minosoft.protocol.packets.s2c.play
|
||||
|
||||
import de.bixilon.minosoft.data.entities.meta.EntityMetaData
|
||||
import de.bixilon.minosoft.modding.event.events.EntityMetaDataChangeEvent
|
||||
import de.bixilon.minosoft.modding.event.events.OwnEntityMetaDataChangeEvent
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
|
||||
@ -30,11 +29,7 @@ class EntityMetadataS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket() {
|
||||
val entity = connection.world.entities[entityId] ?: return
|
||||
|
||||
entity.entityMetaData = metaData
|
||||
connection.fireEvent(EntityMetaDataChangeEvent(connection, entity))
|
||||
|
||||
if (entity === connection.player.entity) {
|
||||
connection.fireEvent(OwnEntityMetaDataChangeEvent(connection, entity))
|
||||
}
|
||||
connection.fireEvent(EntityMetaDataChangeEvent(connection, this))
|
||||
}
|
||||
|
||||
|
||||
|
@ -21,10 +21,10 @@ import de.bixilon.minosoft.util.logging.LogLevels
|
||||
import de.bixilon.minosoft.util.logging.LogMessageType
|
||||
|
||||
class HotbarSlotSetS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket() {
|
||||
val slot: Int = buffer.readByte().toInt()
|
||||
val slot: Int = buffer.readUnsignedByte()
|
||||
|
||||
override fun handle(connection: PlayConnection) {
|
||||
connection.fireEvent(SelectHotbarSlotEvent(connection, slot))
|
||||
connection.fireEvent(SelectHotbarSlotEvent(connection, this))
|
||||
|
||||
connection.player.selectedHotbarSlot = slot
|
||||
}
|
||||
|
@ -14,22 +14,16 @@
|
||||
package de.bixilon.minosoft.protocol.protocol;
|
||||
|
||||
import de.bixilon.minosoft.data.ChatTextPositions;
|
||||
import de.bixilon.minosoft.data.entities.EntityRotation;
|
||||
import de.bixilon.minosoft.data.mappings.ResourceLocation;
|
||||
import de.bixilon.minosoft.data.player.Hands;
|
||||
import de.bixilon.minosoft.data.text.ChatComponent;
|
||||
import de.bixilon.minosoft.modding.event.events.ChatMessageReceivingEvent;
|
||||
import de.bixilon.minosoft.modding.event.events.ChatMessageSendingEvent;
|
||||
import de.bixilon.minosoft.modding.event.events.ContainerCloseEvent;
|
||||
import de.bixilon.minosoft.protocol.network.connection.PlayConnection;
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.login.LoginPluginResponseC2SP;
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.play.*;
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.play.ChatMessageC2SP;
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.play.ClientActionC2SP;
|
||||
import de.bixilon.minosoft.util.logging.Log;
|
||||
import de.bixilon.minosoft.util.logging.LogMessageType;
|
||||
import glm_.vec3.Vec3;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@Deprecated
|
||||
public class PacketSender {
|
||||
public static final char[] ILLEGAL_CHAT_CHARS = {'§'};
|
||||
private final PlayConnection connection;
|
||||
@ -38,10 +32,6 @@ public class PacketSender {
|
||||
this.connection = connection;
|
||||
}
|
||||
|
||||
public void setFlyStatus(boolean flying) {
|
||||
this.connection.sendPacket(new FlyToggleC2SP(flying));
|
||||
}
|
||||
|
||||
public void sendChatMessage(String message) {
|
||||
if (message.isBlank()) {
|
||||
// throw new IllegalArgumentException(("Chat message is blank!"));
|
||||
@ -61,22 +51,6 @@ public class PacketSender {
|
||||
this.connection.sendPacket(new ChatMessageC2SP(event.getMessage()));
|
||||
}
|
||||
|
||||
public void spectateEntity(UUID entityUUID) {
|
||||
this.connection.sendPacket(new EntitySpectateC2SP(entityUUID));
|
||||
}
|
||||
|
||||
public void swingArm(Hands hand) {
|
||||
this.connection.sendPacket(new ArmSwingC2SP(hand));
|
||||
}
|
||||
|
||||
|
||||
public void closeWindow(byte windowId) {
|
||||
ContainerCloseEvent event = new ContainerCloseEvent(this.connection, windowId, ContainerCloseEvent.Initiators.CLIENT);
|
||||
if (this.connection.fireEvent(event)) {
|
||||
return;
|
||||
}
|
||||
this.connection.sendPacket(new ContainerCloseC2SP(windowId));
|
||||
}
|
||||
|
||||
public void respawn() {
|
||||
sendClientStatus(ClientActionC2SP.ClientActions.PERFORM_RESPAWN);
|
||||
@ -86,21 +60,6 @@ public class PacketSender {
|
||||
this.connection.sendPacket(new ClientActionC2SP(status));
|
||||
}
|
||||
|
||||
|
||||
public void sendPluginMessageData(ResourceLocation channel, OutByteBuffer toSend) {
|
||||
this.connection.sendPacket(new PluginMessageC2SP(channel, toSend.toByteArray()));
|
||||
}
|
||||
|
||||
public void sendLoginPluginMessageResponse(int messageId, OutByteBuffer toSend) {
|
||||
this.connection.sendPacket(new LoginPluginResponseC2SP(messageId, toSend.toByteArray()));
|
||||
}
|
||||
|
||||
public void setLocation(Vec3 position, EntityRotation rotation, boolean onGround) {
|
||||
this.connection.sendPacket(new PositionAndRotationC2SP(position, rotation, onGround));
|
||||
this.connection.getPlayer().getEntity().setPosition(position);
|
||||
this.connection.getPlayer().getEntity().setRotation(rotation);
|
||||
}
|
||||
|
||||
public void sendFakeChatMessage(ChatComponent message, ChatTextPositions position) {
|
||||
this.connection.fireEvent(new ChatMessageReceivingEvent(this.connection, message, position, null));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user