/**
+ * 素材作成台の不定形レシピを追加します
+ * @param materials 素材
+ * @param result 結果
+ * @param nbtRecipe NBT(Nullの場合はなし)
+ */
+ public void addSharplessMaterialRecipe(ItemStack[] materials, ItemStack result, ChemicalNBTRecipe nbtRecipe){
+ materialRecipe.add(
+ new MaterialRecipe(
+ result,
+ materials,
+ nbtRecipe,
+ true));
+ }
+
+
+
+ /**
* 電気分解台の燃料を追加します
* @param itemstack 燃料のItemStack
* @param burnTime 燃焼時間(tick * rate)
/**
- * 素材作成台の不定形レシピを追加します
- * @param materials 素材
- * @param result 結果
- * @param nbtRecipe NBT(Nullの場合はなし)
- */
- public void addSharplessMaterialRecipe(ItemStack[] materials, ItemStack result, ChemicalNBTRecipe nbtRecipe){
- materialRecipe.add(
- new MaterialRecipe(
- result,
- materials,
- nbtRecipe,
- true));
- }
-
-
-
- /**
* ツール&武器作成台の不定形レシピを追加します
* @param materials 素材
* @param result 結果
-package pcc.chemicraft.util;
+package pcc.chemicraft.testcase;
import static org.junit.Assert.*;
import org.junit.Test;
+import pcc.chemicraft.util.Formula;
+
public class FormulaTest extends Formula {
public FormulaTest() {
@Test
public void test() {
- Formula formula = new Formula("C64Si16");
+ Formula formula = new Formula("C64Si65535");
assertEquals("変換がおかしいです(元素)",
formula.getAtoms(),
new String[] {"C", "Si"});
assertEquals("変換がおかしいです(元素数)",
formula.getAmonts(),
- new Integer[] {64, 16});
+ new Integer[] {64, 65535});
}
--- /dev/null
+package pcc.chemicraft.testcase;
+
+import static org.junit.Assert.*;
+
+import net.minecraft.item.ItemStack;
+
+import org.junit.Test;
+
+import pcc.chemicraft.base.ChemiCraftBase;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingMaterial;
+import pcc.chemicraft.util.ChemicalNBTRecipe;
+import pcc.chemicraft.util.MaterialRecipe;
+
+public class MaterialRecipeTest extends MaterialRecipe {
+
+ public MaterialRecipeTest() {
+ super(
+ new ItemStack(1800, 1, 0),
+ new ItemStack[] {
+ new ItemStack(1800, 1, 0)
+ },
+ null,
+ true);
+ }
+
+ @Test
+ public void test() {
+
+ ItemStack stack = new ItemStack(18000, 1, 0);
+ InventoryChemicalCraftingMaterial inv = new InventoryChemicalCraftingMaterial();
+ inv.setInventorySlotContents(0, new ItemStack(18000, 1, 0));
+
+ MaterialRecipe mr = new MaterialRecipe(
+ stack,
+ new ItemStack[] {
+ new ItemStack(18000, 1, 0)
+ },
+ null,
+ true);
+
+ assertEquals(
+ mr.match(inv),
+ stack
+ );
+
+ }
+
+}
public static class ArrayAuxiliary{
- public ItemStack[] deleteNull(ItemStack[] array){
+ public static ItemStack[] deleteNull(ItemStack[] array){
int count = 0;
ItemStack[] arrayCopy;
for(int i = 0;i < array.length;i++){
import net.minecraft.item.ItemStack;
import pcc.chemicraft.core.ChemiCraftCore;
import pcc.chemicraft.core.inventory.InventoryChemicalCraftingMaterial;
+import pcc.chemicraft.util.Auxiliary.ArrayAuxiliary;
public class MaterialRecipe {
if(isSharpless){
Arrays.sort(invItems, new ComparatorItemStack());
Arrays.sort(this.material, new ComparatorItemStack());
- invItems = (ItemStack[]) ChemiCraftCore.instance.arrayAuxiliary.deleteNull(invItems);
+ invItems = (ItemStack[]) ArrayAuxiliary.deleteNull(invItems);
if(invItems.length != this.material.length) return null;
for(int i = 0;i < this.material.length;i++){
if(this.material[i].itemID != invItems[i].itemID) return null;
if(isSharpless){
Arrays.sort(invItems, new ComparatorItemStack());
Arrays.sort(this.material, new ComparatorItemStack());
- invItems = (ItemStack[]) ChemiCraftCore.instance.arrayAuxiliary.deleteNull(invItems);
+ invItems = (ItemStack[]) ArrayAuxiliary.deleteNull(invItems);
if(invItems.length != this.material.length) return null;
for(int i = 0;i < this.material.length;i++){
if(this.material[i].itemID != invItems[i].itemID) return null;