mirror of
https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1.git
synced 2026-03-19 22:43:32 +00:00
65 lines
2.0 KiB
C++
Executable File
65 lines
2.0 KiB
C++
Executable File
#ifndef NET_MINECRAFT_WORLD_LEVEL_TILE__DoorTile_H__
|
|
#define NET_MINECRAFT_WORLD_LEVEL_TILE__DoorTile_H__
|
|
|
|
//package net.minecraft.world.level->tile;
|
|
|
|
#include "Tile.h"
|
|
#include "../material/Material.h"
|
|
#include "../../../util/Random.h"
|
|
|
|
class Item;
|
|
class Level;
|
|
class LevelSource;
|
|
class Player;
|
|
|
|
|
|
class DoorTile: public Tile
|
|
{
|
|
typedef Tile super;
|
|
public:
|
|
static const int UPPER_BIT = 8;
|
|
static const int C_DIR_MASK = 3;
|
|
static const int C_OPEN_MASK = 4;
|
|
static const int C_LOWER_DATA_MASK = 7;
|
|
static const int C_IS_UPPER_MASK = 8;
|
|
static const int C_RIGHT_HINGE_MASK = 16;
|
|
|
|
DoorTile(int id, const Material* material);
|
|
int getTexture(LevelSource* level, int x, int y, int z, int face);
|
|
|
|
bool blocksLight();
|
|
bool isSolidRender();
|
|
bool isCubeShaped();
|
|
int getRenderShape();
|
|
int getRenderLayer();
|
|
|
|
AABB getTileAABB(Level* level, int x, int y, int z);
|
|
AABB* getAABB(Level* level, int x, int y, int z);
|
|
|
|
void updateShape(LevelSource* level, int x, int y, int z);
|
|
void setShape(int compositeData);
|
|
|
|
void attack(Level* level, int x, int y, int z, Player* player);
|
|
bool use(Level* level, int x, int y, int z, Player* player);
|
|
|
|
void setOpen(Level* level, int x, int y, int z, bool shouldOpen);
|
|
static bool isOpen(LevelSource* level, int x, int y, int z);
|
|
|
|
void neighborChanged(Level* level, int x, int y, int z, int type);
|
|
|
|
int getResource(int data, Random* random);
|
|
|
|
// override to avoid duplicate drops when upper half is mined directly
|
|
void playerDestroy(Level* level, Player* player, int x, int y, int z, int data) override;
|
|
|
|
HitResult clip(Level* level, int xt, int yt, int zt, const Vec3& a, const Vec3& b);
|
|
|
|
int getDir(LevelSource* level, int x, int y, int z);
|
|
|
|
bool mayPlace(Level* level, int x, int y, int z, unsigned char face);
|
|
|
|
static int getCompositeData(LevelSource* level, int x, int y, int z);
|
|
};
|
|
|
|
#endif /*NET_MINECRAFT_WORLD_LEVEL_TILE__DoorTile_H__*/
|