#include "../Platform/stdafx.h" #include "../Headers/net.minecraft.world.item.h" #include "../Headers/net.minecraft.world.entity.player.h" #include "EmptyMapItem.h" EmptyMapItem::EmptyMapItem(int id) : ComplexItem(id) {} std::shared_ptr EmptyMapItem::use( std::shared_ptr itemInstance, Level* level, std::shared_ptr player) { // shared_ptr map = shared_ptr( new // ItemInstance(Item::map, 1, level->getFreeAuxValueFor(L"map")) ); // String id = "map_" + map.getAuxValue(); // MapItemSavedData data = new MapItemSavedData(id); // level.setSavedData(id, data); // data.scale = 0; // int scale = MapItemSavedData.MAP_SIZE * 2 * (1 << data.scale); // data.x = (int) (Math.round(player.x / scale) * scale); // data.z = (int) (Math.round(player.z / scale) * scale); // data.dimension = (byte) level.dimension.id; // data.setDirty(); std::shared_ptr map = std::shared_ptr(new ItemInstance(Item::map, 1, -1)); Item::map->onCraftedBy(map, level, player); itemInstance->count--; if (itemInstance->count <= 0) { return map; } else { if (!player->inventory->add(map->copy())) { player->drop(map); } } return itemInstance; }