3x3 separator
This commit is contained in:
@@ -46,7 +46,7 @@ public class Blocks implements ContentList{
|
||||
|
||||
//crafting
|
||||
siliconSmelter, siliconCrucible, kiln, graphitePress, plastaniumCompressor, multiPress, phaseWeaver, surgeSmelter, pyratiteMixer, blastMixer, cryofluidMixer,
|
||||
melter, separator, sporePress, pulverizer, incinerator, coalCentrifuge,
|
||||
melter, separator, disassembler, sporePress, pulverizer, incinerator, coalCentrifuge,
|
||||
|
||||
//sandbox
|
||||
powerSource, powerVoid, itemSource, itemVoid, liquidSource, liquidVoid, message, illuminator,
|
||||
@@ -674,6 +674,24 @@ public class Blocks implements ContentList{
|
||||
consumes.liquid(Liquids.slag, 0.07f);
|
||||
}};
|
||||
|
||||
disassembler = new Separator("disassembler"){{
|
||||
requirements(Category.crafting, ItemStack.with(Items.graphite, 150, Items.titanium, 100, Items.silicon, 150, Items.surgealloy, 70));
|
||||
results = ItemStack.with(
|
||||
Items.sand, 4,
|
||||
Items.graphite, 2,
|
||||
Items.titanium, 2,
|
||||
Items.thorium, 1
|
||||
);
|
||||
hasPower = true;
|
||||
craftTime = 15f;
|
||||
size = 3;
|
||||
itemCapacity = 20;
|
||||
|
||||
consumes.power(4f);
|
||||
consumes.item(Items.scrap);
|
||||
consumes.liquid(Liquids.slag, 0.1f);
|
||||
}};
|
||||
|
||||
sporePress = new GenericCrafter("spore-press"){{
|
||||
requirements(Category.crafting, ItemStack.with(Items.lead, 35, Items.silicon, 30));
|
||||
liquidCapacity = 60f;
|
||||
|
||||
@@ -149,7 +149,7 @@ abstract class PlayerComp implements UnitController, Entityc, Syncc, Timerc, Dra
|
||||
}
|
||||
|
||||
boolean dead(){
|
||||
return unit.isNull() || unit.dead() || !unit.isAdded();
|
||||
return unit.isNull() || !unit.isValid();
|
||||
}
|
||||
|
||||
String uuid(){
|
||||
|
||||
@@ -63,7 +63,15 @@ public class Separator extends Block{
|
||||
|
||||
@Override
|
||||
public boolean shouldConsume(){
|
||||
return items.total() < itemCapacity;
|
||||
int total = items.total();
|
||||
//very inefficient way of allowing separators to ignore input buffer storage
|
||||
if(consumes.has(ConsumeType.item) && consumes.get(ConsumeType.item) instanceof ConsumeItems){
|
||||
ConsumeItems c = consumes.get(ConsumeType.item);
|
||||
for(ItemStack stack : c.items){
|
||||
total -= items.get(stack.item);
|
||||
}
|
||||
}
|
||||
return total < itemCapacity;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -121,6 +129,11 @@ public class Separator extends Block{
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canDump(Tilec to, Item item){
|
||||
return !consumes.itemFilters.get(item.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(Writes write){
|
||||
super.write(write);
|
||||
|
||||
Reference in New Issue
Block a user