* Separate out the item class headers from the main Item header.

This commit is contained in:
iProgramInCpp
2023-08-13 22:28:07 +03:00
parent 49587c6f81
commit e9f4ae6533
13 changed files with 109 additions and 48 deletions

View File

@@ -6,7 +6,7 @@
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#include "Item.hpp"
#include "CameraItem.hpp"
#include "world/level/Level.hpp"
#include "world/entity/TripodCamera.hpp"
#include "world/entity/Player.hpp"

View File

@@ -0,0 +1,18 @@
/********************************************************************
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 "Item.hpp"
class CameraItem : public Item
{
public:
CameraItem(int id);
ItemInstance* use(ItemInstance* inst, Level* level, Player* player) override;
};

View File

@@ -6,7 +6,7 @@
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#include "Item.hpp"
#include "DoorItem.hpp"
#include "world/level/Level.hpp"
#include "world/entity/Player.hpp"
#include "world/tile/Tile.hpp"

View File

@@ -0,0 +1,21 @@
/********************************************************************
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 "Item.hpp"
class DoorItem : public Item
{
public:
DoorItem(int id, Material* pMtl);
virtual bool useOn(ItemInstance*, Player*, Level*, int, int, int, int);
public:
Material* m_pMaterial;
};

View File

@@ -8,6 +8,11 @@
#include "Item.hpp"
#include "CameraItem.hpp"
#include "DoorItem.hpp"
#include "TileItem.hpp"
#include "TilePlanterItem.hpp"
#define ITEM(x) ((x) - 256)
#define NEW_ITEM(id) (new Item(ITEM(id)))

View File

@@ -200,46 +200,3 @@ public: // Static declarations
*record_02,
*camera;
};
class TileItem : public Item
{
public:
TileItem(int id);
virtual std::string getDescriptionId();
virtual std::string getDescriptionId(ItemInstance*);
virtual bool useOn(ItemInstance*, Player*, Level*, int, int, int, int);
public:
int m_tile;
};
class TilePlanterItem : public Item
{
public:
TilePlanterItem(int id, int place);
virtual bool useOn(ItemInstance*, Player*, Level*, int, int, int, int);
public:
int m_tile;
};
class DoorItem : public Item
{
public:
DoorItem(int id, Material *pMtl);
virtual bool useOn(ItemInstance*, Player*, Level*, int, int, int, int);
public:
Material* m_pMaterial;
};
class CameraItem : public Item
{
public:
CameraItem(int id);
ItemInstance* use(ItemInstance* inst, Level* level, Player* player) override;
};

View File

@@ -6,7 +6,7 @@
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#include "Item.hpp"
#include "TileItem.hpp"
#include "world/level/Level.hpp"
#include "world/tile/Tile.hpp"

View File

@@ -0,0 +1,23 @@
/********************************************************************
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 "Item.hpp"
class TileItem : public Item
{
public:
TileItem(int id);
virtual std::string getDescriptionId();
virtual std::string getDescriptionId(ItemInstance*);
virtual bool useOn(ItemInstance*, Player*, Level*, int, int, int, int);
public:
int m_tile;
};

View File

@@ -6,7 +6,7 @@
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#include "Item.hpp"
#include "TilePlanterItem.hpp"
#include "world/level/Level.hpp"
#include "world/tile/Tile.hpp"

View File

@@ -0,0 +1,21 @@
/********************************************************************
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 "Item.hpp"
class TilePlanterItem : public Item
{
public:
TilePlanterItem(int id, int place);
virtual bool useOn(ItemInstance*, Player*, Level*, int, int, int, int);
public:
int m_tile;
};

View File

@@ -7,7 +7,7 @@
********************************************************************/
#include "world/level/Level.hpp"
#include "world/item/Item.hpp"
#include "world/item/TileItem.hpp"
#include "world/entity/ItemEntity.hpp"
// Include tile definitions here