From 9e9c001422e825300aaa62bc947bbb0776f54aa0 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 16 May 2019 15:16:17 -0400 Subject: [PATCH] Cleanup --- core/src/io/anuke/mindustry/core/ContentLoader.java | 4 ++++ .../mindustry/world/blocks/distribution/Sorter.java | 7 +++---- .../mindustry/world/blocks/sandbox/ItemSource.java | 13 +++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/core/src/io/anuke/mindustry/core/ContentLoader.java b/core/src/io/anuke/mindustry/core/ContentLoader.java index c7af6e9154..f84e770ca3 100644 --- a/core/src/io/anuke/mindustry/core/ContentLoader.java +++ b/core/src/io/anuke/mindustry/core/ContentLoader.java @@ -167,6 +167,10 @@ public class ContentLoader{ public T getByID(ContentType type, int id){ if(temporaryMapper != null && temporaryMapper[type.ordinal()] != null && temporaryMapper[type.ordinal()].length != 0){ + //-1 = invalid content + if(id < 0){ + return null; + } if(temporaryMapper[type.ordinal()].length <= id || temporaryMapper[type.ordinal()][id] == null){ return getByID(type, 0); //default value is always ID 0 } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java index 548a18bc7d..03cd674cbb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java @@ -1,7 +1,6 @@ package io.anuke.mindustry.world.blocks.distribution; -import io.anuke.annotations.Annotations.Loc; -import io.anuke.annotations.Annotations.Remote; +import io.anuke.annotations.Annotations.*; import io.anuke.arc.Core; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; @@ -70,7 +69,7 @@ public class Sorter extends Block{ Item item = entity.buffer.poll(i); if(item != null){ Tile other = getTileTarget(item, tile, tile.getNearby(i), true); - if(other.block().acceptItem(item, other, tile)){ + if(other != null && other.block().acceptItem(item, other, tile)){ other.block().handleItem(item, other, tile); entity.buffer.remove(i); } @@ -93,7 +92,7 @@ public class Sorter extends Block{ } } - Tile getTileTarget(Item item, Tile dest, Tile source, boolean flip){ + @Nullable Tile getTileTarget(Item item, Tile dest, Tile source, boolean flip){ SorterEntity entity = dest.entity(); int dir = source.relativeTo(dest.x, dest.y); diff --git a/core/src/io/anuke/mindustry/world/blocks/sandbox/ItemSource.java b/core/src/io/anuke/mindustry/world/blocks/sandbox/ItemSource.java index 6c42b23832..3c9a29e3ec 100644 --- a/core/src/io/anuke/mindustry/world/blocks/sandbox/ItemSource.java +++ b/core/src/io/anuke/mindustry/world/blocks/sandbox/ItemSource.java @@ -2,6 +2,7 @@ package io.anuke.mindustry.world.blocks.sandbox; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.mindustry.entities.type.Player; import io.anuke.mindustry.entities.type.TileEntity; @@ -47,6 +48,18 @@ public class ItemSource extends Block{ return true; } + @Override + public void draw(Tile tile){ + super.draw(tile); + + ItemSourceEntity entity = tile.entity(); + if(entity.outputItem == null) return; + + Draw.color(entity.outputItem.color); + Draw.rect("blank", tile.worldx(), tile.worldy(), 4f, 4f); + Draw.color(); + } + @Override public void update(Tile tile){ ItemSourceEntity entity = tile.entity();