18 public override void OnPoll(
int value,
int x,
int y,
int z,
int pollPass) {
30 for (
int i = x - 1; i <= x + 1; i++) {
31 for (
int j = z - 1; j <= z + 1; j++) {
32 for (
int k = y - 2; k <= y + 1; k++) {
40 || !(
m_random.Float(0f, 1f) < 0.1f)) {
75 public override void OnExplosion(
int value,
int x,
int y,
int z,
float damage) {
84 base.
Load(valuesDictionary);
87 public virtual void Update(
float dt) {
89 foreach (KeyValuePair<Point3, int> item
in m_toUpdate) {
97 if ((cellContents != 8 && cellContents != 2)
float ExplosionResilience
virtual bool IsFaceTransparent(SubsystemTerrain subsystemTerrain, int face, int value)
virtual bool IsCollidable_(int value)
static int GenerateRandomPlantValue(Random random, int groundValue, int temperature, int humidity, int y)
override void OnExplosion(int value, int x, int y, int z, float damage)
virtual void Update(float dt)
Dictionary< Point3, int > m_toUpdate
override void OnNeighborBlockChanged(int x, int y, int z, int neighborX, int neighborY, int neighborZ)
override void Load(ValuesDictionary valuesDictionary)
bool KillsGrassIfOnTopOfIt(int value)
override void OnPoll(int value, int x, int y, int z, int pollPass)
override int[] HandledBlocks
SubsystemTime m_subsystemTime
SubsystemGameInfo m_subsystemGameInfo
virtual void ChangeCell(int x, int y, int z, int value, bool updateModificationCounter=true, MovingBlock movingBlock=null)
override void Load(ValuesDictionary valuesDictionary)
static int ExtractContents(int value)
static int ReplaceData(int value, int data)
virtual int GetCellValueFast(int x, int y, int z)
virtual int GetHumidity(int x, int z)
virtual int GetCellValue(int x, int y, int z)
virtual int GetCellContents(int x, int y, int z)
static int ExtractLight(int value)
static int ReplaceContents(int value, int contents)
方块值的最低10位,替换为目标Content
static int MakeBlockValue(int contents)
static int ExtractData(int value)
virtual int GetTemperature(int x, int z)
ValuesDictionary ValuesDictionary