aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/EmptyMapItem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/EmptyMapItem.cpp')
-rw-r--r--Minecraft.World/EmptyMapItem.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/Minecraft.World/EmptyMapItem.cpp b/Minecraft.World/EmptyMapItem.cpp
new file mode 100644
index 00000000..42adc304
--- /dev/null
+++ b/Minecraft.World/EmptyMapItem.cpp
@@ -0,0 +1,43 @@
+#include "stdafx.h"
+#include "net.minecraft.world.item.h"
+#include "net.minecraft.world.entity.player.h"
+#include "EmptyMapItem.h"
+
+EmptyMapItem::EmptyMapItem(int id) : ComplexItem(id)
+{
+}
+
+shared_ptr<ItemInstance> EmptyMapItem::use(shared_ptr<ItemInstance> itemInstance, Level *level, shared_ptr<Player> player)
+{
+ //shared_ptr<ItemInstance> map = shared_ptr<ItemInstance>( 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();
+
+ shared_ptr<ItemInstance> map = shared_ptr<ItemInstance>( 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;
+} \ No newline at end of file