Printed processors in block form solderer recipes
This commit is contained in:
@@ -3,6 +3,7 @@ package com.raoulvdberge.refinedstorage.apiimpl.solderer;
|
|||||||
import com.raoulvdberge.refinedstorage.RSItems;
|
import com.raoulvdberge.refinedstorage.RSItems;
|
||||||
import com.raoulvdberge.refinedstorage.api.solderer.ISoldererRecipe;
|
import com.raoulvdberge.refinedstorage.api.solderer.ISoldererRecipe;
|
||||||
import com.raoulvdberge.refinedstorage.item.ItemProcessor;
|
import com.raoulvdberge.refinedstorage.item.ItemProcessor;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
@@ -10,24 +11,30 @@ import javax.annotation.Nonnull;
|
|||||||
|
|
||||||
public class SoldererRecipePrintedProcessor implements ISoldererRecipe {
|
public class SoldererRecipePrintedProcessor implements ISoldererRecipe {
|
||||||
private int type;
|
private int type;
|
||||||
|
private boolean fullBlock;
|
||||||
private ItemStack result;
|
private ItemStack result;
|
||||||
private ItemStack requirement;
|
private ItemStack requirement;
|
||||||
|
|
||||||
public SoldererRecipePrintedProcessor(int type) {
|
public SoldererRecipePrintedProcessor(int type, boolean fullBlock) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.result = new ItemStack(RSItems.PROCESSOR, 1, type);
|
this.fullBlock = fullBlock;
|
||||||
|
this.result = new ItemStack(RSItems.PROCESSOR, fullBlock ? 9 : 1, type);
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case ItemProcessor.TYPE_PRINTED_BASIC:
|
case ItemProcessor.TYPE_PRINTED_BASIC:
|
||||||
this.requirement = new ItemStack(Items.IRON_INGOT);
|
this.requirement = fullBlock ? new ItemStack(Blocks.IRON_BLOCK) : new ItemStack(Items.IRON_INGOT);
|
||||||
break;
|
break;
|
||||||
case ItemProcessor.TYPE_PRINTED_IMPROVED:
|
case ItemProcessor.TYPE_PRINTED_IMPROVED:
|
||||||
this.requirement = new ItemStack(Items.GOLD_INGOT);
|
this.requirement = fullBlock ? new ItemStack(Blocks.GOLD_BLOCK) : new ItemStack(Items.GOLD_INGOT);
|
||||||
break;
|
break;
|
||||||
case ItemProcessor.TYPE_PRINTED_ADVANCED:
|
case ItemProcessor.TYPE_PRINTED_ADVANCED:
|
||||||
this.requirement = new ItemStack(Items.DIAMOND);
|
this.requirement = fullBlock ? new ItemStack(Blocks.DIAMOND_BLOCK) : new ItemStack(Items.DIAMOND);
|
||||||
break;
|
break;
|
||||||
case ItemProcessor.TYPE_PRINTED_SILICON:
|
case ItemProcessor.TYPE_PRINTED_SILICON:
|
||||||
|
if (fullBlock) {
|
||||||
|
throw new IllegalArgumentException("Printed silicon can't be made from block form!");
|
||||||
|
}
|
||||||
|
|
||||||
this.requirement = new ItemStack(RSItems.SILICON);
|
this.requirement = new ItemStack(RSItems.SILICON);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -49,13 +56,13 @@ public class SoldererRecipePrintedProcessor implements ISoldererRecipe {
|
|||||||
public int getDuration() {
|
public int getDuration() {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case ItemProcessor.TYPE_PRINTED_BASIC:
|
case ItemProcessor.TYPE_PRINTED_BASIC:
|
||||||
return 100;
|
return 100 * (fullBlock ? 9 : 1);
|
||||||
case ItemProcessor.TYPE_PRINTED_IMPROVED:
|
case ItemProcessor.TYPE_PRINTED_IMPROVED:
|
||||||
return 150;
|
return 150 * (fullBlock ? 9 : 1);
|
||||||
case ItemProcessor.TYPE_PRINTED_ADVANCED:
|
case ItemProcessor.TYPE_PRINTED_ADVANCED:
|
||||||
return 200;
|
return 200 * (fullBlock ? 9 : 1);
|
||||||
case ItemProcessor.TYPE_PRINTED_SILICON:
|
case ItemProcessor.TYPE_PRINTED_SILICON:
|
||||||
return 90;
|
return 90 * (fullBlock ? 9 : 1);
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ public class ItemHandlerBasic extends ItemStackHandler {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Nonnull
|
@Nonnull
|
||||||
public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) {
|
public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) {
|
||||||
if (validators.length > 0) {
|
if (validators.length > 0) {
|
||||||
for (IItemValidator validator : validators) {
|
for (IItemValidator validator : validators) {
|
||||||
if (validator.isValid(stack)) {
|
if (validator.isValid(stack)) {
|
||||||
|
|||||||
@@ -206,10 +206,13 @@ public class ProxyCommon {
|
|||||||
OreDictionary.registerOre("itemSilicon", RSItems.SILICON);
|
OreDictionary.registerOre("itemSilicon", RSItems.SILICON);
|
||||||
|
|
||||||
// Processors
|
// Processors
|
||||||
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_BASIC));
|
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_BASIC, false));
|
||||||
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_IMPROVED));
|
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_IMPROVED, false));
|
||||||
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_ADVANCED));
|
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_ADVANCED, false));
|
||||||
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_SILICON));
|
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_BASIC, true));
|
||||||
|
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_IMPROVED, true));
|
||||||
|
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_ADVANCED, true));
|
||||||
|
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_SILICON, false));
|
||||||
|
|
||||||
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipeProcessor(ItemProcessor.TYPE_BASIC));
|
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipeProcessor(ItemProcessor.TYPE_BASIC));
|
||||||
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipeProcessor(ItemProcessor.TYPE_IMPROVED));
|
API.instance().getSoldererRegistry().addRecipe(new SoldererRecipeProcessor(ItemProcessor.TYPE_IMPROVED));
|
||||||
|
|||||||
Reference in New Issue
Block a user