the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3/*
4class MapCloningRecipe implements Recipy {
5 @Override
6 public boolean matches(CraftingContainer craftSlots, Level level) {
7 int count = 0;
8 ItemInstance source = null;
9
10 for (int slot = 0; slot < craftSlots.getContainerSize(); slot++) {
11 ItemInstance item = craftSlots.getItem(slot);
12 if (item == null) continue;
13
14 if (item.id == Item.map.id) {
15 if (source != null) return false;
16 source = item;
17 } else if (item.id == Item.emptyMap.id) {
18 count++;
19 } else {
20 return false;
21 }
22 }
23
24 return source != null && count > 0;
25 }
26
27 @Override
28 public ItemInstance assemble(CraftingContainer craftSlots) {
29 int count = 0;
30 ItemInstance source = null;
31
32 for (int slot = 0; slot < craftSlots.getContainerSize(); slot++) {
33 ItemInstance item = craftSlots.getItem(slot);
34 if (item == null) continue;
35
36 if (item.id == Item.map.id) {
37 if (source != null) return null;
38 source = item;
39 } else if (item.id == Item.emptyMap.id) {
40 count++;
41 } else {
42 return null;
43 }
44 }
45
46 if (source == null || count < 1) return null;
47
48 ItemInstance result = new ItemInstance(Item.map, count + 1, source.getAuxValue());
49 if (source.hasCustomHoverName()) result.setHoverName(source.getHoverName());
50 return result;
51 }
52
53 @Override
54 public int size() {
55 return 9;
56 }
57
58 @Override
59 public ItemInstance getResultItem() {
60 return null;
61 }
62};
63*/