From 959376574280ed2ed3f2f29e36fb630e9c118acf Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 19 Jan 2022 23:23:05 -0500 Subject: [PATCH] Removed WallOre class --- core/src/mindustry/content/Blocks.java | 9 +++++-- core/src/mindustry/editor/MapRenderer.java | 8 +++---- core/src/mindustry/graphics/MenuRenderer.java | 2 +- core/src/mindustry/mod/ClassMap.java | 1 - core/src/mindustry/world/Tile.java | 2 +- .../world/blocks/environment/Floor.java | 2 ++ .../world/blocks/environment/OreBlock.java | 2 +- .../world/blocks/environment/StaticWall.java | 4 ++-- .../blocks/environment/WallOreBlock.java | 24 ------------------- 9 files changed, 18 insertions(+), 36 deletions(-) delete mode 100644 core/src/mindustry/world/blocks/environment/WallOreBlock.java diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 72f273fa50..3b06323fb1 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -748,14 +748,19 @@ public class Blocks{ oreCrystalThorium = new OreBlock("ore-crystal-thorium", Items.thorium); - wallOreBeryl = new WallOreBlock(Items.beryllium); + wallOreBeryl = new OreBlock("ore-wall-beryllium", Items.beryllium){{ + wallOre = true; + }}; graphiticWall = new StaticWall("graphitic-wall"){{ itemDrop = Items.graphite; variants = 3; }}; - wallOreTungsten = new WallOreBlock(Items.tungsten); + //TODO merge with standard ore? + wallOreTungsten = new OreBlock("ore-wall-tungsten", Items.tungsten){{ + wallOre = true; + }}; //endregion //region crafting diff --git a/core/src/mindustry/editor/MapRenderer.java b/core/src/mindustry/editor/MapRenderer.java index bc982112d1..17bf9f4213 100644 --- a/core/src/mindustry/editor/MapRenderer.java +++ b/core/src/mindustry/editor/MapRenderer.java @@ -104,8 +104,8 @@ public class MapRenderer implements Disposable{ Tile tile = editor.tiles().getn(wx, wy); Team team = tile.team(); - Block floor = tile.floor(); - Block overlay = tile.overlay(); + Floor floor = tile.floor(); + Floor overlay = tile.overlay(); Block wall = tile.block(); TextureRegion region; @@ -113,7 +113,7 @@ public class MapRenderer implements Disposable{ int idxWall = (wx % chunkSize) + (wy % chunkSize) * chunkSize; int idxDecal = (wx % chunkSize) + (wy % chunkSize) * chunkSize + chunkSize * chunkSize; boolean center = tile.isCenter(); - boolean useSyntheticWall = wall.synthetic() || overlay instanceof WallOreBlock; + boolean useSyntheticWall = wall.synthetic() || overlay.wallOre; //draw synthetic wall or floor if(wall != Blocks.air && useSyntheticWall){ @@ -148,7 +148,7 @@ public class MapRenderer implements Disposable{ offsetX = tilesize / 2f - region.width / 2f * Draw.scl; offsetY = tilesize / 2f - region.height / 2f * Draw.scl; - }else if((wall == Blocks.air || overlay instanceof WallOreBlock) && !overlay.isAir()){ + }else if((wall == Blocks.air || overlay.wallOre) && !overlay.isAir()){ region = overlay.editorVariantRegions()[Mathf.randomSeed(idxWall, 0, tile.overlay().editorVariantRegions().length - 1)]; }else{ region = clearEditor; diff --git a/core/src/mindustry/graphics/MenuRenderer.java b/core/src/mindustry/graphics/MenuRenderer.java index 57f435e945..0904ef48bf 100644 --- a/core/src/mindustry/graphics/MenuRenderer.java +++ b/core/src/mindustry/graphics/MenuRenderer.java @@ -41,7 +41,7 @@ public class MenuRenderer implements Disposable{ private void generate(){ world.beginMapLoad(); Tiles tiles = world.resize(width, height); - Seq ores = content.blocks().select(b -> b instanceof OreBlock && !(b instanceof WallOreBlock)); + Seq ores = content.blocks().select(b -> b instanceof OreBlock ore && !ore.wallOre); shadows = new FrameBuffer(width, height); int offset = Mathf.random(100000); int s1 = offset, s2 = offset + 1, s3 = offset + 2; diff --git a/core/src/mindustry/mod/ClassMap.java b/core/src/mindustry/mod/ClassMap.java index 0a936b4095..72e3834f14 100644 --- a/core/src/mindustry/mod/ClassMap.java +++ b/core/src/mindustry/mod/ClassMap.java @@ -177,7 +177,6 @@ public class ClassMap{ classes.put("StaticTree", mindustry.world.blocks.environment.StaticTree.class); classes.put("StaticWall", mindustry.world.blocks.environment.StaticWall.class); classes.put("TreeBlock", mindustry.world.blocks.environment.TreeBlock.class); - classes.put("WallOreBlock", mindustry.world.blocks.environment.WallOreBlock.class); classes.put("WobbleProp", mindustry.world.blocks.environment.WobbleProp.class); classes.put("BlockForge", mindustry.world.blocks.experimental.BlockForge.class); classes.put("BlockForgeBuild", mindustry.world.blocks.experimental.BlockForge.BlockForgeBuild.class); diff --git a/core/src/mindustry/world/Tile.java b/core/src/mindustry/world/Tile.java index 44f883c6ac..5c21f77670 100644 --- a/core/src/mindustry/world/Tile.java +++ b/core/src/mindustry/world/Tile.java @@ -529,7 +529,7 @@ public class Tile implements Position, QuadTreeObject, Displayable{ public @Nullable Item wallDrop(){ return block.solid ? block.itemDrop != null ? block.itemDrop : - overlay instanceof WallOreBlock ? overlay.itemDrop : + overlay.wallOre ? overlay.itemDrop : null : null; } diff --git a/core/src/mindustry/world/blocks/environment/Floor.java b/core/src/mindustry/world/blocks/environment/Floor.java index 2127c65e3e..87f6e45812 100644 --- a/core/src/mindustry/world/blocks/environment/Floor.java +++ b/core/src/mindustry/world/blocks/environment/Floor.java @@ -65,6 +65,8 @@ public class Floor extends Block{ public boolean canShadow = true; /** Whether this overlay needs a surface to be on. False for floating blocks, like spawns. */ public boolean needsSurface = true; + /** If true, this ore is allowed on walls. */ + public boolean wallOre = false; protected TextureRegion[][] edges; protected Seq blenders = new Seq<>(); diff --git a/core/src/mindustry/world/blocks/environment/OreBlock.java b/core/src/mindustry/world/blocks/environment/OreBlock.java index 78bca2abe4..15bf3448d5 100644 --- a/core/src/mindustry/world/blocks/environment/OreBlock.java +++ b/core/src/mindustry/world/blocks/environment/OreBlock.java @@ -35,7 +35,7 @@ public class OreBlock extends OverlayFloor{ } public void setup(Item ore){ - this.localizedName = ore.localizedName; + this.localizedName = ore.localizedName + (wallOre ? " " + Core.bundle.get("wallore") : ""); this.itemDrop = ore; this.mapColor.set(ore.color); } diff --git a/core/src/mindustry/world/blocks/environment/StaticWall.java b/core/src/mindustry/world/blocks/environment/StaticWall.java index ff648f6dae..464df26ec6 100644 --- a/core/src/mindustry/world/blocks/environment/StaticWall.java +++ b/core/src/mindustry/world/blocks/environment/StaticWall.java @@ -36,8 +36,8 @@ public class StaticWall extends Prop{ } //draw ore on top - if(tile.overlay() instanceof WallOreBlock ore){ - ore.drawBase(tile); + if(tile.overlay().wallOre){ + tile.overlay().drawBase(tile); } } diff --git a/core/src/mindustry/world/blocks/environment/WallOreBlock.java b/core/src/mindustry/world/blocks/environment/WallOreBlock.java deleted file mode 100644 index d839fc1b95..0000000000 --- a/core/src/mindustry/world/blocks/environment/WallOreBlock.java +++ /dev/null @@ -1,24 +0,0 @@ -package mindustry.world.blocks.environment; - -import arc.*; -import mindustry.type.*; - -/**An overlay ore that draws on top of walls. */ -public class WallOreBlock extends OreBlock{ - - public WallOreBlock(Item ore){ - super("ore-wall-" + ore.name, ore); - } - - //mods only - public WallOreBlock(String name){ - super(name); - } - - @Override - public void init(){ - super.init(); - - this.localizedName = this.localizedName + " " + Core.bundle.get("wallore"); - } -}