the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 48 lines 1.6 kB view raw
1#include "stdafx.h" 2#include "net.minecraft.world.level.h" 3#include "net.minecraft.world.level.redstone.h" 4#include "PressurePlateTile.h" 5 6PressurePlateTile::PressurePlateTile(int id, const wstring &tex, Material *material, Sensitivity sensitivity) : BasePressurePlateTile(id, tex, material) 7{ 8 this->sensitivity = sensitivity; 9 10 // 4J Stu - Move this from base class to use virtual function 11 updateShape(getDataForSignal(Redstone::SIGNAL_MAX)); 12} 13 14int PressurePlateTile::getDataForSignal(int signal) 15{ 16 return signal > 0 ? 1 : 0; 17} 18 19int PressurePlateTile::getSignalForData(int data) 20{ 21 return data == 1 ? Redstone::SIGNAL_MAX : 0; 22} 23 24int PressurePlateTile::getSignalStrength(Level *level, int x, int y, int z) 25{ 26 vector< shared_ptr<Entity> > *entities = NULL; 27 28 if (sensitivity == everything) entities = level->getEntities(nullptr, getSensitiveAABB(x, y, z)); 29 else if (sensitivity == mobs) entities = level->getEntitiesOfClass(typeid(LivingEntity), getSensitiveAABB(x, y, z)); 30 else if (sensitivity == players) entities = level->getEntitiesOfClass(typeid(Player), getSensitiveAABB(x, y, z)); 31 else __debugbreak(); // 4J-JEV: We're going to delete something at a random location. 32 33 if (entities != NULL && !entities->empty()) 34 { 35 for (AUTO_VAR(it, entities->begin()); it != entities->end(); ++it) 36 { 37 shared_ptr<Entity> e = *it; 38 if (!e->isIgnoringTileTriggers()) 39 { 40 if (sensitivity != everything) delete entities; 41 return Redstone::SIGNAL_MAX; 42 } 43 } 44 } 45 46 if (sensitivity != everything) delete entities; 47 return Redstone::SIGNAL_NONE; 48}