the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "..\Minecraft.World\net.minecraft.core.h"
3#include "..\Minecraft.World\net.minecraft.world.entity.projectile.h"
4#include "..\Minecraft.World\net.minecraft.world.level.tile.h"
5#include "..\Minecraft.World\net.minecraft.world.level.h"
6#include "AbstractProjectileDispenseBehavior.h"
7
8shared_ptr<ItemInstance> AbstractProjectileDispenseBehavior::execute(BlockSource *source, shared_ptr<ItemInstance> dispensed)
9{
10 Level *world = source->getWorld();
11 Position position = DispenserTile::getDispensePosition(source);
12 FacingEnum *facing = DispenserTile::getFacing(source->getData());
13
14 shared_ptr<Projectile> arrow = getProjectile(world, position);
15 arrow->shoot(facing->getStepX(), facing->getStepY() + .1f, facing->getStepZ(), getPower(), getUncertainty());
16 world->addEntity(arrow);
17
18 dispensed->remove(1);
19
20 return dispensed;
21}
22
23void AbstractProjectileDispenseBehavior::playSound(BlockSource *source)
24{
25 source->getWorld()->levelEvent(LevelEvent::SOUND_LAUNCH, source->getBlockX(), source->getBlockY(), source->getBlockZ(), 0);
26}
27
28
29float AbstractProjectileDispenseBehavior::getUncertainty()
30{
31 return 6;
32}
33
34float AbstractProjectileDispenseBehavior::getPower()
35{
36 return 1.1f;
37}