mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-07-10 15:57:37 +07:00
Changed tutorial ore gen
This commit is contained in:
@ -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.<br>
|
||||
* These events may optionally also trigger on the caller client/server as well.<br>
|
||||
*/
|
||||
public class Annotations{
|
||||
|
||||
/** Marks a class as serializable.*/
|
||||
|
@ -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<Mission> 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<Item> 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);
|
||||
|
@ -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){
|
||||
|
Reference in New Issue
Block a user