the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 88 lines 2.0 kB view raw
1#include "stdafx.h" 2#include "net.minecraft.world.phys.h" 3#include "net.minecraft.world.level.h" 4#include "net.minecraft.world.level.tile.h" 5#include "net.minecraft.world.level.material.h" 6#include "net.minecraft.world.entity.player.h" 7#include "WaterLilyTileItem.h" 8 9WaterLilyTileItem::WaterLilyTileItem(int id) : ColoredTileItem(id, false) 10{ 11} 12 13bool WaterLilyTileItem::TestUse(shared_ptr<ItemInstance> itemInstance, Level *level, shared_ptr<Player> player) 14{ 15 HitResult *hr = getPlayerPOVHitResult(level, player, true); 16 if (hr == NULL) return false; 17 18 if (hr->type == HitResult::TILE) 19 { 20 int xt = hr->x; 21 int yt = hr->y; 22 int zt = hr->z; 23 if (!level->mayInteract(player, xt, yt, zt, 0)) 24 { 25 delete hr; 26 return false; 27 } 28 if (!player->mayUseItemAt(xt, yt, zt, hr->f, itemInstance)) 29 { 30 delete hr; 31 return false; 32 } 33 34 delete hr; 35 if (level->getMaterial(xt, yt, zt) == Material::water && level->getData(xt, yt, zt) == 0 && level->isEmptyTile(xt, yt + 1, zt)) 36 { 37 return true; 38 } 39 } 40 else 41 { 42 delete hr; 43 } 44 return false; 45} 46 47shared_ptr<ItemInstance> WaterLilyTileItem::use(shared_ptr<ItemInstance> itemInstance, Level *level, shared_ptr<Player> player) 48{ 49 HitResult *hr = getPlayerPOVHitResult(level, player, true); 50 if (hr == NULL) return itemInstance; 51 52 if (hr->type == HitResult::TILE) 53 { 54 int xt = hr->x; 55 int yt = hr->y; 56 int zt = hr->z; 57 if (!level->mayInteract(player, xt, yt, zt, 0)) 58 { 59 delete hr; 60 return itemInstance; 61 } 62 if (!player->mayUseItemAt(xt, yt, zt, hr->f, itemInstance)) 63 { 64 delete hr; 65 return itemInstance; 66 } 67 68 delete hr; 69 if (level->getMaterial(xt, yt, zt) == Material::water && level->getData(xt, yt, zt) == 0 && level->isEmptyTile(xt, yt + 1, zt)) 70 { 71 level->setTileAndUpdate(xt, yt + 1, zt, Tile::waterLily->id); 72 if (!player->abilities.instabuild) 73 { 74 itemInstance->count--; 75 } 76 } 77 } 78 else 79 { 80 delete hr; 81 } 82 return itemInstance; 83} 84 85int WaterLilyTileItem::getColor(int data, int spriteLayer) 86{ 87 return Tile::waterLily->getColor(data); 88}