aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/MapCloningRecipe.h
blob: 272f9b860193c06a5cf3ef86bb49241547885a8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#pragma once

/*
class MapCloningRecipe implements Recipy {
	@Override
		public boolean matches(CraftingContainer craftSlots, Level level) {
			int count = 0;
			ItemInstance source = null;

			for (int slot = 0; slot < craftSlots.getContainerSize(); slot++) {
				ItemInstance item = craftSlots.getItem(slot);
				if (item == null) continue;

				if (item.id == Item.map.id) {
					if (source != null) return false;
					source = item;
				} else if (item.id == Item.emptyMap.id) {
					count++;
				} else {
					return false;
				}
			}

			return source != null && count > 0;
	}

	@Override
		public ItemInstance assemble(CraftingContainer craftSlots) {
			int count = 0;
			ItemInstance source = null;

			for (int slot = 0; slot < craftSlots.getContainerSize(); slot++) {
				ItemInstance item = craftSlots.getItem(slot);
				if (item == null) continue;

				if (item.id == Item.map.id) {
					if (source != null) return null;
					source = item;
				} else if (item.id == Item.emptyMap.id) {
					count++;
				} else {
					return null;
				}
			}

			if (source == null || count < 1) return null;

			ItemInstance result = new ItemInstance(Item.map, count + 1, source.getAuxValue());
			if (source.hasCustomHoverName()) result.setHoverName(source.getHoverName());
			return result;
	}

	@Override
		public int size() {
			return 9;
	}

	@Override
		public ItemInstance getResultItem() {
			return null;
	}
};
*/