Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
1.7 kB · 87 lines
C++
at master
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788#include "stdafx.h"#include "net.minecraft.world.level.h"#include "GrassTile.h"#include "Bush.h"
void Bush::_init(){ setTicking(true); updateDefaultShape();}
Bush::Bush(int id, Material *material) : Tile(id, material, isSolidRender()){ _init();}
Bush::Bush(int id) : Tile(id, Material::plant, isSolidRender()){ _init();}
// 4J Added overridevoid Bush::updateDefaultShape(){ float ss = 0.2f; setShape(0.5f - ss, 0, 0.5f - ss, 0.5f + ss, ss * 3, 0.5f + ss);}
bool Bush::mayPlace(Level *level, int x, int y, int z){ return Tile::mayPlace(level, x, y, z) && mayPlaceOn(level->getTile(x, y - 1, z));}
bool Bush::mayPlaceOn(int tile){ return tile == Tile::grass_Id || tile == Tile::dirt_Id || tile == Tile::farmland_Id;}
void Bush::neighborChanged(Level *level, int x, int y, int z, int type){ Tile::neighborChanged(level, x, y, z, type); checkAlive(level, x, y, z);}
void Bush::tick(Level *level, int x, int y, int z, Random *random){ checkAlive(level, x, y, z);}
void Bush::checkAlive(Level *level, int x, int y, int z){ if (!canSurvive(level, x, y, z)) { this->spawnResources(level, x, y, z, level->getData(x, y, z), 0); level->setTileAndData(x, y, z, 0, 0, UPDATE_CLIENTS); }}
bool Bush::canSurvive(Level *level, int x, int y, int z){ return ( level->getDaytimeRawBrightness(x, y, z) >= 8 || (level->canSeeSky(x, y, z))) && mayPlaceOn(level->getTile(x, y - 1, z));}
AABB *Bush::getAABB(Level *level, int x, int y, int z){ return NULL;}
bool Bush::blocksLight(){ return false;}
bool Bush::isSolidRender(bool isServerLevel){ return false;}
bool Bush::isCubeShaped(){ return false;}
int Bush::getRenderShape(){ return Tile::SHAPE_CROSS_TEXTURE;}