Skip to content

Commit 0f163fc

Browse files
DofesOEOTYAN
andcommitted
fix: fix shit packet
Co-Authored-By: OEOTYAN <58554322+OEOTYAN@users.noreply.github.com>
1 parent 5e2a79d commit 0f163fc

File tree

2 files changed

+8
-16
lines changed

2 files changed

+8
-16
lines changed

src/legacy/api/PlayerAPI.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2186,8 +2186,7 @@ Local<Value> PlayerClass::setBossBar(const Arguments& args) {
21862186
bs.writeUnsignedVarInt(0);
21872187
// Links
21882188
bs.writeUnsignedVarInt(0);
2189-
auto addPkt = lse::api::NetworkPacket<(int)MinecraftPacketIds::AddActor>(bs.getAndReleaseData());
2190-
addPkt.read(bs);
2189+
auto addPkt = lse::api::NetworkPacket<MinecraftPacketIds::AddActor>(std::move(*bs.mBuffer));
21912190

21922191
BossBarColor color = (BossBarColor)args[3].toInt();
21932192
BossEventPacket pkt;

src/lse/api/NetworkPacket.h

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,18 @@
22

33
#include <ll/api/memory/Memory.h>
44
#include <mc/deps/core/common/bedrock/Result.h>
5+
#include <mc/deps/core/utility/BinaryStream.h>
56
#include <mc/enums/MinecraftPacketIds.h>
67
#include <mc/network/packet/Packet.h>
78
#include <string>
89
#include <string_view>
910

1011
namespace lse::api {
1112

12-
constexpr auto PacketName = "NetworkPacket";
13-
constexpr auto WriteOffset = 96;
14-
15-
template <int packetId, bool batching = true, bool compress = true>
13+
template <MinecraftPacketIds packetId>
1614
class NetworkPacket final : public Packet {
1715
public:
18-
NetworkPacket(std::string_view data) : mData(data) {}
16+
NetworkPacket(std::string data) : mData(std::move(data)) {}
1917

2018
NetworkPacket() = default;
2119
NetworkPacket(NetworkPacket&&) = default;
@@ -25,23 +23,18 @@ class NetworkPacket final : public Packet {
2523
NetworkPacket(const NetworkPacket&) = delete;
2624
auto operator=(const NetworkPacket&) -> NetworkPacket& = delete;
2725

28-
[[nodiscard]] auto getId() const -> MinecraftPacketIds override {
29-
return static_cast<MinecraftPacketIds>(packetId);
30-
}
26+
[[nodiscard]] auto getId() const -> MinecraftPacketIds override { return packetId; }
3127

32-
[[nodiscard]] auto getName() const -> std::string override { return PacketName; }
28+
[[nodiscard]] auto getName() const -> std::string override { return "NetworkPacket"; }
3329

34-
void write(BinaryStream& stream) const override {
35-
auto& target = *ll::memory::dAccess<std::string*>(&stream, WriteOffset);
36-
target.append(mData);
37-
}
30+
void write(BinaryStream& stream) const override { stream.mBuffer->append(mData); }
3831

3932
auto _read(class ReadOnlyBinaryStream& /*stream*/) -> Bedrock::Result<void> override {
4033
return Bedrock::Result<void>{};
4134
}
4235

4336
private:
44-
std::string_view mData;
37+
std::string mData;
4538
};
4639

4740
} // namespace lse::api

0 commit comments

Comments
 (0)