mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/4jcraft.git
synced 2026-05-28 11:45:06 +00:00
TU19: merge Minecraft.World/Network
This commit is contained in:
48
Minecraft.World/Network/Packets/SetEntityLinkPacket.cpp
Normal file
48
Minecraft.World/Network/Packets/SetEntityLinkPacket.cpp
Normal file
@@ -0,0 +1,48 @@
|
||||
#include "../../Platform/stdafx.h"
|
||||
#include <iostream>
|
||||
#include "../../IO/Streams/InputOutputStream.h"
|
||||
#include "PacketListener.h"
|
||||
#include "../../Headers/net.minecraft.world.entity.h"
|
||||
#include "SetEntityLinkPacket.h"
|
||||
|
||||
SetEntityLinkPacket::SetEntityLinkPacket() {
|
||||
sourceId = -1;
|
||||
destId = -1;
|
||||
type = -1;
|
||||
}
|
||||
|
||||
SetEntityLinkPacket::SetEntityLinkPacket(int linkType,
|
||||
std::shared_ptr<Entity> sourceEntity,
|
||||
std::shared_ptr<Entity> destEntity) {
|
||||
type = linkType;
|
||||
this->sourceId = sourceEntity->entityId;
|
||||
this->destId = destEntity != NULL ? destEntity->entityId : -1;
|
||||
}
|
||||
|
||||
int SetEntityLinkPacket::getEstimatedSize() { return 8; }
|
||||
|
||||
void SetEntityLinkPacket::read(DataInputStream* dis) // throws IOException
|
||||
{
|
||||
sourceId = dis->readInt();
|
||||
destId = dis->readInt();
|
||||
type = dis->readUnsignedByte();
|
||||
}
|
||||
|
||||
void SetEntityLinkPacket::write(DataOutputStream* dos) // throws IOException
|
||||
{
|
||||
dos->writeInt(sourceId);
|
||||
dos->writeInt(destId);
|
||||
dos->writeByte(type);
|
||||
}
|
||||
|
||||
void SetEntityLinkPacket::handle(PacketListener* listener) {
|
||||
listener->handleEntityLinkPacket(shared_from_this());
|
||||
}
|
||||
|
||||
bool SetEntityLinkPacket::canBeInvalidated() { return true; }
|
||||
|
||||
bool SetEntityLinkPacket::isInvalidatedBy(std::shared_ptr<Packet> packet) {
|
||||
std::shared_ptr<SetEntityLinkPacket> target =
|
||||
std::dynamic_pointer_cast<SetEntityLinkPacket>(packet);
|
||||
return target->sourceId == sourceId;
|
||||
}
|
||||
Reference in New Issue
Block a user