the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 75 lines 1.7 kB view raw
1#include "stdafx.h" 2#include "net.minecraft.world.effect.h" 3#include "InputOutputStream.h" 4#include "PacketListener.h" 5#include "BasicTree.h" 6#include "BasicTypeContainers.h" 7#include "UpdateMobEffectPacket.h" 8 9 10 11UpdateMobEffectPacket::UpdateMobEffectPacket() 12{ 13 entityId = 0; 14 effectId = 0; 15 effectAmplifier = 0; 16 effectDurationTicks = 0; 17} 18 19UpdateMobEffectPacket::UpdateMobEffectPacket(int entityId, MobEffectInstance *effect) 20{ 21 this->entityId = entityId; 22 effectId = (BYTE) (effect->getId() & 0xff); 23 effectAmplifier = (char) (effect->getAmplifier() & 0xff); 24 25 if (effect->getDuration() > Short::MAX_VALUE) 26 { 27 effectDurationTicks = Short::MAX_VALUE; 28 } 29 else 30 { 31 effectDurationTicks = (short) effect->getDuration(); 32 } 33} 34 35void UpdateMobEffectPacket::read(DataInputStream *dis) 36{ 37 entityId = dis->readInt(); 38 effectId = dis->readByte(); 39 effectAmplifier = dis->readByte(); 40 effectDurationTicks = dis->readShort(); 41} 42 43void UpdateMobEffectPacket::write(DataOutputStream *dos) 44{ 45 dos->writeInt(entityId); 46 dos->writeByte(effectId); 47 dos->writeByte(effectAmplifier); 48 dos->writeShort(effectDurationTicks); 49} 50 51bool UpdateMobEffectPacket::isSuperLongDuration() 52{ 53 return effectDurationTicks == Short::MAX_VALUE; 54} 55 56void UpdateMobEffectPacket::handle(PacketListener *listener) 57{ 58 listener->handleUpdateMobEffect(shared_from_this()); 59} 60 61int UpdateMobEffectPacket::getEstimatedSize() 62{ 63 return 8; 64} 65 66bool UpdateMobEffectPacket::canBeInvalidated() 67{ 68 return true; 69} 70 71bool UpdateMobEffectPacket::isInvalidatedBy(shared_ptr<Packet> packet) 72{ 73 shared_ptr<UpdateMobEffectPacket> target = dynamic_pointer_cast<UpdateMobEffectPacket>(packet); 74 return target->entityId == entityId && target->effectId == effectId; 75}