mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-01-27 06:51:30 -08:00
Upgradeable cores
This commit is contained in:
parent
313cadb763
commit
80332e37d5
63 changed files with 365 additions and 290 deletions
|
|
@ -134,7 +134,7 @@ public class ApplicationTests{
|
|||
for(int x = bx - 1; x <= bx + 1; x++){
|
||||
for(int y = by - 1; y <= by + 1; y++){
|
||||
assertEquals(world.tile(x, y).block(), Blocks.coreShard);
|
||||
assertEquals(world.tile(x, y).entity, world.tile(bx, by).entity);
|
||||
assertEquals(world.tile(x, y).build, world.tile(bx, by).build);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -143,12 +143,12 @@ public class ApplicationTests{
|
|||
void blockInventories(){
|
||||
multiblock();
|
||||
Tile tile = world.tile(4, 4);
|
||||
tile.entity.items.add(Items.coal, 5);
|
||||
tile.entity.items.add(Items.titanium, 50);
|
||||
assertEquals(tile.entity.items.total(), 55);
|
||||
tile.entity.items.remove(Items.phasefabric, 10);
|
||||
tile.entity.items.remove(Items.titanium, 10);
|
||||
assertEquals(tile.entity.items.total(), 45);
|
||||
tile.build.items.add(Items.coal, 5);
|
||||
tile.build.items.add(Items.titanium, 50);
|
||||
assertEquals(tile.build.items.total(), 55);
|
||||
tile.build.items.remove(Items.phasefabric, 10);
|
||||
tile.build.items.remove(Items.titanium, 10);
|
||||
assertEquals(tile.build.items.total(), 45);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -216,16 +216,16 @@ public class ApplicationTests{
|
|||
|
||||
void updateBlocks(int times){
|
||||
for(Tile tile : world.tiles){
|
||||
if(tile.entity != null && tile.isCenter()){
|
||||
tile.entity.updateProximity();
|
||||
if(tile.build != null && tile.isCenter()){
|
||||
tile.build.updateProximity();
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < times; i++){
|
||||
Time.update();
|
||||
for(Tile tile : world.tiles){
|
||||
if(tile.entity != null && tile.isCenter()){
|
||||
tile.entity.update();
|
||||
if(tile.build != null && tile.isCenter()){
|
||||
tile.build.update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -237,14 +237,14 @@ public class ApplicationTests{
|
|||
state.set(State.playing);
|
||||
|
||||
world.tile(0, 0).setBlock(Blocks.liquidSource);
|
||||
world.tile(0, 0).entity.configureAny(Liquids.water);
|
||||
world.tile(0, 0).build.configureAny(Liquids.water);
|
||||
|
||||
world.tile(2, 1).setBlock(Blocks.liquidTank);
|
||||
|
||||
updateBlocks(10);
|
||||
|
||||
assertTrue(world.tile(2, 1).entity.liquids.currentAmount() >= 1);
|
||||
assertTrue(world.tile(2, 1).entity.liquids.current() == Liquids.water);
|
||||
assertTrue(world.tile(2, 1).build.liquids.currentAmount() >= 1);
|
||||
assertTrue(world.tile(2, 1).build.liquids.current() == Liquids.water);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -255,7 +255,7 @@ public class ApplicationTests{
|
|||
Tile source = world.rawTile(0, 0), tank = world.rawTile(1, 4), junction = world.rawTile(0, 1), conduit = world.rawTile(0, 2);
|
||||
|
||||
source.setBlock(Blocks.liquidSource);
|
||||
source.entity.configureAny(Liquids.water);
|
||||
source.build.configureAny(Liquids.water);
|
||||
|
||||
junction.setBlock(Blocks.liquidJunction);
|
||||
|
||||
|
|
@ -265,8 +265,8 @@ public class ApplicationTests{
|
|||
|
||||
updateBlocks(10);
|
||||
|
||||
assertTrue(tank.entity.liquids.currentAmount() >= 1, "Liquid not moved through junction");
|
||||
assertTrue(tank.entity.liquids.current() == Liquids.water, "Tank has no water");
|
||||
assertTrue(tank.build.liquids.currentAmount() >= 1, "Liquid not moved through junction");
|
||||
assertTrue(tank.build.liquids.current() == Liquids.water, "Tank has no water");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -290,7 +290,7 @@ public class ApplicationTests{
|
|||
|
||||
world.tile(0, 0).setBlock(Blocks.conveyor);
|
||||
world.tile(0, 0).rotation(0);
|
||||
world.tile(0, 0).entity.acceptStack(Items.copper, 1000, null);
|
||||
world.tile(0, 0).build.acceptStack(Items.copper, 1000, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -367,14 +367,14 @@ public class ApplicationTests{
|
|||
state.set(State.playing);
|
||||
int length = 128;
|
||||
world.tile(0, 0).setBlock(Blocks.itemSource);
|
||||
world.tile(0, 0).entity.configureAny(Items.copper);
|
||||
world.tile(0, 0).build.configureAny(Items.copper);
|
||||
|
||||
Seq<Building> entities = Seq.with(world.tile(0, 0).entity);
|
||||
Seq<Building> entities = Seq.with(world.tile(0, 0).build);
|
||||
|
||||
for(int i = 0; i < length; i++){
|
||||
world.tile(i + 1, 0).setBlock(Blocks.conveyor);
|
||||
world.tile(i + 1, 0).rotation(0);
|
||||
entities.add(world.tile(i + 1, 0).entity);
|
||||
entities.add(world.tile(i + 1, 0).build);
|
||||
}
|
||||
|
||||
world.tile(length + 1, 0).setBlock(new Block("___"){{
|
||||
|
|
@ -501,7 +501,7 @@ public class ApplicationTests{
|
|||
assertEquals(Blocks.copperWallLarge, world.tile(0, 0).block());
|
||||
assertEquals(Blocks.air, world.tile(2, 2).block());
|
||||
assertEquals(Blocks.copperWallLarge, world.tile(1, 1).block());
|
||||
assertEquals(world.tile(1, 1).entity, world.tile(0, 0).entity);
|
||||
assertEquals(world.tile(1, 1).build, world.tile(0, 0).build);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -565,14 +565,14 @@ public class ApplicationTests{
|
|||
for(int x = 0; x < tiles.width; x++){
|
||||
for(int y = 0; y < tiles.height; y++){
|
||||
Tile tile = world.rawTile(x, y);
|
||||
if(tile.entity != null){
|
||||
if(tile.build != null){
|
||||
try{
|
||||
tile.entity.update();
|
||||
tile.build.update();
|
||||
}catch(Throwable t){
|
||||
fail("Failed to update block '" + tile.block() + "'.", t);
|
||||
}
|
||||
assertEquals(tile.block(), tile.entity.block());
|
||||
assertEquals(tile.block().health, tile.entity.health());
|
||||
assertEquals(tile.block(), tile.build.block());
|
||||
assertEquals(tile.block().health, tile.build.health());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -584,10 +584,10 @@ public class ApplicationTests{
|
|||
Tile core = world.tile(5, 5);
|
||||
core.setBlock(Blocks.coreShard, Team.sharded, 0);
|
||||
for(Item item : content.items()){
|
||||
core.entity.items.set(item, 3000);
|
||||
core.build.items.set(item, 3000);
|
||||
}
|
||||
|
||||
assertEquals(core.entity, state.teams.get(Team.sharded).core());
|
||||
assertEquals(core.build, state.teams.get(Team.sharded).core());
|
||||
}
|
||||
|
||||
void depositTest(Block block, Item item){
|
||||
|
|
@ -595,18 +595,18 @@ public class ApplicationTests{
|
|||
Tile tile = new Tile(0, 0, Blocks.air, Blocks.air, block);
|
||||
int capacity = tile.block().itemCapacity;
|
||||
|
||||
assertNotNull(tile.entity, "Tile should have an entity, but does not: " + tile);
|
||||
assertNotNull(tile.build, "Tile should have an entity, but does not: " + tile);
|
||||
|
||||
int deposited = tile.entity.acceptStack(item, capacity - 1, unit);
|
||||
int deposited = tile.build.acceptStack(item, capacity - 1, unit);
|
||||
assertEquals(capacity - 1, deposited);
|
||||
|
||||
tile.entity.handleStack(item, capacity - 1, unit);
|
||||
assertEquals(tile.entity.items.get(item), capacity - 1);
|
||||
tile.build.handleStack(item, capacity - 1, unit);
|
||||
assertEquals(tile.build.items.get(item), capacity - 1);
|
||||
|
||||
int overflow = tile.entity.acceptStack(item, 10, unit);
|
||||
int overflow = tile.build.acceptStack(item, 10, unit);
|
||||
assertEquals(1, overflow);
|
||||
|
||||
tile.entity.handleStack(item, 1, unit);
|
||||
assertEquals(capacity, tile.entity.items.get(item));
|
||||
tile.build.handleStack(item, 1, unit);
|
||||
assertEquals(capacity, tile.build.items.get(item));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue