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.
2.1 kB · 83 lines
C++
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384#include "stdafx.h"#include "net.minecraft.world.level.h"#include "net.minecraft.world.level.dimension.h"#include "net.minecraft.world.item.enchantment.h"#include "net.minecraft.world.food.h"#include "net.minecraft.stats.h"#include "IceTile.h"
IceTile::IceTile(int id) : HalfTransparentTile(id, L"ice", Material::ice, false){ friction = 0.98f; setTicking(true);}
int IceTile::getRenderLayer(){ return 1;}
bool IceTile::shouldRenderFace(LevelSource *level, int x, int y, int z, int face){ return HalfTransparentTile::shouldRenderFace(level, x, y, z, 1 - face);}
void IceTile::playerDestroy(Level *level, shared_ptr<Player> player, int x, int y, int z, int data){ player->awardStat(GenericStats::blocksMined(id), GenericStats::param_blocksMined(id,data,1) ); player->causeFoodExhaustion(FoodConstants::EXHAUSTION_MINE);
if (isSilkTouchable() && EnchantmentHelper::hasSilkTouch(player)) { shared_ptr<ItemInstance> item = getSilkTouchItemInstance(data); if (item != NULL) { popResource(level, x, y, z, item); } } else { if (level->dimension->ultraWarm) { level->removeTile(x, y, z); return; }
int playerBonusLevel = EnchantmentHelper::getDiggingLootBonus(player); spawnResources(level, x, y, z, data, playerBonusLevel); Material *below = level->getMaterial(x, y - 1, z); if (below->blocksMotion() || below->isLiquid()) { level->setTileAndUpdate(x, y, z, Tile::water_Id); } }}
int IceTile::getResourceCount(Random *random){ return 0;}
void IceTile::tick(Level *level, int x, int y, int z, Random *random){ if (level->getBrightness(LightLayer::Block, x, y, z) > 11 - Tile::lightBlock[id]) { if (level->dimension->ultraWarm) { level->removeTile(x, y, z); return; } this->spawnResources(level, x, y, z, level->getData(x, y, z), 0); level->setTileAndUpdate(x, y, z, Tile::calmWater_Id); }}
bool IceTile::shouldTileTick(Level *level, int x,int y,int z){ return level->getBrightness(LightLayer::Block, x, y, z) > 11 - Tile::lightBlock[id];}
int IceTile::getPistonPushReaction(){ return Material::PUSH_NORMAL;}