Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
2.5 kB · 81 lines
C++
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081#include "stdafx.h"#include "net.minecraft.world.entity.player.h"#include "net.minecraft.world.entity.projectile.h"#include "net.minecraft.world.item.h"#include "net.minecraft.world.level.h"#include "FireworksItem.h"
const wstring FireworksItem::TAG_FIREWORKS = L"Fireworks";const wstring FireworksItem::TAG_EXPLOSION = L"Explosion";const wstring FireworksItem::TAG_EXPLOSIONS = L"Explosions";const wstring FireworksItem::TAG_FLIGHT = L"Flight";const wstring FireworksItem::TAG_E_TYPE = L"Type";const wstring FireworksItem::TAG_E_TRAIL = L"Trail";const wstring FireworksItem::TAG_E_FLICKER = L"Flicker";const wstring FireworksItem::TAG_E_COLORS = L"Colors";const wstring FireworksItem::TAG_E_FADECOLORS = L"FadeColors";
FireworksItem::FireworksItem(int id) : Item(id){}
bool FireworksItem::useOn(shared_ptr<ItemInstance> instance, shared_ptr<Player> player, Level *level, int x, int y, int z, int face, float clickX, float clickY, float clickZ, bool bTestUseOnOnly){ // 4J-JEV: Fix for xb1 #173493 - CU7: Content: UI: Missing tooltip for Firework Rocket. if (bTestUseOnOnly) return true;
if (!level->isClientSide) { shared_ptr<FireworksRocketEntity> f = shared_ptr<FireworksRocketEntity>( new FireworksRocketEntity(level, x + clickX, y + clickY, z + clickZ, instance) ); level->addEntity(f);
if (!player->abilities.instabuild) { instance->count--; } return true; }
return false;}
void FireworksItem::appendHoverText(shared_ptr<ItemInstance> itemInstance, shared_ptr<Player> player, vector<HtmlString> *lines, bool advanced){ if (!itemInstance->hasTag()) { return; } CompoundTag *fireTag = itemInstance->getTag()->getCompound(TAG_FIREWORKS); if (fireTag == NULL) { return; } if (fireTag->contains(TAG_FLIGHT)) { lines->push_back(wstring(app.GetString(IDS_ITEM_FIREWORKS_FLIGHT)) + L" " + _toString<int>((fireTag->getByte(TAG_FLIGHT)))); }
ListTag<CompoundTag> *explosions = (ListTag<CompoundTag> *) fireTag->getList(TAG_EXPLOSIONS); if (explosions != NULL && explosions->size() > 0) {
for (int i = 0; i < explosions->size(); i++) { CompoundTag *expTag = explosions->get(i);
vector<HtmlString> eLines; FireworksChargeItem::appendHoverText(expTag, &eLines);
if (eLines.size() > 0) { // Indent lines after first line for (int i = 1; i < eLines.size(); i++) { eLines[i].indent = true; }
lines->insert(lines->end(), eLines.begin(), eLines.end()); } } }}