This commit is contained in:
Anuken
2019-02-13 12:40:00 -05:00
parent 0ad89ebc04
commit e815cff291
4 changed files with 18 additions and 7 deletions

View File

@@ -140,7 +140,7 @@ public class MapGenerator extends Generator{
if(tile.getTeam() == Team.none && tile.block() instanceof StorageBlock){
for(ItemStack stack : storageDrops){
if(Mathf.chance(0.3)){
tile.entity.items.add(stack.item, Mathf.random(stack.amount));
tile.entity.items.add(stack.item, Math.min(Mathf.random(stack.amount), tile.block().itemCapacity));
}
}
}

View File

@@ -1,19 +1,21 @@
package io.anuke.mindustry.world;
import io.anuke.arc.collection.Array;
import io.anuke.mindustry.entities.Effects;
import io.anuke.arc.math.Mathf;
import io.anuke.arc.math.geom.Vector2;
import io.anuke.arc.util.Time;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.content.Fx;
import io.anuke.mindustry.entities.Effects;
import io.anuke.mindustry.entities.effect.Puddle;
import io.anuke.mindustry.entities.type.TileEntity;
import io.anuke.mindustry.entities.type.Unit;
import io.anuke.mindustry.entities.effect.Puddle;
import io.anuke.mindustry.game.UnlockableContent;
import io.anuke.mindustry.type.Item;
import io.anuke.mindustry.type.ItemStack;
import io.anuke.mindustry.type.Liquid;
import io.anuke.mindustry.world.consumers.ConsumeItem;
import io.anuke.mindustry.world.consumers.ConsumeItems;
import io.anuke.mindustry.world.consumers.ConsumeLiquid;
import io.anuke.mindustry.world.consumers.Consumers;
import io.anuke.mindustry.world.meta.BlockBars;
@@ -91,6 +93,13 @@ public abstract class BlockStorage extends UnlockableContent{
}
public boolean acceptItem(Item item, Tile tile, Tile source){
if(tile.entity != null && consumes.has(ConsumeItems.class)){
for(ItemStack stack : consumes.items()){
if(stack.item == item){
return tile.entity.items.get(item) < getMaximumAccepted(tile, item);
}
}
}
return tile.entity != null && consumes.has(ConsumeItem.class) && consumes.item() == item &&
tile.entity.items.get(item) < getMaximumAccepted(tile, item);
}

View File

@@ -128,7 +128,7 @@ public class Build{
if(tile == null) return false;
if(type.isMultiblock()){
if(type.canReplace(tile.block()) && tile.block().size == type.size && type.canPlaceOn(tile)){
if(type.canReplace(tile.block()) && tile.block().size == type.size && type.canPlaceOn(tile) && tile.getTeam() == team){
return true;
}

View File

@@ -105,9 +105,11 @@ public class CoreBlock extends StorageBlock{
Draw.rect(region, tile.drawx(), tile.drawy());
Draw.alpha(entity.heat);
Draw.rect(topRegion, tile.drawx(), tile.drawy());
Draw.color();
if(Core.atlas.isFound(topRegion)){
Draw.alpha(entity.heat);
Draw.rect(topRegion, tile.drawx(), tile.drawy());
Draw.color();
}
if(entity.currentUnit != null){
Unit player = entity.currentUnit;