1
0
mirror of https://github.com/Anuken/Mindustry.git synced 2024-11-13 07:15:28 +03:00

3x3 separator

This commit is contained in:
Anuken 2020-06-03 19:42:42 -04:00
parent 45c2cd7ac3
commit 5bcaed54c6
18 changed files with 5118 additions and 4980 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 713 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 701 B

After

Width:  |  Height:  |  Size: 693 B

View File

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 746 B

After

Width:  |  Height:  |  Size: 760 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 834 KiB

After

Width:  |  Height:  |  Size: 845 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 KiB

After

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 KiB

After

Width:  |  Height:  |  Size: 916 KiB

View File

@ -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;

View File

@ -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(){

View File

@ -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);