diff --git a/annotations/build.gradle b/annotations/build.gradle index d6f05e0038..4ee43cfcb3 100644 --- a/annotations/build.gradle +++ b/annotations/build.gradle @@ -1,3 +1,2 @@ -sourceCompatibility = 1.8 sourceSets.main.java.srcDirs = ["src/main/java/"] sourceSets.main.resources.srcDirs = ["src/main/resources/"] \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BlockUnitUnitEntity/1.json b/annotations/src/main/resources/revisions/BlockUnitUnitEntity/1.json new file mode 100644 index 0000000000..054f8ae7c5 --- /dev/null +++ b/annotations/src/main/resources/revisions/BlockUnitUnitEntity/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnitEntity/2.json b/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnitEntity/2.json new file mode 100644 index 0000000000..fa486b2486 --- /dev/null +++ b/annotations/src/main/resources/revisions/BuilderCommanderMechMinerUnitEntity/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMechUnitEntity/2.json b/annotations/src/main/resources/revisions/BuilderMechUnitEntity/2.json new file mode 100644 index 0000000000..b0e880bc6c --- /dev/null +++ b/annotations/src/main/resources/revisions/BuilderMechUnitEntity/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMinerPayloadUnitEntity/2.json b/annotations/src/main/resources/revisions/BuilderMinerPayloadUnitEntity/2.json new file mode 100644 index 0000000000..de78f53532 --- /dev/null +++ b/annotations/src/main/resources/revisions/BuilderMinerPayloadUnitEntity/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:payloads,type:arc.struct.Seq,size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderMinerUnitEntity/2.json b/annotations/src/main/resources/revisions/BuilderMinerUnitEntity/2.json new file mode 100644 index 0000000000..d333a5f20f --- /dev/null +++ b/annotations/src/main/resources/revisions/BuilderMinerUnitEntity/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuilderUnitEntity/2.json b/annotations/src/main/resources/revisions/BuilderUnitEntity/2.json new file mode 100644 index 0000000000..7d1820ed91 --- /dev/null +++ b/annotations/src/main/resources/revisions/BuilderUnitEntity/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:plans,type:arc.struct.Queue,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/CommanderUnitWaterMoveEntity/1.json b/annotations/src/main/resources/revisions/CommanderUnitWaterMoveEntity/1.json new file mode 100644 index 0000000000..054f8ae7c5 --- /dev/null +++ b/annotations/src/main/resources/revisions/CommanderUnitWaterMoveEntity/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/LegsUnitEntity/1.json b/annotations/src/main/resources/revisions/LegsUnitEntity/1.json new file mode 100644 index 0000000000..054f8ae7c5 --- /dev/null +++ b/annotations/src/main/resources/revisions/LegsUnitEntity/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/MechUnitEntity/1.json b/annotations/src/main/resources/revisions/MechUnitEntity/1.json new file mode 100644 index 0000000000..d622b81d98 --- /dev/null +++ b/annotations/src/main/resources/revisions/MechUnitEntity/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:baseRotation,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/MinerUnitEntity/1.json b/annotations/src/main/resources/revisions/MinerUnitEntity/1.json new file mode 100644 index 0000000000..1770a9c04a --- /dev/null +++ b/annotations/src/main/resources/revisions/MinerUnitEntity/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:mineTile,type:mindustry.world.Tile,size:-1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/UnitEntity/1.json b/annotations/src/main/resources/revisions/UnitEntity/1.json new file mode 100644 index 0000000000..054f8ae7c5 --- /dev/null +++ b/annotations/src/main/resources/revisions/UnitEntity/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:ammo,type:int,size:4},{name:armor,type:float,size:4},{name:controller,type:mindustry.entities.units.UnitController,size:-1},{name:elevation,type:float,size:4},{name:health,type:float,size:4},{name:isShooting,type:boolean,size:1},{name:rotation,type:float,size:4},{name:shield,type:float,size:4},{name:spawnedByCore,type:boolean,size:1},{name:stack,type:mindustry.type.ItemStack,size:-1},{name:statuses,type:arc.struct.Seq,size:-1},{name:team,type:mindustry.game.Team,size:-1},{name:type,type:mindustry.type.UnitType,size:-1},{name:x,type:float,size:4},{name:y,type:float,size:4}]} \ No newline at end of file diff --git a/build.gradle b/build.gradle index 84b4cad14f..361366e59a 100644 --- a/build.gradle +++ b/build.gradle @@ -171,7 +171,11 @@ allprojects{ jcenter() } - //tasks.withType(Javadoc).all{ enabled = false } + tasks.withType(JavaCompile){ + sourceCompatibility = 1.8 + targetCompatibility = 1.8 + options.encoding = "UTF-8" + } } project(":desktop"){ diff --git a/core/build.gradle b/core/build.gradle index f8d539ee3b..caba473d6c 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -1,3 +1 @@ -sourceCompatibility = 1.8 -[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' sourceSets.main.java.srcDirs = ["src/", "$buildDir/generated/sources/annotationProcessor/java/main"] diff --git a/core/src/mindustry/ui/Displayable.java b/core/src/mindustry/ui/Displayable.java new file mode 100644 index 0000000000..770e490cab --- /dev/null +++ b/core/src/mindustry/ui/Displayable.java @@ -0,0 +1,8 @@ +package mindustry.ui; + +import arc.scene.ui.layout.*; + +/** An interface for things that can be displayed when hovered over. */ +public interface Displayable{ + void display(Table table); +} diff --git a/core/src/mindustry/ui/fragments/PlacementFragment.java b/core/src/mindustry/ui/fragments/PlacementFragment.java index 7b057a6167..9703c32d58 100644 --- a/core/src/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/mindustry/ui/fragments/PlacementFragment.java @@ -479,6 +479,10 @@ public class PlacementFragment extends Fragment{ /** Returns the block currently being hovered over in the world. */ Block tileDisplayBlock(){ - return hoverTile == null ? null : hoverTile.block().synthetic() ? hoverTile.block() : hoverTile.drop() != null && hoverTile.block() == Blocks.air ? hoverTile.overlay().itemDrop != null ? hoverTile.overlay() : hoverTile.floor() : null; + return hoverTile == null ? null : + hoverTile.block().synthetic() ? hoverTile.block() : + hoverTile.drop() != null && hoverTile.block() == Blocks.air ? + hoverTile.overlay().itemDrop != null ? hoverTile.overlay() : + hoverTile.floor() : null; } } diff --git a/desktop/build.gradle b/desktop/build.gradle index 59b4a86ec1..3955380145 100644 --- a/desktop/build.gradle +++ b/desktop/build.gradle @@ -4,7 +4,6 @@ import com.badlogicgames.packr.PackrConfig import java.nio.ByteBuffer import java.security.MessageDigest -sourceCompatibility = 1.8 sourceSets.main.java.srcDirs = [ "src/" ] project.ext.mainClassName = "mindustry.desktop.DesktopLauncher" diff --git a/gradle.properties b/gradle.properties index 669ca931d4..7bc0ba9049 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=8560f9a35cde90ef4e0fd600419e5761ae51494a +archash=7e8a3792e5182a6ef77dd07622fcaed634b72b61 diff --git a/ios/build.gradle b/ios/build.gradle index da9faeeb12..6faa19c97a 100644 --- a/ios/build.gradle +++ b/ios/build.gradle @@ -1,8 +1,5 @@ sourceSets.main.java.srcDirs = ["src/"] -sourceCompatibility = '1.8' -[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' - ext{ mainClassName = "mindustry.ios.IOSLauncher" } diff --git a/server/build.gradle b/server/build.gradle index 9260ca6d3b..a62fb66121 100644 --- a/server/build.gradle +++ b/server/build.gradle @@ -1,4 +1,3 @@ -sourceCompatibility = 1.8 sourceSets.main.java.srcDirs = ["src/"] project.ext.mainClassName = "mindustry.server.ServerLauncher" diff --git a/tools/build.gradle b/tools/build.gradle index 04e1bfdda3..3b246be80d 100644 --- a/tools/build.gradle +++ b/tools/build.gradle @@ -1,4 +1,3 @@ -sourceCompatibility = 1.8 sourceSets.main.java.srcDirs = ["src/"] import arc.struct.*