Bugfixes
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user