the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "net.minecraft.world.level.h"
3#include "HellSpringFeature.h"
4#include "net.minecraft.world.level.tile.h"
5
6HellSpringFeature::HellSpringFeature(int tile, bool insideRock)
7{
8 this->tile = tile;
9 this->insideRock = insideRock;
10}
11
12bool HellSpringFeature::place(Level *level, Random *random, int x, int y, int z)
13{
14 if (level->getTile(x, y + 1, z) != Tile::netherRack_Id) return false;
15 if (level->getTile(x, y - 1, z) != Tile::netherRack_Id) return false;
16
17 if (level->getTile(x, y, z) != 0 && level->getTile(x, y, z) != Tile::netherRack_Id) return false;
18
19 int rockCount = 0;
20 if (level->getTile(x - 1, y, z) == Tile::netherRack_Id) rockCount++;
21 if (level->getTile(x + 1, y, z) == Tile::netherRack_Id) rockCount++;
22 if (level->getTile(x, y, z - 1) == Tile::netherRack_Id) rockCount++;
23 if (level->getTile(x, y, z + 1) == Tile::netherRack_Id) rockCount++;
24 if (level->getTile(x, y - 1, z) == Tile::netherRack_Id) rockCount++;
25
26 int holeCount = 0;
27 if (level->isEmptyTile(x - 1, y, z)) holeCount++;
28 if (level->isEmptyTile(x + 1, y, z)) holeCount++;
29 if (level->isEmptyTile(x, y, z - 1)) holeCount++;
30 if (level->isEmptyTile(x, y, z + 1)) holeCount++;
31 if (level->isEmptyTile(x, y - 1, z)) holeCount++;
32
33 if ((!insideRock && rockCount == 4 && holeCount == 1) || rockCount == 5)
34 {
35 level->setTileAndData(x, y, z, tile, 0, Tile::UPDATE_CLIENTS);
36 level->setInstaTick(true);
37 Tile::tiles[tile]->tick(level, x, y, z, random);
38 level->setInstaTick(false);
39 }
40
41 return true;
42
43}