diff --git a/core/src/io/anuke/mindustry/content/AmmoTypes.java b/core/src/io/anuke/mindustry/content/AmmoTypes.java index 234d662c88..0fdba7101b 100644 --- a/core/src/io/anuke/mindustry/content/AmmoTypes.java +++ b/core/src/io/anuke/mindustry/content/AmmoTypes.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.content.fx.ShootFx; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.type.AmmoType; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; public class AmmoTypes implements ContentList{ public static AmmoType bulletCopper, bulletDense, bulletThorium, bulletSilicon, bulletPyratite, diff --git a/core/src/io/anuke/mindustry/content/Items.java b/core/src/io/anuke/mindustry/content/Items.java index c49f649474..3e9497b46b 100644 --- a/core/src/io/anuke/mindustry/content/Items.java +++ b/core/src/io/anuke/mindustry/content/Items.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.content; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.game.Content; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemType; diff --git a/core/src/io/anuke/mindustry/content/Liquids.java b/core/src/io/anuke/mindustry/content/Liquids.java index e1311d4a78..f8b416c9b8 100644 --- a/core/src/io/anuke/mindustry/content/Liquids.java +++ b/core/src/io/anuke/mindustry/content/Liquids.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.content; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.game.Content; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.Liquid; public class Liquids implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/Mechs.java b/core/src/io/anuke/mindustry/content/Mechs.java index 5a55bd927d..9a0943311b 100644 --- a/core/src/io/anuke/mindustry/content/Mechs.java +++ b/core/src/io/anuke/mindustry/content/Mechs.java @@ -17,7 +17,7 @@ import io.anuke.mindustry.game.Content; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.net.Net; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.Mech; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Core; diff --git a/core/src/io/anuke/mindustry/content/Recipes.java b/core/src/io/anuke/mindustry/content/Recipes.java index 5d8ca898dd..e1600855ff 100644 --- a/core/src/io/anuke/mindustry/content/Recipes.java +++ b/core/src/io/anuke/mindustry/content/Recipes.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.content; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.content.blocks.*; import io.anuke.mindustry.game.Content; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Recipe; diff --git a/core/src/io/anuke/mindustry/content/StatusEffects.java b/core/src/io/anuke/mindustry/content/StatusEffects.java index 2c0973eaaf..1161905476 100644 --- a/core/src/io/anuke/mindustry/content/StatusEffects.java +++ b/core/src/io/anuke/mindustry/content/StatusEffects.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.content.fx.EnvironmentFx; import io.anuke.mindustry.entities.StatusController.StatusEntry; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.Content; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.StatusEffect; import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Timers; diff --git a/core/src/io/anuke/mindustry/content/UnitTypes.java b/core/src/io/anuke/mindustry/content/UnitTypes.java index 73a497c5e7..dd0654b6cd 100644 --- a/core/src/io/anuke/mindustry/content/UnitTypes.java +++ b/core/src/io/anuke/mindustry/content/UnitTypes.java @@ -6,7 +6,7 @@ import com.badlogic.gdx.utils.ObjectSet; import io.anuke.mindustry.entities.units.UnitType; import io.anuke.mindustry.entities.units.types.*; import io.anuke.mindustry.game.Content; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; public class UnitTypes implements ContentList{ public static UnitType drone, alphaDrone, dagger, interceptor, monsoon, titan, fabricator; diff --git a/core/src/io/anuke/mindustry/content/Weapons.java b/core/src/io/anuke/mindustry/content/Weapons.java index 2280b63e5d..0527e51ef5 100644 --- a/core/src/io/anuke/mindustry/content/Weapons.java +++ b/core/src/io/anuke/mindustry/content/Weapons.java @@ -4,7 +4,7 @@ import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.content.fx.ShootFx; import io.anuke.mindustry.game.Content; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.Weapon; public class Weapons implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/blocks/BlockList.java b/core/src/io/anuke/mindustry/content/blocks/BlockList.java index e1b7819220..1511338f22 100644 --- a/core/src/io/anuke/mindustry/content/blocks/BlockList.java +++ b/core/src/io/anuke/mindustry/content/blocks/BlockList.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.content.blocks; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.game.Content; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.world.Block; public abstract class BlockList implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/blocks/Blocks.java b/core/src/io/anuke/mindustry/content/blocks/Blocks.java index a9ae94fc43..f500fe8c46 100644 --- a/core/src/io/anuke/mindustry/content/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/Blocks.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.graphics.CacheLayer; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; diff --git a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java index 19b5ad9220..ad48d3e678 100644 --- a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java @@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.fx.BlockFx; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.production.*; diff --git a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java index 2efda87b10..e87045ea5d 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.gen.Call; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java index 27dfe4a4c6..7cabdfb97f 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.content.blocks; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.fx.BlockFx; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.defense.*; diff --git a/core/src/io/anuke/mindustry/content/blocks/DistributionBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DistributionBlocks.java index c5696fb30e..39721f5f6a 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DistributionBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DistributionBlocks.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.content.blocks; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.distribution.*; diff --git a/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java b/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java index e5e5d97480..f1250f97a5 100644 --- a/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.content.blocks; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.distribution.*; import io.anuke.mindustry.world.blocks.production.Pump; diff --git a/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java b/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java index f5eddd6dee..1fb1ed9ac9 100644 --- a/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.content.blocks; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.fx.BlockFx; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.distribution.WarpGate; import io.anuke.mindustry.world.blocks.power.*; diff --git a/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java b/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java index ad8fddfeb3..81eadc7561 100644 --- a/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java @@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.fx.BlockFx; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.production.Cultivator; import io.anuke.mindustry.world.blocks.production.Drill; diff --git a/core/src/io/anuke/mindustry/content/blocks/StorageBlocks.java b/core/src/io/anuke/mindustry/content/blocks/StorageBlocks.java index 854769e3fa..5ed63fe208 100644 --- a/core/src/io/anuke/mindustry/content/blocks/StorageBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/StorageBlocks.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.content.blocks; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.storage.CoreBlock; import io.anuke.mindustry.world.blocks.storage.SortedUnloader; diff --git a/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java b/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java index 21382e16cd..5a08cd31c1 100644 --- a/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java @@ -5,7 +5,7 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.AmmoTypes; import io.anuke.mindustry.content.fx.ShootFx; import io.anuke.mindustry.type.AmmoType; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.defense.turrets.*; import io.anuke.ucore.graphics.Draw; diff --git a/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java b/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java index 7cac576361..6e1d090cb0 100644 --- a/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.content.blocks; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.UnitTypes; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.units.*; diff --git a/core/src/io/anuke/mindustry/content/bullets/ArtilleryBullets.java b/core/src/io/anuke/mindustry/content/bullets/ArtilleryBullets.java index 3ad7de9383..66da97127c 100644 --- a/core/src/io/anuke/mindustry/content/bullets/ArtilleryBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/ArtilleryBullets.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.entities.bullet.ArtilleryBulletType; import io.anuke.mindustry.entities.bullet.BasicBulletType; import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; public class ArtilleryBullets extends BulletList implements ContentList{ public static BulletType dense, plastic, plasticFrag, homing, incindiary, explosive, surge; diff --git a/core/src/io/anuke/mindustry/content/bullets/BulletList.java b/core/src/io/anuke/mindustry/content/bullets/BulletList.java index ba0e465799..63253c02dd 100644 --- a/core/src/io/anuke/mindustry/content/bullets/BulletList.java +++ b/core/src/io/anuke/mindustry/content/bullets/BulletList.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.content.bullets; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.game.Content; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; public abstract class BulletList implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java b/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java index 4dcd8512ea..5a1c6c5f2a 100644 --- a/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.entities.bullet.FlakBulletType; import io.anuke.mindustry.entities.effect.Lightning; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.ucore.util.Mathf; public class FlakBullets extends BulletList implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java b/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java index b018179866..2cc4985c43 100644 --- a/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.entities.bullet.MissileBulletType; import io.anuke.mindustry.entities.effect.Lightning; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.ucore.core.Timers; import io.anuke.ucore.util.Mathf; diff --git a/core/src/io/anuke/mindustry/content/bullets/StandardBullets.java b/core/src/io/anuke/mindustry/content/bullets/StandardBullets.java index e3b6e8c14b..ec4547295f 100644 --- a/core/src/io/anuke/mindustry/content/bullets/StandardBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/StandardBullets.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.entities.bullet.BasicBulletType; import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; public class StandardBullets extends BulletList implements ContentList{ public static BulletType copper, dense, thorium, homing, tracer, mechSmall, glaive; diff --git a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java index 7d73be0808..57d94967b8 100644 --- a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java @@ -15,7 +15,7 @@ import io.anuke.mindustry.entities.effect.Fire; import io.anuke.mindustry.entities.effect.ItemDrop; import io.anuke.mindustry.entities.effect.Lightning; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.distribution.MassDriver.DriverBulletData; diff --git a/core/src/io/anuke/mindustry/content/fx/BlockFx.java b/core/src/io/anuke/mindustry/content/fx/BlockFx.java index da7bd72ac5..5877e67651 100644 --- a/core/src/io/anuke/mindustry/content/fx/BlockFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BlockFx.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.content.fx; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; diff --git a/core/src/io/anuke/mindustry/content/fx/BulletFx.java b/core/src/io/anuke/mindustry/content/fx/BulletFx.java index ff69fc5270..7be0b2c412 100644 --- a/core/src/io/anuke/mindustry/content/fx/BulletFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BulletFx.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.content.fx; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; diff --git a/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java b/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java index e8f3fe6b2e..363a69390f 100644 --- a/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java +++ b/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.content.fx; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; diff --git a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java index 457c2dfe32..d6d41c9d66 100644 --- a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.content.fx; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; diff --git a/core/src/io/anuke/mindustry/content/fx/Fx.java b/core/src/io/anuke/mindustry/content/fx/Fx.java index f76f12d233..23ad56d6c9 100644 --- a/core/src/io/anuke/mindustry/content/fx/Fx.java +++ b/core/src/io/anuke/mindustry/content/fx/Fx.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.content.fx; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; diff --git a/core/src/io/anuke/mindustry/content/fx/FxList.java b/core/src/io/anuke/mindustry/content/fx/FxList.java index fe87cc2eb8..232ac61d14 100644 --- a/core/src/io/anuke/mindustry/content/fx/FxList.java +++ b/core/src/io/anuke/mindustry/content/fx/FxList.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.content.fx; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.game.Content; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; public abstract class FxList implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/fx/ShootFx.java b/core/src/io/anuke/mindustry/content/fx/ShootFx.java index 8593446d35..4e82b9a70e 100644 --- a/core/src/io/anuke/mindustry/content/fx/ShootFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ShootFx.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.content.fx; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; diff --git a/core/src/io/anuke/mindustry/content/fx/UnitFx.java b/core/src/io/anuke/mindustry/content/fx/UnitFx.java index 8edfe04de9..a3e813b607 100644 --- a/core/src/io/anuke/mindustry/content/fx/UnitFx.java +++ b/core/src/io/anuke/mindustry/content/fx/UnitFx.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.content.fx; import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; diff --git a/core/src/io/anuke/mindustry/core/ContentLoader.java b/core/src/io/anuke/mindustry/core/ContentLoader.java index ba117646e5..fdbbe151e6 100644 --- a/core/src/io/anuke/mindustry/core/ContentLoader.java +++ b/core/src/io/anuke/mindustry/core/ContentLoader.java @@ -1,9 +1,6 @@ package io.anuke.mindustry.core; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.ObjectSet; -import com.badlogic.gdx.utils.OrderedMap; -import com.badlogic.gdx.utils.OrderedSet; +import com.badlogic.gdx.utils.*; import io.anuke.mindustry.content.*; import io.anuke.mindustry.content.blocks.*; import io.anuke.mindustry.content.bullets.*; @@ -18,6 +15,8 @@ import io.anuke.mindustry.entities.effect.Puddle; import io.anuke.mindustry.entities.traits.TypeTrait; import io.anuke.mindustry.entities.units.UnitType; import io.anuke.mindustry.game.Content; +import io.anuke.mindustry.game.ContentList; +import io.anuke.mindustry.game.MappableContent; import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.ColorMapper; @@ -32,7 +31,8 @@ import io.anuke.ucore.util.Log; public class ContentLoader{ private static boolean loaded = false; private static ObjectSet> contentSet = new OrderedSet<>(); - private static OrderedMap> contentMap = new OrderedMap<>(); + private static OrderedMap> contentMap = new OrderedMap<>(); + private static ObjectMap> contentNameMap = new ObjectMap<>(); private static ObjectSet> initialization = new ObjectSet<>(); private static ContentList[] content = { //effects @@ -107,19 +107,25 @@ public class ContentLoader{ registerTypes(); - for(ContentList list : content){ + for(io.anuke.mindustry.game.ContentList list : content){ list.load(); } for(ContentList list : content){ if(list.getAll().size != 0){ - String type = list.getAll().first().getContentTypeName(); + ContentType type = list.getAll().first().getContentType(); if(!contentMap.containsKey(type)){ contentMap.put(type, new Array<>()); + contentNameMap.put(type, new ObjectMap<>()); } contentMap.get(type).addAll(list.getAll()); + for(Content c : list.getAll()){ + if(c instanceof MappableContent){ + contentNameMap.get(type).put(((MappableContent) c).getContentName(), (MappableContent) c); + } + } } contentSet.add(list.getAll()); } @@ -157,10 +163,17 @@ public class ContentLoader{ //TODO clear all content. } - public static OrderedMap> getContentMap(){ + public static OrderedMap> getContentMap(){ return contentMap; } + public static MappableContent getByName(ContentType type, String name){ + if(!contentNameMap.containsKey(type)){ + return null; + } + return contentNameMap.get(type).get(name); + } + /** * Registers sync IDs for all types of sync entities. * Do not register units here! diff --git a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java index 283446d164..311d3e3676 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java @@ -4,6 +4,7 @@ import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.game.Content; +import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.StatusEffect; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Effects; @@ -69,8 +70,8 @@ public abstract class BulletType extends BaseBulletType implements Conte } @Override - public String getContentTypeName(){ - return "bullettype"; + public ContentType getContentType(){ + return ContentType.bullet; } @Override diff --git a/core/src/io/anuke/mindustry/entities/units/UnitType.java b/core/src/io/anuke/mindustry/entities/units/UnitType.java index 455eb09227..5a6203cd67 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitType.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitType.java @@ -10,6 +10,7 @@ import io.anuke.mindustry.entities.traits.TypeTrait; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.game.UnlockableContent; +import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Weapon; import io.anuke.mindustry.ui.ContentDisplay; @@ -77,6 +78,11 @@ public class UnitType implements UnlockableContent{ return types; } + @Override + public int getID() { + return id; + } + @Override public void displayInfo(Table table){ ContentDisplay.displayUnit(table, this); @@ -104,8 +110,8 @@ public class UnitType implements UnlockableContent{ } @Override - public String getContentTypeName(){ - return "unit-type"; + public ContentType getContentType(){ + return ContentType.unit; } @Override diff --git a/core/src/io/anuke/mindustry/game/Content.java b/core/src/io/anuke/mindustry/game/Content.java index accf8d0947..42b3ddfd52 100644 --- a/core/src/io/anuke/mindustry/game/Content.java +++ b/core/src/io/anuke/mindustry/game/Content.java @@ -1,6 +1,7 @@ package io.anuke.mindustry.game; import com.badlogic.gdx.utils.Array; +import io.anuke.mindustry.type.ContentType; /** * Base interface for a content type that is loaded in {@link io.anuke.mindustry.core.ContentLoader}. @@ -11,7 +12,7 @@ public interface Content{ * Returns the type name of this piece of content. * This should return the same value for all instances of this content type. */ - String getContentTypeName(); + ContentType getContentType(); /** * Returns a list of all instances of this content. diff --git a/core/src/io/anuke/mindustry/game/ContentDatabase.java b/core/src/io/anuke/mindustry/game/ContentDatabase.java index a5b1e82056..d296fb875c 100644 --- a/core/src/io/anuke/mindustry/game/ContentDatabase.java +++ b/core/src/io/anuke/mindustry/game/ContentDatabase.java @@ -5,6 +5,7 @@ import com.badlogic.gdx.utils.ObjectMap; import com.badlogic.gdx.utils.ObjectMap.Entry; import com.badlogic.gdx.utils.ObjectSet; import io.anuke.mindustry.game.EventType.UnlockEvent; +import io.anuke.mindustry.type.ContentType; import io.anuke.ucore.core.Events; import io.anuke.ucore.core.Settings; @@ -12,19 +13,19 @@ import static io.anuke.mindustry.Vars.debug; public class ContentDatabase{ /** Maps unlockable type names to a set of unlocked content.*/ - private ObjectMap> unlocked = new ObjectMap<>(); + private ObjectMap> unlocked = new ObjectMap<>(); /** Whether unlockables have changed since the last save.*/ private boolean dirty; - + /** Returns whether or not this piece of content is unlocked yet.*/ public boolean isUnlocked(UnlockableContent content){ if(debug) return true; - if(!unlocked.containsKey(content.getContentTypeName())){ - unlocked.put(content.getContentTypeName(), new ObjectSet<>()); + if(!unlocked.containsKey(content.getContentType())){ + unlocked.put(content.getContentType(), new ObjectSet<>()); } - ObjectSet set = unlocked.get(content.getContentTypeName()); + ObjectSet set = unlocked.get(content.getContentType()); return set.contains(content.getContentName()); } @@ -39,11 +40,11 @@ public class ContentDatabase{ public boolean unlockContent(UnlockableContent content){ if(!content.canBeUnlocked()) return false; - if(!unlocked.containsKey(content.getContentTypeName())){ - unlocked.put(content.getContentTypeName(), new ObjectSet<>()); + if(!unlocked.containsKey(content.getContentType())){ + unlocked.put(content.getContentType(), new ObjectSet<>()); } - boolean ret = unlocked.get(content.getContentTypeName()).add(content.getContentName()); + boolean ret = unlocked.get(content.getContentType()).add(content.getContentName()); //fire unlock event so other classes can use it if(ret){ @@ -67,9 +68,9 @@ public class ContentDatabase{ } public void load(){ - ObjectMap> result = Settings.getJson("content-database", ObjectMap.class); + ObjectMap> result = Settings.getJson("content-database", ObjectMap.class); - for(Entry> entry : result.entries()){ + for(Entry> entry : result.entries()){ ObjectSet set = new ObjectSet<>(); set.addAll(entry.value); unlocked.put(entry.key, set); @@ -80,9 +81,9 @@ public class ContentDatabase{ public void save(){ - ObjectMap> write = new ObjectMap<>(); + ObjectMap> write = new ObjectMap<>(); - for(Entry> entry : unlocked.entries()){ + for(Entry> entry : unlocked.entries()){ write.put(entry.key, entry.value.iterator().toArray()); } diff --git a/core/src/io/anuke/mindustry/game/ContentList.java b/core/src/io/anuke/mindustry/game/ContentList.java new file mode 100644 index 0000000000..4d0d5cb9a1 --- /dev/null +++ b/core/src/io/anuke/mindustry/game/ContentList.java @@ -0,0 +1,12 @@ +package io.anuke.mindustry.game; + +import com.badlogic.gdx.utils.Array; + +/**Interface for a list of content to be loaded in {@link io.anuke.mindustry.core.ContentLoader}.*/ +public interface ContentList{ + /**This method should create all the content.*/ + void load(); + + /**This method should return the list of the content of this type, for further loading.*/ + Array getAll(); +} diff --git a/core/src/io/anuke/mindustry/game/MappableContent.java b/core/src/io/anuke/mindustry/game/MappableContent.java new file mode 100644 index 0000000000..83909a0bde --- /dev/null +++ b/core/src/io/anuke/mindustry/game/MappableContent.java @@ -0,0 +1,13 @@ +package io.anuke.mindustry.game; + +public interface MappableContent extends Content { + /** + * Returns the unqiue name of this piece of content. + * The name only needs to be unique for all content of this type. + * Do not use IDs for names! Make sure this string stays constant with each update unless removed. + * (e.g. having a recipe and a block, both with name "wall" is fine, as they are different types). + */ + String getContentName(); + + int getID(); +} diff --git a/core/src/io/anuke/mindustry/game/UnlockableContent.java b/core/src/io/anuke/mindustry/game/UnlockableContent.java index 6c04c7ad06..128e6b5898 100644 --- a/core/src/io/anuke/mindustry/game/UnlockableContent.java +++ b/core/src/io/anuke/mindustry/game/UnlockableContent.java @@ -5,54 +5,31 @@ import io.anuke.ucore.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.control; -/** - * Base interface for an unlockable content type. - */ -public interface UnlockableContent extends Content{ - - /** - * Returns the unqiue name of this piece of content. - * The name only needs to be unique for all content of this type. - * Do not use IDs for names! Make sure this string stays constant with each update unless removed. - * (e.g. having a recipe and a block, both with name "wall" is fine, as they are different types). - */ - String getContentName(); - - /** - * Returns the localized name of this content. - */ +/**Base interface for an unlockable content type.*/ +public interface UnlockableContent extends MappableContent{ + /**Returns the localized name of this content.*/ String localizedName(); TextureRegion getContentIcon(); - /** - * This should show all necessary info about this content in the specified table. - */ + /**This should show all necessary info about this content in the specified table.*/ void displayInfo(Table table); - /** - * Called when this content is unlocked. Use this to unlock other related content. - */ + /**Called when this content is unlocked. Use this to unlock other related content.*/ default void onUnlock(){ } - /** - * Whether this content is always hidden in the content info dialog. - */ + /**Whether this content is always hidden in the content info dialog.*/ default boolean isHidden(){ return false; } - /** - * Lists the content that must be unlocked in order for this specific content to become unlocked. May return null. - */ + /**Lists the content that must be unlocked in order for this specific content to become unlocked. May return null.*/ default UnlockableContent[] getDependencies(){ return null; } - /** - * Returns whether dependencies are satisfied for unlocking this content. - */ + /**Returns whether dependencies are satisfied for unlocking this content.*/ default boolean canBeUnlocked(){ UnlockableContent[] depend = getDependencies(); if(depend == null){ diff --git a/core/src/io/anuke/mindustry/io/SaveFileVersion.java b/core/src/io/anuke/mindustry/io/SaveFileVersion.java index c9e0ee89d8..3c18c3fd97 100644 --- a/core/src/io/anuke/mindustry/io/SaveFileVersion.java +++ b/core/src/io/anuke/mindustry/io/SaveFileVersion.java @@ -1,6 +1,14 @@ package io.anuke.mindustry.io; +import com.badlogic.gdx.utils.Array; +import com.badlogic.gdx.utils.IntMap; +import com.badlogic.gdx.utils.ObjectMap; +import com.badlogic.gdx.utils.ObjectMap.Entry; +import io.anuke.mindustry.core.ContentLoader; +import io.anuke.mindustry.game.Content; import io.anuke.mindustry.game.Difficulty; +import io.anuke.mindustry.game.MappableContent; +import io.anuke.mindustry.type.ContentType; import java.io.DataInputStream; import java.io.DataOutputStream; @@ -25,6 +33,50 @@ public abstract class SaveFileVersion{ return new SaveMeta(version, time, playtime, build, sector, mode, map, wave, Difficulty.values()[difficulty]); } + public ObjectMap> readContentHeader(DataInputStream stream) throws IOException{ + ObjectMap> map = new ObjectMap<>(); + + byte mapped = stream.readByte(); + for (int i = 0; i < mapped; i++) { + ContentType type = ContentType.values()[stream.readByte()]; + map.put(type, new IntMap<>()); + short total = stream.readShort(); + for (int j = 0; j < total; j++) { + byte id = stream.readByte(); + String name = stream.readUTF(); + if(ContentLoader.getContentMap().get(type).size == 0) continue; + map.get(type).put(id, ContentLoader.getByName(type, name)); + } + } + + return map; + } + + public void writeContentHeader(DataOutputStream stream) throws IOException{ + ObjectMap> map = ContentLoader.getContentMap(); + + int mappable = 0; + for(Entry> entry : map.entries()){ + if(entry.value.size > 0 && entry.value.first() instanceof MappableContent){ + mappable ++; + } + } + + stream.writeByte(mappable); + for(Entry> entry : map.entries()){ + if(entry.value.size > 0 && entry.value.first() instanceof MappableContent){ + stream.writeByte(entry.value.first().getContentType().ordinal()); + stream.writeShort(entry.value.size); + for(Content c : entry.value){ + MappableContent m = (MappableContent)c; + if(m.getID() >= 128) throw new RuntimeException("Content " + c + " has ID > 127!"); + stream.writeByte(m.getID()); + stream.writeUTF(m.getContentName()); + } + } + } + } + public abstract void read(DataInputStream stream) throws IOException; public abstract void write(DataOutputStream stream) throws IOException; diff --git a/core/src/io/anuke/mindustry/io/versions/Save16.java b/core/src/io/anuke/mindustry/io/versions/Save16.java index f4d30b2088..90e1bbd399 100644 --- a/core/src/io/anuke/mindustry/io/versions/Save16.java +++ b/core/src/io/anuke/mindustry/io/versions/Save16.java @@ -1,16 +1,16 @@ package io.anuke.mindustry.io.versions; +import com.badlogic.gdx.utils.IntMap; +import com.badlogic.gdx.utils.ObjectMap; import com.badlogic.gdx.utils.TimeUtils; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.entities.traits.SaveTrait; import io.anuke.mindustry.entities.traits.TypeTrait; -import io.anuke.mindustry.game.Difficulty; -import io.anuke.mindustry.game.GameMode; -import io.anuke.mindustry.game.Team; -import io.anuke.mindustry.game.Version; +import io.anuke.mindustry.game.*; import io.anuke.mindustry.io.SaveFileVersion; import io.anuke.mindustry.maps.Map; +import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BlockPart; import io.anuke.ucore.core.Timers; @@ -56,6 +56,9 @@ public class Save16 extends SaveFileVersion{ state.wave = wave; state.wavetime = wavetime; + ObjectMap> contentMap = readContentHeader(stream); + //TODO implement + state.spawner.read(stream); //entities @@ -168,7 +171,9 @@ public class Save16 extends SaveFileVersion{ stream.writeByte(state.difficulty.ordinal()); //difficulty ordinal stream.writeFloat(state.wavetime); //wave countdown - state.spawner.write(stream); + writeContentHeader(stream); + + state.spawner.write(stream); //spawnes //--ENTITIES-- diff --git a/core/src/io/anuke/mindustry/type/AmmoType.java b/core/src/io/anuke/mindustry/type/AmmoType.java index fe6aeb3bf5..4e8cc7dcaa 100644 --- a/core/src/io/anuke/mindustry/type/AmmoType.java +++ b/core/src/io/anuke/mindustry/type/AmmoType.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.game.Content; import io.anuke.ucore.core.Effects.Effect; -public class AmmoType implements Content{ +public class AmmoType implements Content { private static int lastID = 0; private static Array allTypes = new Array<>(32); @@ -85,8 +85,8 @@ public class AmmoType implements Content{ } @Override - public String getContentTypeName(){ - return "ammotype"; + public ContentType getContentType(){ + return ContentType.ammo; } @Override diff --git a/core/src/io/anuke/mindustry/type/ContentList.java b/core/src/io/anuke/mindustry/type/ContentList.java deleted file mode 100644 index edeb482dca..0000000000 --- a/core/src/io/anuke/mindustry/type/ContentList.java +++ /dev/null @@ -1,19 +0,0 @@ -package io.anuke.mindustry.type; - -import com.badlogic.gdx.utils.Array; -import io.anuke.mindustry.game.Content; - -/** - * Interface for a list of content to be loaded in {@link io.anuke.mindustry.core.ContentLoader}. - */ -public interface ContentList{ - /** - * This method should create all the content. - */ - void load(); - - /** - * This method should return the list of the content of this type, for further loading. - */ - Array getAll(); -} diff --git a/core/src/io/anuke/mindustry/type/ContentType.java b/core/src/io/anuke/mindustry/type/ContentType.java new file mode 100644 index 0000000000..50c10b41c7 --- /dev/null +++ b/core/src/io/anuke/mindustry/type/ContentType.java @@ -0,0 +1,16 @@ +package io.anuke.mindustry.type; + +/**Do not rearrange, ever!*/ +public enum ContentType { + item, + recipe, + block, + mech, + bullet, + liquid, + weapon, + status, + unit, + ammo, + weather +} diff --git a/core/src/io/anuke/mindustry/type/Item.java b/core/src/io/anuke/mindustry/type/Item.java index 2e29a94973..ec7f085716 100644 --- a/core/src/io/anuke/mindustry/type/Item.java +++ b/core/src/io/anuke/mindustry/type/Item.java @@ -69,6 +69,11 @@ public class Item implements Comparable, UnlockableContent{ this.region = Draw.region("item-" + name); } + @Override + public int getID() { + return id; + } + @Override public void displayInfo(Table table){ ContentDisplay.displayItem(table, this); @@ -100,8 +105,8 @@ public class Item implements Comparable, UnlockableContent{ } @Override - public String getContentTypeName(){ - return "item"; + public ContentType getContentType(){ + return ContentType.item; } @Override diff --git a/core/src/io/anuke/mindustry/type/Liquid.java b/core/src/io/anuke/mindustry/type/Liquid.java index dc73f5b86f..21190f7f22 100644 --- a/core/src/io/anuke/mindustry/type/Liquid.java +++ b/core/src/io/anuke/mindustry/type/Liquid.java @@ -79,6 +79,11 @@ public class Liquid implements UnlockableContent{ return liquids.get(id); } + @Override + public int getID() { + return id; + } + @Override public void load(){ iconRegion = Draw.region("liquid-icon-" + name); @@ -110,8 +115,8 @@ public class Liquid implements UnlockableContent{ } @Override - public String getContentTypeName(){ - return "liquid"; + public ContentType getContentType(){ + return ContentType.liquid; } @Override diff --git a/core/src/io/anuke/mindustry/type/Mech.java b/core/src/io/anuke/mindustry/type/Mech.java index 15c73bdb5f..64991883c0 100644 --- a/core/src/io/anuke/mindustry/type/Mech.java +++ b/core/src/io/anuke/mindustry/type/Mech.java @@ -87,6 +87,11 @@ public class Mech implements UnlockableContent{ return true; } + @Override + public int getID() { + return id; + } + @Override public boolean isHidden() { return !flying && mobile; @@ -108,8 +113,8 @@ public class Mech implements UnlockableContent{ } @Override - public String getContentTypeName(){ - return "mech"; + public ContentType getContentType(){ + return ContentType.mech; } @Override diff --git a/core/src/io/anuke/mindustry/type/Recipe.java b/core/src/io/anuke/mindustry/type/Recipe.java index baf940e66a..d32129ebba 100644 --- a/core/src/io/anuke/mindustry/type/Recipe.java +++ b/core/src/io/anuke/mindustry/type/Recipe.java @@ -118,6 +118,11 @@ public class Recipe implements UnlockableContent{ return this; } + @Override + public int getID() { + return id; + } + @Override public boolean isHidden(){ return debugOnly || (desktopOnly && mobile); @@ -154,8 +159,8 @@ public class Recipe implements UnlockableContent{ } @Override - public String getContentTypeName(){ - return "recipe"; + public ContentType getContentType(){ + return ContentType.recipe; } @Override diff --git a/core/src/io/anuke/mindustry/type/StatusEffect.java b/core/src/io/anuke/mindustry/type/StatusEffect.java index fa9bcab529..7e0f8bd11a 100644 --- a/core/src/io/anuke/mindustry/type/StatusEffect.java +++ b/core/src/io/anuke/mindustry/type/StatusEffect.java @@ -85,8 +85,8 @@ public class StatusEffect implements Content{ } @Override - public String getContentTypeName(){ - return "statuseffect"; + public ContentType getContentType(){ + return ContentType.status; } @Override diff --git a/core/src/io/anuke/mindustry/type/Weapon.java b/core/src/io/anuke/mindustry/type/Weapon.java index 0f02804f14..b1cf2ddc83 100644 --- a/core/src/io/anuke/mindustry/type/Weapon.java +++ b/core/src/io/anuke/mindustry/type/Weapon.java @@ -120,8 +120,8 @@ public class Weapon implements Content{ } @Override - public String getContentTypeName(){ - return "weapon"; + public ContentType getContentType(){ + return ContentType.weapon; } @Override diff --git a/core/src/io/anuke/mindustry/type/WeatherEvent.java b/core/src/io/anuke/mindustry/type/WeatherEvent.java index 66871cc439..3ea14da4e2 100644 --- a/core/src/io/anuke/mindustry/type/WeatherEvent.java +++ b/core/src/io/anuke/mindustry/type/WeatherEvent.java @@ -27,8 +27,8 @@ public class WeatherEvent implements Content{ } @Override - public String getContentTypeName(){ - return "weatherevent"; + public ContentType getContentType(){ + return ContentType.weather; } @Override diff --git a/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java index 5120404cb2..d9fd0e330a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java @@ -7,6 +7,7 @@ import io.anuke.mindustry.core.ContentLoader; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.Palette; +import io.anuke.mindustry.type.ContentType; import io.anuke.ucore.scene.event.HandCursorListener; import io.anuke.ucore.scene.ui.Image; import io.anuke.ucore.scene.ui.ScrollPane; @@ -34,9 +35,9 @@ public class UnlocksDialog extends FloatingDialog{ table.margin(20); ScrollPane pane = new ScrollPane(table, "clear-black"); - OrderedMap> allContent = ContentLoader.getContentMap(); + OrderedMap> allContent = ContentLoader.getContentMap(); - for(String key : allContent.orderedKeys()){ + for(ContentType key : allContent.orderedKeys()){ Array array = allContent.get(key); if(array.size == 0 || !(array.first() instanceof UnlockableContent)) continue; diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 3daa98c9f4..da83100832 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -13,11 +13,13 @@ import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.entities.effect.Puddle; import io.anuke.mindustry.entities.effect.RubbleDecal; import io.anuke.mindustry.game.Content; +import io.anuke.mindustry.game.MappableContent; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.CacheLayer; import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.input.CursorType; +import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.meta.*; @@ -32,7 +34,7 @@ import io.anuke.ucore.util.Mathf; import static io.anuke.mindustry.Vars.*; -public class Block extends BaseBlock implements Content{ +public class Block extends BaseBlock implements MappableContent { private static int lastid; private static Array blocks = new Array<>(140); private static ObjectMap map = new ObjectMap<>(); @@ -209,6 +211,16 @@ public class Block extends BaseBlock implements Content{ } } + @Override + public int getID() { + return id; + } + + @Override + public String getContentName() { + return name; + } + /** Called after all blocks are created. */ @Override public void init(){ @@ -495,8 +507,8 @@ public class Block extends BaseBlock implements Content{ } @Override - public String getContentTypeName(){ - return "block"; + public ContentType getContentType(){ + return ContentType.block; } @Override diff --git a/core/src/io/anuke/mindustry/world/ColorMapper.java b/core/src/io/anuke/mindustry/world/ColorMapper.java index 83e3cbbd82..8f0bf82adb 100644 --- a/core/src/io/anuke/mindustry/world/ColorMapper.java +++ b/core/src/io/anuke/mindustry/world/ColorMapper.java @@ -6,7 +6,7 @@ import com.badlogic.gdx.utils.IntMap; import com.badlogic.gdx.utils.ObjectIntMap; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.game.Team; -import io.anuke.mindustry.type.ContentList; +import io.anuke.mindustry.game.ContentList; import io.anuke.ucore.util.Mathf; public class ColorMapper implements ContentList{