-
Notifications
You must be signed in to change notification settings - Fork 497
/
RobotIntegrationRecipe.java
executable file
·75 lines (65 loc) · 2.27 KB
/
RobotIntegrationRecipe.java
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
64
65
66
67
68
69
70
71
72
73
74
75
/**
* Copyright (c) 2011-2015, SpaceToad and the BuildCraft Team
* http://www.mod-buildcraft.com
*
* BuildCraft is distributed under the terms of the Minecraft Mod Public
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.robotics;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.item.ItemStack;
import buildcraft.BuildCraftRobotics;
import buildcraft.api.boards.RedstoneBoardNBT;
import buildcraft.api.boards.RedstoneBoardRegistry;
import buildcraft.core.lib.utils.NBTUtils;
import buildcraft.core.recipes.IntegrationRecipeBC;
public class RobotIntegrationRecipe extends IntegrationRecipeBC {
public RobotIntegrationRecipe() {
super(50000, 1);
}
@Override
public List<ItemStack> generateExampleInput() {
ArrayList<ItemStack> example = new ArrayList<ItemStack>();
example.add(ItemRobot.createRobotStack(null, 0));
return example;
}
@Override
public List<List<ItemStack>> generateExampleExpansions() {
ArrayList<List<ItemStack>> list = new ArrayList<List<ItemStack>>();
ArrayList<ItemStack> example = new ArrayList<ItemStack>();
for (RedstoneBoardNBT nbt : RedstoneBoardRegistry.instance.getAllBoardNBTs()) {
ItemStack stack = new ItemStack(BuildCraftRobotics.redstoneBoard);
nbt.createBoard(NBTUtils.getItemData(stack));
example.add(stack);
}
list.add(example);
return list;
}
@Override
public List<ItemStack> generateExampleOutput() {
ArrayList<ItemStack> example = new ArrayList<ItemStack>();
for (RedstoneBoardNBT nbt : RedstoneBoardRegistry.instance.getAllBoardNBTs()) {
ItemStack stack = new ItemStack(BuildCraftRobotics.redstoneBoard);
nbt.createBoard(NBTUtils.getItemData(stack));
example.add(ItemRobot.createRobotStack(stack, 0));
}
return example;
}
@Override
public boolean isValidInput(ItemStack input) {
return input.getItem() instanceof ItemRobot;
}
@Override
public boolean isValidExpansion(ItemStack input, ItemStack expansion) {
return expansion.getItem() instanceof ItemRedstoneBoard;
}
@Override
public ItemStack craft(ItemStack input, List<ItemStack> expansions, boolean preview) {
if (!preview) {
expansions.get(0).stackSize--;
}
return ItemRobot.createRobotStack(expansions.get(0), 0);
}
}