4jcraft/Minecraft.World/Blocks/DetectorRailTile.h
2026-03-21 15:52:50 -05:00

41 lines
1.2 KiB
C++

#pragma once
#include "BaseRailTile.h"
class Entity;
class Random;
class Level;
class ChunkRebuildData;
class DetectorRailTile : public BaseRailTile {
friend class ChunkRebuildData;
private:
Icon** icons;
public:
DetectorRailTile(int id);
virtual int getTickDelay(Level* level);
virtual bool isSignalSource();
virtual void entityInside(Level* level, int x, int y, int z,
std::shared_ptr<Entity> entity);
virtual void tick(Level* level, int x, int y, int z, Random* random);
virtual int getSignal(LevelSource* level, int x, int y, int z, int dir);
virtual int getDirectSignal(LevelSource* level, int x, int y, int z,
int facing);
virtual void onPlace(Level* level, int x, int y, int z);
virtual bool hasAnalogOutputSignal();
virtual int getAnalogOutputSignal(Level* level, int x, int y, int z,
int dir);
private:
virtual void checkPressed(Level* level, int x, int y, int z,
int currentData);
public:
//@Override
void registerIcons(IconRegister* iconRegister);
//@Override
Icon* getTexture(int face, int data);
};