3x3 separator
After Width: | Height: | Size: 516 B |
After Width: | Height: | Size: 1.3 KiB |
BIN
core/assets-raw/sprites/blocks/defense/segment.png
Normal file
After Width: | Height: | Size: 611 B |
Before Width: | Height: | Size: 713 B After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 430 B |
After Width: | Height: | Size: 299 B |
BIN
core/assets-raw/sprites/blocks/production/disassembler.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 701 B After Width: | Height: | Size: 693 B |
@ -240,3 +240,5 @@
|
||||
63504=payload-router|block-payload-router-medium
|
||||
63503=silicon-crucible|block-silicon-crucible-medium
|
||||
63502=segment|block-segment-medium
|
||||
63501=large-overdrive-projector|block-large-overdrive-projector-medium
|
||||
63500=disassembler|block-disassembler-medium
|
||||
|
Before Width: | Height: | Size: 746 B After Width: | Height: | Size: 760 B |
Before Width: | Height: | Size: 834 KiB After Width: | Height: | Size: 845 KiB |
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 271 KiB After Width: | Height: | Size: 279 KiB |
Before Width: | Height: | Size: 905 KiB After Width: | Height: | Size: 916 KiB |
@ -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);
|
||||
|