* try to resolve merge conflict
* feat: TU19 (Dec 2014) Features & Content (#32)
* December 2014 files
* Working release build
* Fix compilation issues
* Add sound to Windows64Media
* Add DLC content and force Tutorial DLC
* Revert "Add DLC content and force Tutorial DLC"
This reverts commit 97a4399472.
* Disable broken light packing
* Disable breakpoint during DLC texture map load
Allows DLC loading but the DLC textures are still broken
* Fix post build not working
* ...
* fix vs2022 build
* fix cmake build
---------
Co-authored-by: Loki <lokirautio@gmail.com>
88 lines
2.4 KiB
C++
88 lines
2.4 KiB
C++
#pragma once
|
|
#include "LocalPlayer.h"
|
|
#include "..\Minecraft.World\SharedConstants.h"
|
|
|
|
class ClientConnection;
|
|
class Minecraft;
|
|
class Level;
|
|
|
|
//#define STRESS_TEST_MOVE
|
|
|
|
class MultiplayerLocalPlayer : public LocalPlayer
|
|
{
|
|
private:
|
|
static const int POSITION_REMINDER_INTERVAL = SharedConstants::TICKS_PER_SECOND;
|
|
public:
|
|
ClientConnection *connection;
|
|
private:
|
|
bool flashOnSetHealth;
|
|
public:
|
|
MultiplayerLocalPlayer(Minecraft *minecraft, Level *level, User *user, ClientConnection *connection);
|
|
private:
|
|
double xLast, yLast1, yLast2, zLast;
|
|
float yRotLast, xRotLast;
|
|
public:
|
|
virtual bool hurt(DamageSource *source, float dmg);
|
|
virtual void heal(float heal);
|
|
virtual void tick();
|
|
private:
|
|
bool lastOnGround;
|
|
bool lastSneaked;
|
|
bool lastIdle;
|
|
bool lastSprinting;
|
|
int positionReminder;
|
|
public:
|
|
void sendPosition();
|
|
|
|
using Player::drop;
|
|
virtual shared_ptr<ItemEntity> drop();
|
|
protected:
|
|
virtual void reallyDrop(shared_ptr<ItemEntity> itemEntity);
|
|
public:
|
|
virtual void chat(const wstring& message);
|
|
virtual void swing();
|
|
virtual void respawn();
|
|
protected:
|
|
virtual void actuallyHurt(DamageSource *source, float dmg);
|
|
|
|
// 4J Added override to capture event for tutorial messages
|
|
virtual void completeUsingItem();
|
|
|
|
// 4J Added overrides to capture events for tutorial
|
|
virtual void onEffectAdded(MobEffectInstance *effect);
|
|
virtual void onEffectUpdated(MobEffectInstance *effect, bool doRefreshAttributes);
|
|
virtual void onEffectRemoved(MobEffectInstance *effect);
|
|
public:
|
|
virtual void closeContainer();
|
|
void clientSideCloseContainer();
|
|
virtual void hurtTo(float newHealth, ETelemetryChallenges damageSource);
|
|
virtual void awardStat(Stat *stat, byteArray param);
|
|
void awardStatFromServer(Stat *stat, byteArray param);
|
|
void onUpdateAbilities();
|
|
bool isLocalPlayer();
|
|
|
|
protected:
|
|
virtual void sendRidingJump();
|
|
|
|
public:
|
|
virtual void sendOpenInventory();
|
|
|
|
// 4J - send the custom skin texture data if there is one
|
|
//void CustomSkin(PBYTE pbData, DWORD dwBytes);
|
|
|
|
// 4J Overriding this so we can flag an event for the tutorial
|
|
virtual void ride(shared_ptr<Entity> e);
|
|
|
|
// 4J - added for the Stop Sleeping
|
|
virtual void StopSleeping();
|
|
|
|
// 4J Added
|
|
virtual void setAndBroadcastCustomSkin(DWORD skinId);
|
|
virtual void setAndBroadcastCustomCape(DWORD capeId);
|
|
|
|
// 4J added for testing
|
|
#ifdef STRESS_TEST_MOVE
|
|
void StressTestMove(double *tempX, double *tempY, double *tempZ);
|
|
#endif
|
|
};
|