#include "stdafx.h" #include "net.minecraft.world.level.h" #include "net.minecraft.world.entity.player.h" #include "net.minecraft.world.entity.projectile.h" #include "EnderpearlItem.h" #include "SoundTypes.h" EnderpearlItem::EnderpearlItem(int id) : Item(id) { this->maxStackSize = 16; } bool EnderpearlItem::TestUse(Level *level, shared_ptr player) { return true; } shared_ptr EnderpearlItem::use(shared_ptr instance, Level *level, shared_ptr player) { // 4J-PB - Not sure why this was disabled for creative mode, so commenting out //if (player->abilities.instabuild) return instance; if (player->riding != NULL) return instance; if (!player->abilities.instabuild) { instance->count--; } level->playSound(player, eSoundType_RANDOM_BOW, 0.5f, 0.4f / (random->nextFloat() * 0.4f + 0.8f)); if (!level->isClientSide) { level->addEntity( shared_ptr( new ThrownEnderpearl(level, player) ) ); } return instance; }