More bugfixes

This commit is contained in:
Anuken
2018-07-03 12:48:20 -04:00
parent e210d9c08e
commit 68d2c30c38
7 changed files with 19 additions and 10 deletions

View File

@ -44,6 +44,12 @@ public class MapEditor{
this.brushSize = 1;
this.tags = tags;
for (int x = 0; x < map.width(); x++) {
for (int y = 0; y < map.height(); y++) {
map.write(x, y, DataPosition.floor, (byte)Blocks.stone.id);
}
}
drawBlock = Blocks.stone;
renderer.resize(map.width(), map.height());
}

View File

@ -15,6 +15,7 @@ import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.io.MapIO;
import io.anuke.mindustry.io.MapMeta;
import io.anuke.mindustry.io.MapTileData;
import io.anuke.mindustry.type.Recipe;
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
import io.anuke.mindustry.world.Block;
import io.anuke.ucore.core.Core;
@ -586,6 +587,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
for(Block block : Block.all()){
TextureRegion[] regions = block.getCompactIcon();
if((block.synthetic() && (Recipe.getByResult(block) == null || !control.database().isUnlocked(Recipe.getByResult(block)))) && !debug) continue;
if(regions.length == 0 || regions[0] == Draw.region("jjfgj")) continue;

View File

@ -322,7 +322,7 @@ public class MobileInput extends InputHandler implements GestureListener{
for(PlaceRequest request : selection){
Tile tile = request.tile();
if(tile == null || recipe == null) continue;
if(tile == null) continue;
if ((!request.remove && validPlace(tile.x, tile.y, request.recipe.result, request.rotation))
|| (request.remove && validBreak(tile.x, tile.y))) {
@ -337,8 +337,8 @@ public class MobileInput extends InputHandler implements GestureListener{
drawRequest(request);
//draw last placed request
if(!request.remove && request == lastPlaced){
recipe.result.drawPlace(tile.x, tile.y, rotation, validPlace(tile.x, tile.y, recipe.result, rotation));
if(!request.remove && request == lastPlaced && request.recipe != null){
request.recipe.result.drawPlace(tile.x, tile.y, rotation, validPlace(tile.x, tile.y, request.recipe.result, rotation));
}
}

View File

@ -12,9 +12,10 @@ import io.anuke.ucore.scene.ui.layout.Table;
import io.anuke.ucore.util.Bundles;
import io.anuke.ucore.util.Log;
import io.anuke.ucore.util.Strings;
import io.anuke.ucore.util.ThreadArray;
public class Item implements Comparable<Item>, UnlockableContent{
private static final Array<Item> items = new Array<>();
private static final ThreadArray<Item> items = new ThreadArray<>();
public final int id;
public final String name;

View File

@ -207,7 +207,8 @@ public abstract class BaseBlock {
Tile other;
Tile in;
for(Item item : Item.all()){
for(int ii = 0; ii < Item.all().size; ii ++){
Item item = Item.getByID(ii);
other = tile.getNearby(nearby[i]);
in = tile.getNearby(Edges.getInsideEdges(size)[i]);

View File

@ -343,9 +343,9 @@ public class Block extends BaseBlock implements Content{
return 0;
}else{
float result = 0f;
for(Item item : Item.all()){
int amount = tile.entity.items.getItem(item);
result += item.flammability*amount;
for (int i = 0; i < Item.all().size; i++) {
int amount = tile.entity.items.items[i];
result += Item.getByID(i).flammability*amount;
}
if(hasLiquids){
result += tile.entity.liquids.amount * tile.entity.liquids.liquid.flammability/3f;

View File

@ -17,7 +17,6 @@ import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.util.Geometry;
import io.anuke.ucore.util.Mathf;
import static io.anuke.mindustry.Vars.headless;
import static io.anuke.mindustry.Vars.world;
public class Floor extends Block{
@ -141,7 +140,7 @@ public class Floor extends Block{
Draw.rect(variantRegions[Mathf.randomSeed(tile.id(), 0, Math.max(0, variantRegions.length-1))], tile.worldx(), tile.worldy());
if(tile.cliffs != 0){
if(tile.cliffs != 0 && cliffRegions != null){
for(int i = 0; i < 4; i ++){
if((tile.cliffs & (1 << i*2)) != 0) {
Draw.colorl(i > 1 ? 0.6f : 1f);