1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#include "stdafx.h"
#include "net.minecraft.world.h"
#include "RailTile.h"
RailTile::RailTile(int id) : BaseRailTile(id, false)
{
}
Icon *RailTile::getTexture(int face, int data)
{
if (data >= 6)
{
return iconTurn;
}
else
{
return icon;
}
}
void RailTile::registerIcons(IconRegister *iconRegister)
{
BaseRailTile::registerIcons(iconRegister);
iconTurn = iconRegister->registerIcon(getIconName() + L"_turned");
}
void RailTile::updateState(Level *level, int x, int y, int z, int data, int dir, int type)
{
if (type > 0 && Tile::tiles[type]->isSignalSource())
{
if (Rail(level, x, y, z).countPotentialConnections() == 3)
{
updateDir(level, x, y, z, false);
}
}
}
|