Implicit non-nullability for fields

This commit is contained in:
Anuken
2020-10-01 13:33:43 -04:00
parent b15cdfef46
commit 199be4d13d
37 changed files with 71 additions and 87 deletions

View File

@@ -26,9 +26,9 @@ public class Tile implements Position, QuadTreeObject, Displayable{
/** Tile entity, usually null. */
public @Nullable Building build;
public short x, y;
protected @NonNull Block block;
protected @NonNull Floor floor;
protected @NonNull Floor overlay;
protected Block block;
protected Floor floor;
protected Floor overlay;
protected boolean changing = false;
public Tile(int x, int y){
@@ -130,15 +130,15 @@ public class Tile implements Position, QuadTreeObject, Displayable{
return block.solid && !block.synthetic() && block.fillsTile;
}
public @NonNull Floor floor(){
public Floor floor(){
return floor;
}
public @NonNull Block block(){
public Block block(){
return block;
}
public @NonNull Floor overlay(){
public Floor overlay(){
return overlay;
}
@@ -173,11 +173,11 @@ public class Tile implements Position, QuadTreeObject, Displayable{
return team().id;
}
public void setBlock(@NonNull Block type, Team team, int rotation){
public void setBlock(Block type, Team team, int rotation){
setBlock(type, team, rotation, type::newBuilding);
}
public void setBlock(@NonNull Block type, Team team, int rotation, Prov<Building> entityprov){
public void setBlock(Block type, Team team, int rotation, Prov<Building> entityprov){
changing = true;
if(type.isStatic() || this.block.isStatic()){
@@ -232,16 +232,16 @@ public class Tile implements Position, QuadTreeObject, Displayable{
changing = false;
}
public void setBlock(@NonNull Block type, Team team){
public void setBlock(Block type, Team team){
setBlock(type, team, 0);
}
public void setBlock(@NonNull Block type){
public void setBlock(Block type){
setBlock(type, Team.derelict, 0);
}
/** This resets the overlay! */
public void setFloor(@NonNull Floor type){
public void setFloor(Floor type){
this.floor = type;
this.overlay = (Floor)Blocks.air;
@@ -252,7 +252,7 @@ public class Tile implements Position, QuadTreeObject, Displayable{
}
/** Sets the floor, preserving overlay.*/
public void setFloorUnder(@NonNull Floor floor){
public void setFloorUnder(Floor floor){
Block overlay = this.overlay;
setFloor(floor);
setOverlay(overlay);
@@ -326,7 +326,7 @@ public class Tile implements Position, QuadTreeObject, Displayable{
setOverlay(content.block(ore));
}
public void setOverlay(@NonNull Block block){
public void setOverlay(Block block){
this.overlay = (Floor)block;
recache();

View File

@@ -50,20 +50,20 @@ public class Tiles implements Iterable<Tile>{
}
/** @return a tile at coordinates; throws an exception if out of bounds */
public @NonNull Tile getn(int x, int y){
public Tile getn(int x, int y){
if(x < 0 || x >= width || y < 0 || y >= height) throw new IllegalArgumentException(x + ", " + y + " out of bounds: width=" + width + ", height=" + height);
return array[y*width + x];
}
/** @return a tile at coordinates, clamped. */
public @NonNull Tile getc(int x, int y){
public Tile getc(int x, int y){
x = Mathf.clamp(x, 0, width - 1);
y = Mathf.clamp(y, 0, height - 1);
return array[y*width + x];
}
/** @return a tile at an iteration index [0, width * height] */
public @NonNull Tile geti(int idx){
public Tile geti(int idx){
return array[idx];
}

View File

@@ -1,11 +1,10 @@
package mindustry.world.blocks.defense.turrets;
import arc.util.ArcAnnotate.*;
import mindustry.entities.bullet.*;
import mindustry.world.meta.*;
public class PowerTurret extends Turret{
public @NonNull BulletType shootType;
public BulletType shootType;
public float powerUse = 1f;
public PowerTurret(String name){

View File

@@ -152,7 +152,7 @@ public abstract class Turret extends Block{
public boolean logicShooting = false;
public @Nullable Posc target;
public Vec2 targetPos = new Vec2();
public @NonNull BlockUnitc unit = Nulls.blockUnit;
public BlockUnitc unit = Nulls.blockUnit;
@Override
public float range(){

View File

@@ -37,7 +37,7 @@ public class Floor extends Block{
/** Effect displayed when drowning on this floor. */
public Effect drownUpdateEffect = Fx.bubble;
/** Status effect applied when walking on. */
public @NonNull StatusEffect status = StatusEffects.none;
public StatusEffect status = StatusEffects.none;
/** Intensity of applied status effect. */
public float statusDuration = 60f;
/** liquids that drop from this block, used for pumps */

View File

@@ -3,12 +3,11 @@ package mindustry.world.blocks.production;
import arc.*;
import arc.graphics.g2d.*;
import arc.math.*;
import arc.util.ArcAnnotate.*;
import arc.util.io.*;
import mindustry.annotations.Annotations.*;
import mindustry.gen.*;
import mindustry.type.*;
import mindustry.graphics.*;
import mindustry.type.*;
import mindustry.world.*;
import mindustry.world.consumers.*;
import mindustry.world.meta.*;
@@ -18,7 +17,7 @@ import mindustry.world.meta.values.*;
* Extracts a random list of items from an input item and an input liquid.
*/
public class Separator extends Block{
public @NonNull ItemStack[] results;
public ItemStack[] results;
public float craftTime;
public @Load("@-liquid") TextureRegion liquidRegion;

View File

@@ -154,7 +154,7 @@ public class CoreBlock extends StorageBlock{
public class CoreBuild extends Building implements ControlBlock{
public int storageCapacity;
//note that this unit is never actually used for control; the possession handler makes the player respawn when this unit is controlled
public @NonNull BlockUnitc unit = Nulls.blockUnit;
public BlockUnitc unit = Nulls.blockUnit;
@Override
public void created(){

View File

@@ -3,14 +3,13 @@ package mindustry.world.consumers;
import arc.func.*;
import arc.scene.ui.layout.*;
import arc.struct.*;
import arc.util.ArcAnnotate.*;
import mindustry.gen.*;
import mindustry.type.*;
import mindustry.ui.*;
import mindustry.world.meta.*;
public class ConsumeItemDynamic extends Consume{
public final @NonNull Func<Building, ItemStack[]> items;
public final Func<Building, ItemStack[]> items;
public <T extends Building> ConsumeItemDynamic(Func<T, ItemStack[]> items){
this.items = (Func<Building, ItemStack[]>)items;

View File

@@ -1,9 +1,8 @@
package mindustry.world.consumers;
import arc.struct.*;
import arc.func.*;
import arc.scene.ui.layout.*;
import arc.util.ArcAnnotate.*;
import arc.struct.*;
import mindustry.gen.*;
import mindustry.type.*;
import mindustry.ui.*;
@@ -13,8 +12,7 @@ import mindustry.world.meta.values.*;
import static mindustry.Vars.*;
public class ConsumeItemFilter extends Consume{
public final @NonNull
Boolf<Item> filter;
public final Boolf<Item> filter;
public ConsumeItemFilter(Boolf<Item> item){
this.filter = item;

View File

@@ -2,7 +2,6 @@ package mindustry.world.consumers;
import arc.scene.ui.layout.*;
import arc.struct.*;
import arc.util.ArcAnnotate.*;
import mindustry.gen.*;
import mindustry.type.*;
import mindustry.ui.*;
@@ -10,7 +9,7 @@ import mindustry.world.meta.*;
import mindustry.world.meta.values.*;
public class ConsumeItems extends Consume{
public final @NonNull ItemStack[] items;
public final ItemStack[] items;
public ConsumeItems(ItemStack[] items){
this.items = items;

View File

@@ -1,15 +1,14 @@
package mindustry.world.consumers;
import arc.struct.*;
import arc.scene.ui.layout.*;
import arc.util.ArcAnnotate.*;
import arc.struct.*;
import mindustry.gen.*;
import mindustry.type.*;
import mindustry.ui.*;
import mindustry.world.meta.*;
public class ConsumeLiquid extends ConsumeLiquidBase{
public final @NonNull Liquid liquid;
public final Liquid liquid;
public ConsumeLiquid(Liquid liquid, float amount){
super(amount);