From 32c59b66f6c959c693b3d1528c49f58e7114d156 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 24 Sep 2018 10:19:27 -0400 Subject: [PATCH] Changed tutorial ore gen --- .../src/io/anuke/annotations/Annotations.java | 4 - .../anuke/mindustry/maps/TutorialSector.java | 96 ++++++++++++------- .../maps/missions/ActionMission.java | 2 +- 3 files changed, 60 insertions(+), 42 deletions(-) diff --git a/annotations/src/io/anuke/annotations/Annotations.java b/annotations/src/io/anuke/annotations/Annotations.java index 4f8381d177..feb4dc0ec9 100644 --- a/annotations/src/io/anuke/annotations/Annotations.java +++ b/annotations/src/io/anuke/annotations/Annotations.java @@ -5,10 +5,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -/** - * Goal: To create a system to send events to the server from the client and vice versa, without creating a new packet type each time.
- * These events may optionally also trigger on the caller client/server as well.
- */ public class Annotations{ /** Marks a class as serializable.*/ diff --git a/core/src/io/anuke/mindustry/maps/TutorialSector.java b/core/src/io/anuke/mindustry/maps/TutorialSector.java index ec9f59e778..6206865b6c 100644 --- a/core/src/io/anuke/mindustry/maps/TutorialSector.java +++ b/core/src/io/anuke/mindustry/maps/TutorialSector.java @@ -4,8 +4,14 @@ import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.UnitTypes; import io.anuke.mindustry.content.blocks.*; +import io.anuke.mindustry.game.EventType.WorldLoadEvent; import io.anuke.mindustry.maps.generation.Generation; +import io.anuke.mindustry.maps.generation.WorldGenerator.GenResult; import io.anuke.mindustry.maps.missions.*; +import io.anuke.mindustry.type.Item; +import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.Floor; +import io.anuke.ucore.core.Events; import static io.anuke.mindustry.Vars.*; @@ -13,52 +19,68 @@ import static io.anuke.mindustry.Vars.*; public class TutorialSector{ public static Array getMissions(){ - int x = sectorSize/2, y = sectorSize/2; + //int x = sectorSize/2, y = sectorSize/2; return Array.with( - new ItemMission(Items.copper, 30).setMessage("$tutorial.begin"), + new ItemMission(Items.copper, 30).setMessage("$tutorial.begin"), - new BlockLocMission(ProductionBlocks.mechanicalDrill, 55, 62).setMessage("$tutorial.drill"), + new BlockLocMission(ProductionBlocks.mechanicalDrill, 55, 62).setMessage("$tutorial.drill"), - new BlockLocMission(DistributionBlocks.conveyor, 57, 62, 0).setShowComplete(false).setMessage("$tutorial.conveyor"), - new BlockLocMission(DistributionBlocks.conveyor, 58, 62, 0).setShowComplete(false), - new BlockLocMission(DistributionBlocks.conveyor, 59, 62, 0).setShowComplete(false), - new BlockLocMission(DistributionBlocks.conveyor, 60, 62, 3).setShowComplete(false), + new BlockLocMission(DistributionBlocks.conveyor, 57, 62, 0).setShowComplete(false).setMessage("$tutorial.conveyor"), + new BlockLocMission(DistributionBlocks.conveyor, 58, 62, 0).setShowComplete(false), + new BlockLocMission(DistributionBlocks.conveyor, 59, 62, 0).setShowComplete(false), + new BlockLocMission(DistributionBlocks.conveyor, 60, 62, 3).setShowComplete(false), - new ItemMission(Items.copper, 50).setMessage("$tutorial.morecopper"), + new ItemMission(Items.copper, 50).setMessage("$tutorial.morecopper"), - new BlockLocMission(TurretBlocks.duo, 56, 59).setMessage("$tutorial.turret"), - new BlockLocMission(ProductionBlocks.mechanicalDrill, 55, 60).setMessage("$tutorial.drillturret"), + new BlockLocMission(TurretBlocks.duo, 56, 59).setMessage("$tutorial.turret"), + new BlockLocMission(ProductionBlocks.mechanicalDrill, 55, 60).setMessage("$tutorial.drillturret"), - new WaveMission(5).setMessage("$tutorial.waves"), - new ExpandMission(1, 0), - new ItemMission(Items.lead, 30).setMessage("$tutorial.lead"), - new ItemMission(Items.copper, 150).setMessage("$tutorial.morecopper"), + new WaveMission(5).setMessage("$tutorial.waves"), - new BlockMission(CraftingBlocks.smelter).setMessage("$tutorial.smelter"), - new ItemMission(Items.densealloy, 30).setMessage("$tutorial.densealloy"), - new BlockMission(CraftingBlocks.siliconsmelter).setMessage("$tutorial.siliconsmelter"), - new BlockMission(PowerBlocks.combustionGenerator).setMessage("$tutorial.generator"), - new BlockMission(PowerBlocks.powerNode).setMessage("$tutorial.node"), - - new ItemMission(Items.silicon, 30).setMessage("$tutorial.silicon"), - - new BlockMission(UnitBlocks.daggerFactory).setMessage("$tutorial.daggerfactory"), - new UnitMission(UnitTypes.dagger).setMessage("$tutorial.dagger"), - new ExpandMission(-1, 0), - new BattleMission(){ - public void generate(Generation gen){} - - @Override - public boolean isComplete(){ - return false; + new ActionMission(() -> { + Array ores = Array.with(Items.copper, Items.coal, Items.lead); + GenResult res = new GenResult(); + for(int x = 0; x < world.width(); x++){ + for(int y = 0; y < world.height(); y++){ + Tile tile = world.tile(x, y); + world.generator().generateTile(res, 0, 0, x, y, true, null, ores); + if(!tile.hasCliffs()){ + tile.setFloor((Floor) res.floor); + } } + } + Events.fire(new WorldLoadEvent()); + }), - public void onBegin(){ - super.onBegin(); - generateBase(); - } - }.setMessage("$tutorial.battle") + new ItemMission(Items.lead, 30).setMessage("$tutorial.lead"), + new ItemMission(Items.copper, 150).setMessage("$tutorial.morecopper"), + + new BlockMission(CraftingBlocks.smelter).setMessage("$tutorial.smelter"), + new ItemMission(Items.densealloy, 30).setMessage("$tutorial.densealloy"), + new BlockMission(CraftingBlocks.siliconsmelter).setMessage("$tutorial.siliconsmelter"), + new BlockMission(PowerBlocks.combustionGenerator).setMessage("$tutorial.generator"), + new BlockMission(PowerBlocks.powerNode).setMessage("$tutorial.node"), + + new ItemMission(Items.silicon, 30).setMessage("$tutorial.silicon"), + + new BlockMission(UnitBlocks.daggerFactory).setMessage("$tutorial.daggerfactory"), + new UnitMission(UnitTypes.dagger).setMessage("$tutorial.dagger"), + new ExpandMission(1, 0), + new BattleMission(){ + public void generate(Generation gen){ + } + + @Override + public boolean isComplete(){ + return false; + } + + public void onBegin(){ + super.onBegin(); + generateBase(); + } + }.setMessage("$tutorial.battle") ); } @@ -67,7 +89,7 @@ public class TutorialSector{ } private static void generateBase(){ - int x = sectorSize/2, y = sectorSize/2; + int x = sectorSize/2, y = sectorSize + sectorSize/2; world.setBlock(world.tile(x, y), StorageBlocks.core, waveTeam); // world.setBlock(world.tile(x + 1, y + 2), TurretBlocks.duo, waveTeam); //world.setBlock(world.tile(x + 1, y - 2), TurretBlocks.duo, waveTeam); diff --git a/core/src/io/anuke/mindustry/maps/missions/ActionMission.java b/core/src/io/anuke/mindustry/maps/missions/ActionMission.java index 99a0cc5a8f..5f45a4e3d5 100644 --- a/core/src/io/anuke/mindustry/maps/missions/ActionMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/ActionMission.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.game.GameMode; import static io.anuke.mindustry.Vars.threads; /**A mission which simply runs a single action and is completed instantly.*/ -public abstract class ActionMission extends Mission{ +public class ActionMission extends Mission{ protected Runnable runner; public ActionMission(Runnable runner){