the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 80 lines 1.7 kB view raw
1#include "stdafx.h" 2#include "net.minecraft.h" 3#include "net.minecraft.world.phys.h" 4#include "net.minecraft.world.damagesource.h" 5#include "net.minecraft.world.level.tile.h" 6#include "net.minecraft.world.level.h" 7#include "SmallFireball.h" 8 9SmallFireball::SmallFireball(Level *level) : Fireball(level) 10{ 11 setSize(5 / 16.0f, 5 / 16.0f); 12} 13 14SmallFireball::SmallFireball(Level *level, shared_ptr<LivingEntity> mob, double xa, double ya, double za) : Fireball(level, mob, xa, ya, za) 15{ 16 setSize(5 / 16.0f, 5 / 16.0f); 17} 18 19SmallFireball::SmallFireball(Level *level, double x, double y, double z, double xa, double ya, double za) : Fireball(level, x, y, z, xa, ya, za) 20{ 21 setSize(5 / 16.0f, 5 / 16.0f); 22} 23 24void SmallFireball::onHit(HitResult *res) 25{ 26 if (!level->isClientSide) 27 { 28 if (res->entity != NULL) 29 { 30 DamageSource *damageSource = DamageSource::fireball(dynamic_pointer_cast<Fireball>(shared_from_this()),owner); 31 if (!res->entity->isFireImmune() && res->entity->hurt(damageSource, 5)) 32 { 33 res->entity->setOnFire(5); 34 } 35 delete damageSource; 36 } 37 else 38 { 39 int tileX = res->x; 40 int tileY = res->y; 41 int tileZ = res->z; 42 switch (res->f) 43 { 44 case Facing::UP: 45 tileY++; 46 break; 47 case Facing::DOWN: 48 tileY--; 49 break; 50 case Facing::NORTH: 51 tileZ--; 52 break; 53 case Facing::SOUTH: 54 tileZ++; 55 break; 56 case Facing::EAST: 57 tileX++; 58 break; 59 case Facing::WEST: 60 tileX--; 61 break; 62 }; 63 if (level->isEmptyTile(tileX, tileY, tileZ)) 64 { 65 level->setTileAndUpdate(tileX, tileY, tileZ, Tile::fire_Id); 66 } 67 } 68 remove(); 69 } 70} 71 72bool SmallFireball::isPickable() 73{ 74 return false; 75} 76 77bool SmallFireball::hurt(DamageSource *source, float damage) 78{ 79 return false; 80}