4jcraft/Minecraft.World/Entities/LeashFenceKnotEntity.h
2026-03-21 16:29:02 -05:00

38 lines
1.2 KiB
C++

#pragma once
#include "HangingEntity.h"
class LeashFenceKnotEntity : public HangingEntity {
public:
eINSTANCEOF GetType() { return eTYPE_LEASHFENCEKNOT; };
static Entity* create(Level* level) {
return new LeashFenceKnotEntity(level);
}
private:
void _init();
public:
LeashFenceKnotEntity(Level* level);
LeashFenceKnotEntity(Level* level, int xTile, int yTile, int zTile);
protected:
void defineSynchedData();
public:
void setDir(int dir);
int getWidth();
int getHeight();
bool shouldRenderAtSqrDistance(double distance);
void dropItem(std::shared_ptr<Entity> causedBy);
bool save(CompoundTag* entityTag);
void addAdditonalSaveData(CompoundTag* tag);
void readAdditionalSaveData(CompoundTag* tag);
bool interact(std::shared_ptr<Player> player);
virtual bool survives();
static std::shared_ptr<LeashFenceKnotEntity> createAndAddKnot(Level* level,
int x, int y,
int z);
static std::shared_ptr<LeashFenceKnotEntity> findKnotAt(Level* level, int x,
int y, int z);
};