diff --git a/core/assets/version.properties b/core/assets/version.properties
index b817bacf7c..45edfc36c1 100644
--- a/core/assets/version.properties
+++ b/core/assets/version.properties
@@ -1,7 +1,7 @@
#Autogenerated file. Do not modify.
-#Wed Mar 14 17:58:02 EDT 2018
+#Wed Mar 14 20:14:54 EDT 2018
version=release
-androidBuildCode=499
+androidBuildCode=500
name=Mindustry
code=3.4
build=custom build
diff --git a/core/src/Mindustry.gwt.xml b/core/src/Mindustry.gwt.xml
index b99a471915..11108dfe0c 100644
--- a/core/src/Mindustry.gwt.xml
+++ b/core/src/Mindustry.gwt.xml
@@ -4,7 +4,7 @@
-
+
diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java
index 855e4fce3c..d67cdff897 100644
--- a/core/src/io/anuke/mindustry/Vars.java
+++ b/core/src/io/anuke/mindustry/Vars.java
@@ -9,7 +9,7 @@ import io.anuke.mindustry.entities.Bullet;
import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.TileEntity;
import io.anuke.mindustry.entities.effect.Shield;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.io.Platform;
import io.anuke.mindustry.net.ClientDebug;
import io.anuke.mindustry.net.ServerDebug;
diff --git a/core/src/io/anuke/mindustry/ai/Pathfind.java b/core/src/io/anuke/mindustry/ai/Pathfind.java
index c2e48d6e03..5df4030167 100644
--- a/core/src/io/anuke/mindustry/ai/Pathfind.java
+++ b/core/src/io/anuke/mindustry/ai/Pathfind.java
@@ -4,7 +4,7 @@ import com.badlogic.gdx.ai.pfa.PathFinderRequest;
import com.badlogic.gdx.ai.pfa.PathSmoother;
import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.math.Vector2;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.game.SpawnPoint;
import io.anuke.mindustry.world.Tile;
import io.anuke.ucore.core.Timers;
diff --git a/core/src/io/anuke/mindustry/core/NetClient.java b/core/src/io/anuke/mindustry/core/NetClient.java
index a12c3fc52b..83cf551b21 100644
--- a/core/src/io/anuke/mindustry/core/NetClient.java
+++ b/core/src/io/anuke/mindustry/core/NetClient.java
@@ -3,13 +3,12 @@ package io.anuke.mindustry.core;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.utils.IntMap;
import com.badlogic.gdx.utils.IntSet;
-import com.badlogic.gdx.utils.TimeUtils;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.entities.Bullet;
import io.anuke.mindustry.entities.BulletType;
import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.SyncEntity;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.io.Platform;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.net.Net.SendMode;
@@ -130,6 +129,7 @@ public class NetClient extends Module {
long time = data.getLong();
byte groupid = data.get();
+ byte writesize = data.get();
EntityGroup> group = Entities.getGroup(groupid);
@@ -148,7 +148,7 @@ public class NetClient extends Module {
req.group = groupid;
Net.send(req, SendMode.udp);
}
- data.position(data.position() + SyncEntity.getWriteSize((Class extends SyncEntity>) group.getType()));
+ data.position(data.position() + writesize);
} else {
entity.read(data, time);
}
@@ -322,14 +322,8 @@ public class NetClient extends Module {
void sync(){
if(timer.get(0, playerSyncTime)){
-
- byte[] bytes = new byte[player.getWriteSize() + 8];
- ByteBuffer buffer = ByteBuffer.wrap(bytes);
- buffer.putLong(TimeUtils.millis());
- player.write(buffer);
-
PositionPacket packet = new PositionPacket();
- packet.data = bytes;
+ packet.player = player;
Net.send(packet, SendMode.udp);
}
diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java
index a04470aede..3d9678243c 100644
--- a/core/src/io/anuke/mindustry/core/NetServer.java
+++ b/core/src/io/anuke/mindustry/core/NetServer.java
@@ -42,6 +42,7 @@ public class NetServer extends Module{
private ObjectMap weapons = new ObjectMap<>();
private boolean closing = false;
private Timer timer = new Timer(5);
+ private ByteBuffer writeBuffer = ByteBuffer.allocate(32);
public NetServer(){
@@ -153,11 +154,7 @@ public class NetServer extends Module{
});
Net.handleServer(PositionPacket.class, (id, packet) -> {
- ByteBuffer buffer = ByteBuffer.wrap(packet.data);
- long time = buffer.getLong();
-
- Player player = connections.get(id);
- player.read(buffer, time);
+ //...don't do anything here as it's already handled by the packet itself
});
Net.handleServer(ShootPacket.class, (id, packet) -> {
@@ -320,8 +317,12 @@ public class NetServer extends Module{
for(EntityGroup> group : Entities.getAllGroups()) {
if(group.size() == 0 || !(group.all().iterator().next() instanceof SyncEntity)) continue;
+ ((SyncEntity)group.all().get(0)).write(writeBuffer);
+
//get write size for one entity (adding 4, as you need to write the ID as well)
- int writesize = SyncEntity.getWriteSize((Class extends SyncEntity>)group.getType()) + 4;
+ int writesize = writeBuffer.position() + 4;
+
+ writeBuffer.position(0);
//amount of entities
int amount = group.size();
//maximum amount of entities per packet
@@ -339,12 +340,14 @@ public class NetServer extends Module{
//calculate amount of entities to go into this packet
int csize = Math.min(amount-i, maxsize);
//create a byte array to write to
- byte[] bytes = new byte[csize*writesize + 1 + 8];
+ byte[] bytes = new byte[csize*writesize + 1 + 1 + 8];
//wrap it for easy writing
current = ByteBuffer.wrap(bytes);
current.putLong(TimeUtils.millis());
//write the group ID so the client knows which group this is
current.put((byte)group.getID());
+ //write size of each entity write here
+ current.put((byte)writesize);
}
SyncEntity entity = (SyncEntity) group.all().get(i);
diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java
index 0667505660..8a90ebf503 100644
--- a/core/src/io/anuke/mindustry/core/Renderer.java
+++ b/core/src/io/anuke/mindustry/core/Renderer.java
@@ -15,7 +15,7 @@ import com.badlogic.gdx.utils.Pools;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.SyncEntity;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.game.SpawnPoint;
import io.anuke.mindustry.graphics.BlockRenderer;
import io.anuke.mindustry.graphics.Shaders;
@@ -184,7 +184,7 @@ public class Renderer extends RendererModule{
Graphics.shader(Shaders.outline, false);
Entities.draw(enemyGroup);
- Entities.draw(playerGroup, p -> !p.isAndroid);
+ Entities.draw(playerGroup, p -> !p.mech.flying);
Graphics.shader();
Entities.draw(Entities.defaultGroup());
@@ -192,7 +192,7 @@ public class Renderer extends RendererModule{
blocks.drawBlocks(true);
Graphics.shader(Shaders.outline, false);
- Entities.draw(playerGroup, p -> p.isAndroid);
+ Entities.draw(playerGroup, p -> p.mech.flying);
Graphics.shader();
Entities.draw(bulletGroup);
@@ -508,7 +508,7 @@ public class Renderer extends RendererModule{
}
for(Player player : playerGroup.all()){
- if(!player.isDead() && !player.isAndroid) drawHealth(player);
+ if(!player.isDead()) drawHealth(player);
}
}
}
diff --git a/core/src/io/anuke/mindustry/entities/Bullet.java b/core/src/io/anuke/mindustry/entities/Bullet.java
index 60e43ddd4f..cfc1b38664 100644
--- a/core/src/io/anuke/mindustry/entities/Bullet.java
+++ b/core/src/io/anuke/mindustry/entities/Bullet.java
@@ -1,6 +1,6 @@
package io.anuke.mindustry.entities;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.world.Tile;
import io.anuke.ucore.entities.BulletEntity;
import io.anuke.ucore.entities.Entity;
diff --git a/core/src/io/anuke/mindustry/entities/BulletType.java b/core/src/io/anuke/mindustry/entities/BulletType.java
index 386b86c745..9048de86e5 100644
--- a/core/src/io/anuke/mindustry/entities/BulletType.java
+++ b/core/src/io/anuke/mindustry/entities/BulletType.java
@@ -3,7 +3,7 @@ package io.anuke.mindustry.entities;
import com.badlogic.gdx.graphics.Color;
import io.anuke.mindustry.entities.effect.DamageArea;
import io.anuke.mindustry.entities.effect.EMP;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.graphics.Fx;
import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.core.Effects;
diff --git a/core/src/io/anuke/mindustry/entities/SyncEntity.java b/core/src/io/anuke/mindustry/entities/SyncEntity.java
index 1e34c724e8..17b51a8fee 100644
--- a/core/src/io/anuke/mindustry/entities/SyncEntity.java
+++ b/core/src/io/anuke/mindustry/entities/SyncEntity.java
@@ -76,7 +76,7 @@ public abstract class SyncEntity extends DestructibleEntity{
return (T)this;
}
- private static boolean isSmoothing(){
+ public static boolean isSmoothing(){
return threads.isEnabled() && threads.getFPS() <= Gdx.graphics.getFramesPerSecond() / 2f;
}
diff --git a/core/src/io/anuke/mindustry/entities/effect/Shield.java b/core/src/io/anuke/mindustry/entities/effect/Shield.java
index e829f6c30a..fd34aefc64 100644
--- a/core/src/io/anuke/mindustry/entities/effect/Shield.java
+++ b/core/src/io/anuke/mindustry/entities/effect/Shield.java
@@ -1,7 +1,7 @@
package io.anuke.mindustry.entities.effect;
import com.badlogic.gdx.math.Interpolation;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.types.defense.ShieldBlock;
import io.anuke.ucore.core.Timers;
diff --git a/core/src/io/anuke/mindustry/entities/effect/TeslaOrb.java b/core/src/io/anuke/mindustry/entities/effect/TeslaOrb.java
index 89b84e40e5..0178342027 100644
--- a/core/src/io/anuke/mindustry/entities/effect/TeslaOrb.java
+++ b/core/src/io/anuke/mindustry/entities/effect/TeslaOrb.java
@@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.ObjectSet;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.graphics.Fx;
import io.anuke.ucore.core.Effects;
import io.anuke.ucore.core.Timers;
diff --git a/core/src/io/anuke/mindustry/entities/enemies/BaseUnit.java b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java
similarity index 97%
rename from core/src/io/anuke/mindustry/entities/enemies/BaseUnit.java
rename to core/src/io/anuke/mindustry/entities/units/BaseUnit.java
index 19c2c11c26..20fcb0fb94 100644
--- a/core/src/io/anuke/mindustry/entities/enemies/BaseUnit.java
+++ b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java
@@ -1,4 +1,4 @@
-package io.anuke.mindustry.entities.enemies;
+package io.anuke.mindustry.entities.units;
import io.anuke.mindustry.entities.Bullet;
import io.anuke.mindustry.entities.Unit;
diff --git a/core/src/io/anuke/mindustry/entities/enemies/UnitType.java b/core/src/io/anuke/mindustry/entities/units/UnitType.java
similarity index 97%
rename from core/src/io/anuke/mindustry/entities/enemies/UnitType.java
rename to core/src/io/anuke/mindustry/entities/units/UnitType.java
index c465d68e24..28f4c8b95d 100644
--- a/core/src/io/anuke/mindustry/entities/enemies/UnitType.java
+++ b/core/src/io/anuke/mindustry/entities/units/UnitType.java
@@ -1,4 +1,4 @@
-package io.anuke.mindustry.entities.enemies;
+package io.anuke.mindustry.entities.units;
import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.entities.BulletType;
diff --git a/core/src/io/anuke/mindustry/entities/enemies/UnitTypes.java b/core/src/io/anuke/mindustry/entities/units/UnitTypes.java
similarity index 55%
rename from core/src/io/anuke/mindustry/entities/enemies/UnitTypes.java
rename to core/src/io/anuke/mindustry/entities/units/UnitTypes.java
index 249f9e92fb..f181f401b4 100644
--- a/core/src/io/anuke/mindustry/entities/enemies/UnitTypes.java
+++ b/core/src/io/anuke/mindustry/entities/units/UnitTypes.java
@@ -1,4 +1,4 @@
-package io.anuke.mindustry.entities.enemies;
+package io.anuke.mindustry.entities.units;
public class UnitTypes {
//TODO list types here.
diff --git a/core/src/io/anuke/mindustry/game/EnemySpawn.java b/core/src/io/anuke/mindustry/game/EnemySpawn.java
index 358112fe18..1339b93fa0 100644
--- a/core/src/io/anuke/mindustry/game/EnemySpawn.java
+++ b/core/src/io/anuke/mindustry/game/EnemySpawn.java
@@ -1,6 +1,6 @@
package io.anuke.mindustry.game;
-import io.anuke.mindustry.entities.enemies.UnitType;
+import io.anuke.mindustry.entities.units.UnitType;
import io.anuke.ucore.util.Mathf;
import static io.anuke.mindustry.Vars.state;
@@ -30,7 +30,8 @@ public class EnemySpawn{
public EnemySpawn(UnitType type){
this.type = type;
}
-
+
+ //TODO
public int evaluate(int wave, int lane){
if(wave < after || wave > before || (wave - after) % spacing != 0){
return 0;
@@ -41,6 +42,6 @@ public class EnemySpawn{
}
public int tier(int wave, int lane){
- return Mathf.clamp(tier + (wave-after)/tierscale, 1, UnitType.maxtier);
+ return Mathf.clamp(tier + (wave-after)/tierscale, 1, 5);
}
}
diff --git a/core/src/io/anuke/mindustry/game/EventType.java b/core/src/io/anuke/mindustry/game/EventType.java
index beb0e5456d..7ae7b972d4 100644
--- a/core/src/io/anuke/mindustry/game/EventType.java
+++ b/core/src/io/anuke/mindustry/game/EventType.java
@@ -3,7 +3,7 @@ package io.anuke.mindustry.game;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.entities.BulletType;
import io.anuke.mindustry.entities.TileEntity;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.resource.Weapon;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile;
diff --git a/core/src/io/anuke/mindustry/io/versions/Save16.java b/core/src/io/anuke/mindustry/io/versions/Save16.java
index d84bba7608..f163b8c581 100644
--- a/core/src/io/anuke/mindustry/io/versions/Save16.java
+++ b/core/src/io/anuke/mindustry/io/versions/Save16.java
@@ -1,10 +1,9 @@
package io.anuke.mindustry.io.versions;
-import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.IntMap;
import com.badlogic.gdx.utils.TimeUtils;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
-import io.anuke.mindustry.entities.enemies.UnitType;
+import io.anuke.mindustry.entities.units.BaseUnit;
+import io.anuke.mindustry.entities.units.UnitType;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.io.SaveFileVersion;
@@ -120,25 +119,18 @@ public class Save16 extends SaveFileVersion {
int enemies = stream.readInt();
- Array enemiesToUpdate = new Array<>();
-
for(int i = 0; i < enemies; i ++){
byte type = stream.readByte();
- int lane = stream.readByte();
float x = stream.readFloat();
float y = stream.readFloat();
- byte tier = stream.readByte();
int health = stream.readShort();
try{
BaseUnit enemy = new BaseUnit(UnitType.getByID(type));
- enemy.lane = lane;
enemy.health = health;
enemy.x = x;
enemy.y = y;
- enemy.tier = tier;
enemy.add(enemyGroup);
- enemiesToUpdate.add(enemy);
}catch (Exception e){
throw new RuntimeException(e);
}
@@ -158,10 +150,6 @@ public class Save16 extends SaveFileVersion {
world.loadMap(world.maps().getMap(mapid), seed);
if(!headless) renderer.clearTiles();
- for(BaseUnit enemy : enemiesToUpdate){
- enemy.node = -2;
- }
-
int rocks = stream.readInt();
for(int x = 0; x < world.width(); x ++){
@@ -285,10 +273,8 @@ public class Save16 extends SaveFileVersion {
for(int i = 0; i < enemies.size(); i ++){
BaseUnit enemy = enemies.get(i);
stream.writeByte(enemy.type.id); //type
- stream.writeByte(enemy.lane); //lane
stream.writeFloat(enemy.x); //x
stream.writeFloat(enemy.y); //y
- stream.writeByte(enemy.tier); //tier
stream.writeShort(enemy.health); //health
}
diff --git a/core/src/io/anuke/mindustry/net/NetEvents.java b/core/src/io/anuke/mindustry/net/NetEvents.java
index d618aa9d0b..f3cf3b2204 100644
--- a/core/src/io/anuke/mindustry/net/NetEvents.java
+++ b/core/src/io/anuke/mindustry/net/NetEvents.java
@@ -4,7 +4,7 @@ import io.anuke.mindustry.Vars;
import io.anuke.mindustry.entities.BulletType;
import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.TileEntity;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.net.Net.SendMode;
import io.anuke.mindustry.net.Packets.*;
import io.anuke.mindustry.resource.Weapon;
diff --git a/core/src/io/anuke/mindustry/net/Packets.java b/core/src/io/anuke/mindustry/net/Packets.java
index 4a7e209312..69919ebee2 100644
--- a/core/src/io/anuke/mindustry/net/Packets.java
+++ b/core/src/io/anuke/mindustry/net/Packets.java
@@ -1,8 +1,10 @@
package io.anuke.mindustry.net;
import com.badlogic.gdx.utils.Base64Coder;
+import com.badlogic.gdx.utils.TimeUtils;
import com.badlogic.gdx.utils.reflect.ClassReflection;
import com.badlogic.gdx.utils.reflect.ReflectionException;
+import io.anuke.mindustry.Vars;
import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.SyncEntity;
import io.anuke.mindustry.io.Version;
@@ -141,17 +143,21 @@ public class Packets {
}
public static class PositionPacket implements Packet{
- public byte[] data;
+ public Player player;
@Override
public void write(ByteBuffer buffer) {
- buffer.put(data);
+ buffer.putInt(player.id);
+ buffer.putLong(TimeUtils.millis());
+ player.write(buffer);
}
@Override
public void read(ByteBuffer buffer) {
- data = new byte[SyncEntity.getWriteSize(Player.class) + 8];
- buffer.get(data);
+ int id = buffer.getInt();
+ long time = buffer.getLong();
+ player = Vars.playerGroup.getByID(id);
+ player.read(buffer, time);
}
}
diff --git a/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java b/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java
index e8c9c49048..9d89dd2430 100644
--- a/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java
+++ b/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java
@@ -3,8 +3,6 @@ package io.anuke.mindustry.ui.fragments;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import io.anuke.mindustry.entities.Player;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
-import io.anuke.mindustry.entities.enemies.UnitTypes;
import io.anuke.mindustry.net.Net;
import io.anuke.ucore.core.Timers;
import io.anuke.ucore.scene.builders.button;
@@ -66,10 +64,6 @@ public class DebugFragment implements Fragment {
netClient.clearRecieved();
});
row();
- new button("spawn", () -> {
- new BaseUnit(UnitTypes.healer).set(player.x, player.y).add();
- });
- row();
}}.end();
row();
diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java
index 91959c591d..5023ecc2a3 100644
--- a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java
+++ b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java
@@ -96,22 +96,21 @@ public class PlayerListFragment implements Fragment{
button.margin(5).marginBottom(10);
Stack stack = new Stack();
- BorderImage image = new BorderImage(Draw.region(player.isAndroid ? "ship-standard" : "mech-standard-icon"), 3f);
+ BorderImage image = new BorderImage(Draw.region("mech-" + player.mech.name), 3f);
stack.add(image);
- if(!player.isAndroid) {
- stack.add(new Element(){
- public void draw(){
- float s = getWidth() / 12f;
- for(int i : Mathf.signs){
- Draw.rect((i < 0 ? player.weaponLeft.name : player.weaponRight.name)
- + "-equip", x + s * 6 + i * 3*s, y + s*6 + 2*s, -8*s*i, 8*s);
- }
+ stack.add(new Element(){
+ public void draw(){
+ float s = getWidth() / 12f;
+ for(int i : Mathf.signs){
+ Draw.rect((i < 0 ? player.weaponLeft.name : player.weaponRight.name)
+ + "-equip", x + s * 6 + i * 3*s, y + s*6 + 2*s, -8*s*i, 8*s);
}
- });
- }
+ }
+ });
+
button.add(stack).size(h);
button.labelWrap("[#" + player.getColor().toString().toUpperCase() + "]" + player.name).width(170f).pad(10);
button.add().grow();
diff --git a/core/src/io/anuke/mindustry/world/Placement.java b/core/src/io/anuke/mindustry/world/Placement.java
index 17961930d4..7bc7563190 100644
--- a/core/src/io/anuke/mindustry/world/Placement.java
+++ b/core/src/io/anuke/mindustry/world/Placement.java
@@ -119,7 +119,7 @@ public class Placement {
if(type.solid || type.solidifes) {
for (Player player : playerGroup.all()) {
- if (!player.isAndroid && rect.overlaps(player.hitbox.getRect(player.x, player.y))) {
+ if (!player.mech.flying && rect.overlaps(player.hitbox.getRect(player.x, player.y))) {
return false;
}
}
diff --git a/core/src/io/anuke/mindustry/world/WorldGenerator.java b/core/src/io/anuke/mindustry/world/WorldGenerator.java
index d46fd62c0f..4f24ceec10 100644
--- a/core/src/io/anuke/mindustry/world/WorldGenerator.java
+++ b/core/src/io/anuke/mindustry/world/WorldGenerator.java
@@ -4,9 +4,6 @@ import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.ObjectMap;
-import io.anuke.mindustry.Vars;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
-import io.anuke.mindustry.entities.enemies.UnitTypes;
import io.anuke.mindustry.game.SpawnPoint;
import io.anuke.mindustry.world.ColorMapper.BlockPair;
import io.anuke.mindustry.world.blocks.Blocks;
@@ -15,7 +12,6 @@ import io.anuke.ucore.graphics.Hue;
import io.anuke.ucore.noise.Noise;
import io.anuke.ucore.util.Mathf;
-import static io.anuke.mindustry.Vars.tilesize;
import static io.anuke.mindustry.Vars.world;
public class WorldGenerator {
@@ -77,7 +73,8 @@ public class WorldGenerator {
}
if(color == Hue.rgb(Color.PURPLE)){
- if(!Vars.android) new BaseUnit(UnitTypes.target).set(x * tilesize, y * tilesize).add();
+ //TODO place unit here
+ //if(!Vars.android) new BaseUnit(UnitTypes.target).set(x * tilesize, y * tilesize).add();
floor = Blocks.stone;
}
diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java
index 96aaabffd6..7ee8461210 100644
--- a/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java
+++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java
@@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.types.defense;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.math.MathUtils;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.graphics.Fx;
import io.anuke.mindustry.world.Layer;
import io.anuke.mindustry.world.Tile;
diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java
index a92073eda8..e76394f48f 100644
--- a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java
+++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java
@@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Color;
import io.anuke.mindustry.entities.Bullet;
import io.anuke.mindustry.entities.BulletType;
import io.anuke.mindustry.entities.TileEntity;
-import io.anuke.mindustry.entities.enemies.BaseUnit;
+import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.graphics.Fx;
import io.anuke.mindustry.resource.Item;
import io.anuke.mindustry.world.*;