Files
mcpe/source/World/Entity/ItemEntity.hpp
2023-07-30 22:41:09 +03:00

44 lines
1.2 KiB
C++

/********************************************************************
Minecraft: Pocket Edition - Decompilation Project
Copyright (C) 2023 iProgramInCpp
The following code is licensed under the BSD 1 clause license.
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#pragma once
#include "Entity.hpp"
class ItemEntity : public Entity
{
public:
ItemEntity(Level* level);
ItemEntity(Level* level, float x, float y, float z, ItemInstance* itemInstance);
void burn(int damage) override;
bool hurt(Entity* pCulprit, int damage) override;
bool isInWater() override;
void playerTouch(Player*) override;
void tick() override;
void checkInTile(float x, float y, float z);
public:
// @NOTE: The original code keeps a pointer to something which is not duplicated with a new(), nor does it delete() the instance.
// So either it's leaked, or the code will use invalid memory.
#ifdef ORIGINAL_CODE
ItemInstance* m_pItemInstance;
#else
ItemInstance m__itemInstance;
ItemInstance* m_pItemInstance = &m__itemInstance;
#endif
int field_E0 = 0;
int field_E4 = 0;
float field_E8 = 0.0f;
int field_EC = 0;
int m_health = 5;
};