From 6f55870a1ff3a054cfc896d52b548893d20fae35 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 18 Feb 2018 12:49:59 -0500 Subject: [PATCH] Updated version, teleporter tweaks --- core/assets/version.properties | 6 ++--- .../blocks/types/distribution/Teleporter.java | 26 +++++++------------ 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/core/assets/version.properties b/core/assets/version.properties index 86806cbab7..95e745be59 100644 --- a/core/assets/version.properties +++ b/core/assets/version.properties @@ -1,7 +1,7 @@ #Autogenerated file. Do not modify. -#Sun Feb 18 12:25:44 EST 2018 +#Sun Feb 18 12:38:19 EST 2018 version=beta -androidBuildCode=236 +androidBuildCode=238 name=Mindustry code=3.3 -build=custom build +build=24 diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java index 0591461d0a..9f90545322 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java @@ -87,8 +87,12 @@ public class Teleporter extends PowerBlock{ @Override public void update(Tile tile){ TeleporterEntity entity = tile.entity(); - + teleporters[entity.color].add(tile); + + if(entity.totalItems() > 0){ + tryDump(tile); + } } @Override @@ -130,12 +134,12 @@ public class Teleporter extends PowerBlock{ public void handleItem(Item item, Tile tile, Tile source){ PowerEntity entity = tile.entity(); - Array links = findLinks(tile, item); + Array links = findLinks(tile); if(links.size > 0){ if(!syncBlockState || Net.server() || !Net.active()){ Tile target = links.random(); - target.block().offloadNear(target, item); + target.entity.addItem(item, 1); } } @@ -145,25 +149,15 @@ public class Teleporter extends PowerBlock{ @Override public boolean acceptItem(Item item, Tile tile, Tile source){ PowerEntity entity = tile.entity(); - return !(source.block() instanceof Teleporter) && entity.power >= powerPerItem && findLinks(tile, item).size > 0; + return !(source.block() instanceof Teleporter) && entity.power >= powerPerItem && findLinks(tile).size > 0; } @Override public TileEntity getEntity(){ return new TeleporterEntity(); } - - public boolean available(Tile tile, Item item){ - for(int i = 0; i < 4; i ++){ - Tile next = tile.getNearby(i); - if(next != null && !(next.block().instantTransfer) && next.block().acceptItem(item, next, tile)){ - return true; - } - } - return false; - } - private Array findLinks(Tile tile, Item output){ + private Array findLinks(Tile tile){ TeleporterEntity entity = tile.entity(); removal.clear(); @@ -174,7 +168,7 @@ public class Teleporter extends PowerBlock{ if(other.block() instanceof Teleporter){ if(other.entity().color != entity.color){ removal.add(other); - }else if(((Teleporter)other.block()).available(other, output)){ + }else if(other.entity.totalItems() == 0){ returns.add(other); } }else{