diff --git a/core/src/io/anuke/mindustry/core/Logic.java b/core/src/io/anuke/mindustry/core/Logic.java index d4fe3a4dc6..739e1dd843 100644 --- a/core/src/io/anuke/mindustry/core/Logic.java +++ b/core/src/io/anuke/mindustry/core/Logic.java @@ -82,7 +82,8 @@ public class Logic implements ApplicationListener{ //painful O(n) iteration + copy for(int i = 0; i < data.brokenBlocks.size; i++){ BrokenBlock b = data.brokenBlocks.get(i); - if(b.x == event.tile.x && b.y == event.tile.y){ + Block block = content.block(b.block); + if(event.tile.block().bounds(event.tile.x, event.tile.y, Tmp.r1).overlaps(block.bounds(b.x, b.y, Tmp.r2))){ data.brokenBlocks.removeIndex(i); break; } diff --git a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java index 1f76ed527a..ad50d512bc 100644 --- a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java @@ -64,17 +64,15 @@ public class BuildBlock extends Block{ tile.entity.health = block.health * healthf; } Effects.effect(Fx.placeBlock, tile.drawx(), tile.drawy(), block.size); - Core.app.post(() -> tile.block().placed(tile)); + tile.block().placed(tile); //last builder was this local client player, call placed() if(!headless && builderID == player.id){ - //this is run delayed, since if this is called on the server, all clients need to recieve the onBuildFinish() - //event first before they can recieve the placed() event modification results if(!skipConfig){ - Core.app.post(() -> tile.block().playerPlaced(tile)); + tile.block().playerPlaced(tile); } } - Core.app.post(() -> Events.fire(new BlockBuildEndEvent(tile, playerGroup.getByID(builderID), team, false))); + Events.fire(new BlockBuildEndEvent(tile, playerGroup.getByID(builderID), team, false)); Sounds.place.at(tile, Mathf.random(0.7f, 1.4f)); } 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 bf6cb7d436..37a5f13f84 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java @@ -1,6 +1,5 @@ package io.anuke.mindustry.world.blocks.distribution; -import io.anuke.arc.*; import io.anuke.arc.function.*; import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.math.*; @@ -39,7 +38,7 @@ public class Sorter extends Block{ @Override public void playerPlaced(Tile tile){ if(lastItem != null){ - Core.app.post(() -> tile.configure(lastItem.id)); + tile.configure(lastItem.id); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java b/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java index ceb9191948..0b5c7d2079 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java @@ -1,6 +1,5 @@ package io.anuke.mindustry.world.blocks.storage; -import io.anuke.arc.*; import io.anuke.arc.function.*; import io.anuke.arc.graphics.*; import io.anuke.arc.graphics.g2d.*; @@ -49,7 +48,7 @@ public class Unloader extends Block{ @Override public void playerPlaced(Tile tile){ if(lastItem != null){ - Core.app.post(() -> tile.configure(lastItem.id)); + tile.configure(lastItem.id); } } diff --git a/gradle.properties b/gradle.properties index d71565dae8..4757407ab0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=079b22fcc73b96d406f600edb608af4c92cdc2b3 +archash=420acdb85cd7ad6d0a7a1a4f1aff09d965267374