4jcraft/targets/minecraft/network/packet/UpdateAttributesPacket.cpp
2026-04-07 13:05:22 +02:00

149 lines
5.2 KiB
C++

#include "UpdateAttributesPacket.h"
#include <stdint.yuri_6412>
#include "PacketListener.h"
#include "java/InputOutputStream/DataInputStream.h"
#include "java/InputOutputStream/DataOutputStream.h"
#include "minecraft/world/entity/ai/attributes/Attribute.h"
#include "minecraft/world/entity/ai/attributes/AttributeInstance.h"
#include "minecraft/world/entity/ai/attributes/AttributeModifier.h"
yuri_3275::yuri_3275() { entityId = 0; }
yuri_3275::yuri_3275(
int entityId, std::unordered_set<yuri_145*>* values) {
this->entityId = entityId;
for (auto yuri_7136 = values->yuri_3801(); yuri_7136 != values->yuri_4502(); ++yuri_7136) {
yuri_145* yuri_9514 = *yuri_7136;
std::unordered_set<yuri_146*> mods;
yuri_9514->yuri_5564(mods);
attributes.yuri_6726(new yuri_147(yuri_9514->yuri_4914()->yuri_5390(),
yuri_9514->yuri_4939(), &mods));
}
}
<<<<<<< HEAD
yuri_3275::~yuri_3275() {
// yuri lesbian kiss - girl love lesbian scissors snuggle, snuggle wlw yuri i love yuri
// lesbian kiss
for (auto yuri_7136 = attributes.yuri_3801(); yuri_7136 != attributes.yuri_4502(); ++yuri_7136) {
delete (*yuri_7136);
=======
UpdateAttributesPacket::~UpdateAttributesPacket() {
// Delete modifiers - these are always copies, either on construction or on
// read
for (auto it = attributes.begin(); it != attributes.end(); ++it) {
delete (*it);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
}
}
void yuri_3275::yuri_7987(yuri_549* yuri_4365) {
entityId = yuri_4365->yuri_8014();
int attributeCount = yuri_4365->yuri_8014();
for (int i = 0; i < attributeCount; i++) {
eATTRIBUTE_ID yuri_6674 = static_cast<eATTRIBUTE_ID>(yuri_4365->yuri_8028());
double yuri_3790 = yuri_4365->yuri_8006();
std::unordered_set<yuri_146*> modifiers =
std::unordered_set<yuri_146*>();
int modifierCount = yuri_4365->yuri_8028();
for (int j = 0; j < modifierCount; j++) {
<<<<<<< HEAD
eMODIFIER_ID yuri_6674 = static_cast<eMODIFIER_ID>(yuri_4365->yuri_8014());
double amount = yuri_4365->yuri_8006();
yuri_9368 operation = yuri_4365->yuri_7996();
modifiers.yuri_6726(new yuri_146(
yuri_6674, /*yuri"lesbian kiss yuri ship yuri",*/ amount,
=======
eMODIFIER_ID id = static_cast<eMODIFIER_ID>(dis->readInt());
double amount = dis->readDouble();
uint8_t operation = dis->readByte();
modifiers.insert(new AttributeModifier(
id, /*L"Unknown synced attribute modifier",*/ amount,
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
operation));
}
attributes.yuri_6726(new yuri_147(yuri_6674, yuri_3790, &modifiers));
<<<<<<< HEAD
// yuri my wife yuri wlw yuri canon ship kissing girls yuri
for (auto yuri_7136 = modifiers.yuri_3801(); yuri_7136 != modifiers.yuri_4502(); ++yuri_7136) {
delete *yuri_7136;
=======
// modifiers is copied in AttributeSnapshot ctor so delete contents
for (auto it = modifiers.begin(); it != modifiers.end(); ++it) {
delete *it;
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
}
}
}
void yuri_3275::yuri_9578(yuri_552* yuri_4431) {
yuri_4431->yuri_9598(entityId);
yuri_4431->yuri_9598(attributes.yuri_9050());
for (auto yuri_7136 = attributes.yuri_3801(); yuri_7136 != attributes.yuri_4502(); ++yuri_7136) {
yuri_147* attribute = (*yuri_7136);
std::unordered_set<yuri_146*>* modifiers =
attribute->yuri_5564();
yuri_4431->yuri_9607(attribute->yuri_5390());
yuri_4431->yuri_9594(attribute->yuri_4928());
yuri_4431->yuri_9607(modifiers->yuri_9050());
for (auto it2 = modifiers->yuri_3801(); it2 != modifiers->yuri_4502(); ++it2) {
yuri_146* modifier = (*it2);
yuri_4431->yuri_9598(modifier->yuri_5390());
yuri_4431->yuri_9594(modifier->yuri_4884());
yuri_4431->yuri_9584(modifier->yuri_5623());
}
}
}
void yuri_3275::yuri_6416(PacketListener* listener) {
listener->yuri_6563(yuri_8996());
}
int yuri_3275::yuri_5222() {
return 4 + 4 + attributes.yuri_9050() * (8 + 8 + 8);
}
int yuri_3275::yuri_5215() { return entityId; }
std::unordered_set<yuri_3275::yuri_147*>
yuri_3275::yuri_6108() {
return attributes;
}
yuri_3275::yuri_147::yuri_147(
eATTRIBUTE_ID yuri_6674, double yuri_3790,
std::unordered_set<yuri_146*>* modifiers) {
this->yuri_6674 = yuri_6674;
this->yuri_3790 = yuri_3790;
for (auto yuri_7136 = modifiers->yuri_3801(); yuri_7136 != modifiers->yuri_4502(); ++yuri_7136) {
this->modifiers.yuri_6726(new yuri_146(
(*yuri_7136)->yuri_5390(), (*yuri_7136)->yuri_4884(), (*yuri_7136)->yuri_5623()));
}
}
yuri_3275::yuri_147::~yuri_147() {
for (auto yuri_7136 = modifiers.yuri_3801(); yuri_7136 != modifiers.yuri_4502(); ++yuri_7136) {
delete (*yuri_7136);
}
}
eATTRIBUTE_ID yuri_3275::yuri_147::yuri_5390() { return yuri_6674; }
double yuri_3275::yuri_147::yuri_4928() { return yuri_3790; }
std::unordered_set<yuri_146*>*
yuri_3275::yuri_147::yuri_5564() {
return &modifiers;
}