diff --git a/build.gradle b/build.gradle index 9681be921b..7bb0e486b0 100644 --- a/build.gradle +++ b/build.gradle @@ -254,7 +254,6 @@ project(":core"){ compileJava.dependsOn(preGen) compile "org.lz4:lz4-java:1.4.1" - compile "org.javadelight:delight-rhino-sandbox:0.0.10" compile arcModule("arc-core") compile arcModule("extensions:freetype") compile arcModule("extensions:arcnet") diff --git a/core/assets/scripts/base.js b/core/assets/scripts/base.js index c3932ee92c..677d4e996d 100755 --- a/core/assets/scripts/base.js +++ b/core/assets/scripts/base.js @@ -2,6 +2,10 @@ const print = function(obj){ java.lang.System.out.println(obj ? String(obj) : "null") } -const extend = function(classType, name, params){ +const extendContent = function(classType, name, params){ return new JavaAdapter(classType, params, name) } + +const extend = function(classType, params){ + return new JavaAdapter(classType, params) +} diff --git a/core/assets/scripts/global.js b/core/assets/scripts/global.js index 0c4e49a298..2ecfeb5774 100755 --- a/core/assets/scripts/global.js +++ b/core/assets/scripts/global.js @@ -4,10 +4,14 @@ const print = function(obj){ java.lang.System.out.println(obj ? String(obj) : "null") } -const extend = function(classType, name, params){ +const extendContent = function(classType, name, params){ return new JavaAdapter(classType, params, name) } +const extend = function(classType, params){ + return new JavaAdapter(classType, params) +} + const Core = Packages.io.anuke.arc.Core const Boolc = Packages.io.anuke.arc.func.Boolc const Boolf = Packages.io.anuke.arc.func.Boolf @@ -30,12 +34,18 @@ const Intf = Packages.io.anuke.arc.func.Intf const Intp = Packages.io.anuke.arc.func.Intp const Prov = Packages.io.anuke.arc.func.Prov const Draw = Packages.io.anuke.arc.graphics.g2d.Draw +const Fill = Packages.io.anuke.arc.graphics.g2d.Fill +const Lines = Packages.io.anuke.arc.graphics.g2d.Lines const TextureAtlas = Packages.io.anuke.arc.graphics.g2d.TextureAtlas +const AtlasRegion = Packages.io.anuke.arc.graphics.g2d.TextureAtlas.AtlasRegion const TextureRegion = Packages.io.anuke.arc.graphics.g2d.TextureRegion const Time = Packages.io.anuke.arc.util.Time const Vars = Packages.io.anuke.mindustry.Vars const BlockIndexer = Packages.io.anuke.mindustry.ai.BlockIndexer const Pathfinder = Packages.io.anuke.mindustry.ai.Pathfinder +const PathData = Packages.io.anuke.mindustry.ai.Pathfinder.PathData +const PathTarget = Packages.io.anuke.mindustry.ai.Pathfinder.PathTarget +const PathTileStruct = Packages.io.anuke.mindustry.ai.Pathfinder.PathTileStruct const WaveSpawner = Packages.io.anuke.mindustry.ai.WaveSpawner const Blocks = Packages.io.anuke.mindustry.content.Blocks const Bullets = Packages.io.anuke.mindustry.content.Bullets @@ -46,6 +56,7 @@ const Loadouts = Packages.io.anuke.mindustry.content.Loadouts const Mechs = Packages.io.anuke.mindustry.content.Mechs const StatusEffects = Packages.io.anuke.mindustry.content.StatusEffects const TechTree = Packages.io.anuke.mindustry.content.TechTree +const TechNode = Packages.io.anuke.mindustry.content.TechTree.TechNode const TypeIDs = Packages.io.anuke.mindustry.content.TypeIDs const UnitTypes = Packages.io.anuke.mindustry.content.UnitTypes const Zones = Packages.io.anuke.mindustry.content.Zones @@ -53,24 +64,35 @@ const ContentLoader = Packages.io.anuke.mindustry.core.ContentLoader const Control = Packages.io.anuke.mindustry.core.Control const FileTree = Packages.io.anuke.mindustry.core.FileTree const GameState = Packages.io.anuke.mindustry.core.GameState +const State = Packages.io.anuke.mindustry.core.GameState.State const Logic = Packages.io.anuke.mindustry.core.Logic const Platform = Packages.io.anuke.mindustry.core.Platform const Renderer = Packages.io.anuke.mindustry.core.Renderer const UI = Packages.io.anuke.mindustry.core.UI const Version = Packages.io.anuke.mindustry.core.Version const World = Packages.io.anuke.mindustry.core.World +const Raycaster = Packages.io.anuke.mindustry.core.World.Raycaster const Content = Packages.io.anuke.mindustry.ctype.Content const ContentList = Packages.io.anuke.mindustry.ctype.ContentList const MappableContent = Packages.io.anuke.mindustry.ctype.MappableContent const UnlockableContent = Packages.io.anuke.mindustry.ctype.UnlockableContent const DrawOperation = Packages.io.anuke.mindustry.editor.DrawOperation +const OpType = Packages.io.anuke.mindustry.editor.DrawOperation.OpType +const TileOpStruct = Packages.io.anuke.mindustry.editor.DrawOperation.TileOpStruct const EditorTile = Packages.io.anuke.mindustry.editor.EditorTile const EditorTool = Packages.io.anuke.mindustry.editor.EditorTool const MapEditor = Packages.io.anuke.mindustry.editor.MapEditor +const Context = Packages.io.anuke.mindustry.editor.MapEditor.Context const MapRenderer = Packages.io.anuke.mindustry.editor.MapRenderer const OperationStack = Packages.io.anuke.mindustry.editor.OperationStack const Damage = Packages.io.anuke.mindustry.entities.Damage +const PropCellStruct = Packages.io.anuke.mindustry.entities.Damage.PropCellStruct const Effects = Packages.io.anuke.mindustry.entities.Effects +const Effect = Packages.io.anuke.mindustry.entities.Effects.Effect +const EffectContainer = Packages.io.anuke.mindustry.entities.Effects.EffectContainer +const EffectProvider = Packages.io.anuke.mindustry.entities.Effects.EffectProvider +const EffectRenderer = Packages.io.anuke.mindustry.entities.Effects.EffectRenderer +const ScreenshakeProvider = Packages.io.anuke.mindustry.entities.Effects.ScreenshakeProvider const Entities = Packages.io.anuke.mindustry.entities.Entities const EntityCollisions = Packages.io.anuke.mindustry.entities.EntityCollisions const EntityGroup = Packages.io.anuke.mindustry.entities.EntityGroup @@ -89,6 +111,7 @@ const MissileBulletType = Packages.io.anuke.mindustry.entities.bullet.MissileBul const Decal = Packages.io.anuke.mindustry.entities.effect.Decal const Fire = Packages.io.anuke.mindustry.entities.effect.Fire const GroundEffectEntity = Packages.io.anuke.mindustry.entities.effect.GroundEffectEntity +const GroundEffect = Packages.io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect const ItemTransfer = Packages.io.anuke.mindustry.entities.effect.ItemTransfer const Lightning = Packages.io.anuke.mindustry.entities.effect.Lightning const Puddle = Packages.io.anuke.mindustry.entities.effect.Puddle @@ -98,6 +121,8 @@ const AbsorbTrait = Packages.io.anuke.mindustry.entities.traits.AbsorbTrait const BelowLiquidTrait = Packages.io.anuke.mindustry.entities.traits.BelowLiquidTrait const BuilderMinerTrait = Packages.io.anuke.mindustry.entities.traits.BuilderMinerTrait const BuilderTrait = Packages.io.anuke.mindustry.entities.traits.BuilderTrait +const BuildDataStatic = Packages.io.anuke.mindustry.entities.traits.BuilderTrait.BuildDataStatic +const BuildRequest = Packages.io.anuke.mindustry.entities.traits.BuilderTrait.BuildRequest const DamageTrait = Packages.io.anuke.mindustry.entities.traits.DamageTrait const DrawTrait = Packages.io.anuke.mindustry.entities.traits.DrawTrait const Entity = Packages.io.anuke.mindustry.entities.traits.Entity @@ -146,28 +171,87 @@ const Titan = Packages.io.anuke.mindustry.entities.type.base.Titan const Wraith = Packages.io.anuke.mindustry.entities.type.base.Wraith const StateMachine = Packages.io.anuke.mindustry.entities.units.StateMachine const Statuses = Packages.io.anuke.mindustry.entities.units.Statuses +const StatusEntry = Packages.io.anuke.mindustry.entities.units.Statuses.StatusEntry const UnitCommand = Packages.io.anuke.mindustry.entities.units.UnitCommand const UnitDrops = Packages.io.anuke.mindustry.entities.units.UnitDrops const UnitState = Packages.io.anuke.mindustry.entities.units.UnitState const DefaultWaves = Packages.io.anuke.mindustry.game.DefaultWaves const Difficulty = Packages.io.anuke.mindustry.game.Difficulty const EventType = Packages.io.anuke.mindustry.game.EventType +const BlockBuildBeginEvent = Packages.io.anuke.mindustry.game.EventType.BlockBuildBeginEvent +const BlockBuildEndEvent = Packages.io.anuke.mindustry.game.EventType.BlockBuildEndEvent +const BlockDestroyEvent = Packages.io.anuke.mindustry.game.EventType.BlockDestroyEvent +const BlockInfoEvent = Packages.io.anuke.mindustry.game.EventType.BlockInfoEvent +const BuildSelectEvent = Packages.io.anuke.mindustry.game.EventType.BuildSelectEvent +const ClientLoadEvent = Packages.io.anuke.mindustry.game.EventType.ClientLoadEvent +const CommandIssueEvent = Packages.io.anuke.mindustry.game.EventType.CommandIssueEvent +const ContentReloadEvent = Packages.io.anuke.mindustry.game.EventType.ContentReloadEvent +const CoreItemDeliverEvent = Packages.io.anuke.mindustry.game.EventType.CoreItemDeliverEvent +const DepositEvent = Packages.io.anuke.mindustry.game.EventType.DepositEvent +const DisposeEvent = Packages.io.anuke.mindustry.game.EventType.DisposeEvent +const GameOverEvent = Packages.io.anuke.mindustry.game.EventType.GameOverEvent +const LaunchEvent = Packages.io.anuke.mindustry.game.EventType.LaunchEvent +const LaunchItemEvent = Packages.io.anuke.mindustry.game.EventType.LaunchItemEvent +const LineConfirmEvent = Packages.io.anuke.mindustry.game.EventType.LineConfirmEvent +const LoseEvent = Packages.io.anuke.mindustry.game.EventType.LoseEvent +const MapMakeEvent = Packages.io.anuke.mindustry.game.EventType.MapMakeEvent +const MapPublishEvent = Packages.io.anuke.mindustry.game.EventType.MapPublishEvent +const MechChangeEvent = Packages.io.anuke.mindustry.game.EventType.MechChangeEvent +const PlayEvent = Packages.io.anuke.mindustry.game.EventType.PlayEvent +const PlayerBanEvent = Packages.io.anuke.mindustry.game.EventType.PlayerBanEvent +const PlayerChatEvent = Packages.io.anuke.mindustry.game.EventType.PlayerChatEvent +const PlayerConnect = Packages.io.anuke.mindustry.game.EventType.PlayerConnect +const PlayerIpBanEvent = Packages.io.anuke.mindustry.game.EventType.PlayerIpBanEvent +const PlayerIpUnbanEvent = Packages.io.anuke.mindustry.game.EventType.PlayerIpUnbanEvent +const PlayerJoin = Packages.io.anuke.mindustry.game.EventType.PlayerJoin +const PlayerLeave = Packages.io.anuke.mindustry.game.EventType.PlayerLeave +const PlayerUnbanEvent = Packages.io.anuke.mindustry.game.EventType.PlayerUnbanEvent +const ResearchEvent = Packages.io.anuke.mindustry.game.EventType.ResearchEvent +const ResetEvent = Packages.io.anuke.mindustry.game.EventType.ResetEvent +const ResizeEvent = Packages.io.anuke.mindustry.game.EventType.ResizeEvent +const StateChangeEvent = Packages.io.anuke.mindustry.game.EventType.StateChangeEvent +const TapConfigEvent = Packages.io.anuke.mindustry.game.EventType.TapConfigEvent +const TapEvent = Packages.io.anuke.mindustry.game.EventType.TapEvent +const TileChangeEvent = Packages.io.anuke.mindustry.game.EventType.TileChangeEvent +const Trigger = Packages.io.anuke.mindustry.game.EventType.Trigger +const TurretAmmoDeliverEvent = Packages.io.anuke.mindustry.game.EventType.TurretAmmoDeliverEvent +const UnitCreateEvent = Packages.io.anuke.mindustry.game.EventType.UnitCreateEvent +const UnitDestroyEvent = Packages.io.anuke.mindustry.game.EventType.UnitDestroyEvent +const UnlockEvent = Packages.io.anuke.mindustry.game.EventType.UnlockEvent +const WaveEvent = Packages.io.anuke.mindustry.game.EventType.WaveEvent +const WinEvent = Packages.io.anuke.mindustry.game.EventType.WinEvent +const WithdrawEvent = Packages.io.anuke.mindustry.game.EventType.WithdrawEvent +const WorldLoadEvent = Packages.io.anuke.mindustry.game.EventType.WorldLoadEvent +const ZoneConfigureCompleteEvent = Packages.io.anuke.mindustry.game.EventType.ZoneConfigureCompleteEvent +const ZoneRequireCompleteEvent = Packages.io.anuke.mindustry.game.EventType.ZoneRequireCompleteEvent const Gamemode = Packages.io.anuke.mindustry.game.Gamemode const GlobalData = Packages.io.anuke.mindustry.game.GlobalData const LoopControl = Packages.io.anuke.mindustry.game.LoopControl const MusicControl = Packages.io.anuke.mindustry.game.MusicControl const Objective = Packages.io.anuke.mindustry.game.Objective const Objectives = Packages.io.anuke.mindustry.game.Objectives +const Launched = Packages.io.anuke.mindustry.game.Objectives.Launched +const Unlock = Packages.io.anuke.mindustry.game.Objectives.Unlock +const Wave = Packages.io.anuke.mindustry.game.Objectives.Wave +const ZoneObjective = Packages.io.anuke.mindustry.game.Objectives.ZoneObjective +const ZoneWave = Packages.io.anuke.mindustry.game.Objectives.ZoneWave const Rules = Packages.io.anuke.mindustry.game.Rules const Saves = Packages.io.anuke.mindustry.game.Saves +const SaveSlot = Packages.io.anuke.mindustry.game.Saves.SaveSlot const Schematic = Packages.io.anuke.mindustry.game.Schematic +const Stile = Packages.io.anuke.mindustry.game.Schematic.Stile const Schematics = Packages.io.anuke.mindustry.game.Schematics const SoundLoop = Packages.io.anuke.mindustry.game.SoundLoop const SpawnGroup = Packages.io.anuke.mindustry.game.SpawnGroup const Stats = Packages.io.anuke.mindustry.game.Stats +const Rank = Packages.io.anuke.mindustry.game.Stats.Rank +const RankResult = Packages.io.anuke.mindustry.game.Stats.RankResult const Team = Packages.io.anuke.mindustry.game.Team const Teams = Packages.io.anuke.mindustry.game.Teams +const BrokenBlock = Packages.io.anuke.mindustry.game.Teams.BrokenBlock +const TeamData = Packages.io.anuke.mindustry.game.Teams.TeamData const Tutorial = Packages.io.anuke.mindustry.game.Tutorial +const TutorialStage = Packages.io.anuke.mindustry.game.Tutorial.TutorialStage const BlockRenderer = Packages.io.anuke.mindustry.graphics.BlockRenderer const Bloom = Packages.io.anuke.mindustry.graphics.Bloom const CacheLayer = Packages.io.anuke.mindustry.graphics.CacheLayer @@ -179,6 +263,7 @@ const LightRenderer = Packages.io.anuke.mindustry.graphics.LightRenderer const MenuRenderer = Packages.io.anuke.mindustry.graphics.MenuRenderer const MinimapRenderer = Packages.io.anuke.mindustry.graphics.MinimapRenderer const MultiPacker = Packages.io.anuke.mindustry.graphics.MultiPacker +const PageType = Packages.io.anuke.mindustry.graphics.MultiPacker.PageType const OverlayRenderer = Packages.io.anuke.mindustry.graphics.OverlayRenderer const Pal = Packages.io.anuke.mindustry.graphics.Pal const Pixelator = Packages.io.anuke.mindustry.graphics.Pixelator @@ -186,16 +271,27 @@ const Shaders = Packages.io.anuke.mindustry.graphics.Shaders const Binding = Packages.io.anuke.mindustry.input.Binding const DesktopInput = Packages.io.anuke.mindustry.input.DesktopInput const InputHandler = Packages.io.anuke.mindustry.input.InputHandler +const PlaceLine = Packages.io.anuke.mindustry.input.InputHandler.PlaceLine const MobileInput = Packages.io.anuke.mindustry.input.MobileInput const PlaceMode = Packages.io.anuke.mindustry.input.PlaceMode const Placement = Packages.io.anuke.mindustry.input.Placement +const DistanceHeuristic = Packages.io.anuke.mindustry.input.Placement.DistanceHeuristic +const NormalizeDrawResult = Packages.io.anuke.mindustry.input.Placement.NormalizeDrawResult +const NormalizeResult = Packages.io.anuke.mindustry.input.Placement.NormalizeResult +const TileHueristic = Packages.io.anuke.mindustry.input.Placement.TileHueristic const Map = Packages.io.anuke.mindustry.maps.Map const Maps = Packages.io.anuke.mindustry.maps.Maps +const MapProvider = Packages.io.anuke.mindustry.maps.Maps.MapProvider +const ShuffleMode = Packages.io.anuke.mindustry.maps.Maps.ShuffleMode const BlendFilter = Packages.io.anuke.mindustry.maps.filters.BlendFilter const ClearFilter = Packages.io.anuke.mindustry.maps.filters.ClearFilter const DistortFilter = Packages.io.anuke.mindustry.maps.filters.DistortFilter const FilterOption = Packages.io.anuke.mindustry.maps.filters.FilterOption +const BlockOption = Packages.io.anuke.mindustry.maps.filters.FilterOption.BlockOption +const SliderOption = Packages.io.anuke.mindustry.maps.filters.FilterOption.SliderOption const GenerateFilter = Packages.io.anuke.mindustry.maps.filters.GenerateFilter +const GenerateInput = Packages.io.anuke.mindustry.maps.filters.GenerateFilter.GenerateInput +const TileProvider = Packages.io.anuke.mindustry.maps.filters.GenerateFilter.GenerateInput.TileProvider const MedianFilter = Packages.io.anuke.mindustry.maps.filters.MedianFilter const MirrorFilter = Packages.io.anuke.mindustry.maps.filters.MirrorFilter const NoiseFilter = Packages.io.anuke.mindustry.maps.filters.NoiseFilter @@ -207,6 +303,7 @@ const TerrainFilter = Packages.io.anuke.mindustry.maps.filters.TerrainFilter const BasicGenerator = Packages.io.anuke.mindustry.maps.generators.BasicGenerator const Generator = Packages.io.anuke.mindustry.maps.generators.Generator const MapGenerator = Packages.io.anuke.mindustry.maps.generators.MapGenerator +const Decoration = Packages.io.anuke.mindustry.maps.generators.MapGenerator.Decoration const RandomGenerator = Packages.io.anuke.mindustry.maps.generators.RandomGenerator const DesertWastesGenerator = Packages.io.anuke.mindustry.maps.zonegen.DesertWastesGenerator const OvergrowthGenerator = Packages.io.anuke.mindustry.maps.zonegen.OvergrowthGenerator @@ -220,6 +317,7 @@ const LiquidStack = Packages.io.anuke.mindustry.type.LiquidStack const Mech = Packages.io.anuke.mindustry.type.Mech const Publishable = Packages.io.anuke.mindustry.type.Publishable const StatusEffect = Packages.io.anuke.mindustry.type.StatusEffect +const TransitionHandler = Packages.io.anuke.mindustry.type.StatusEffect.TransitionHandler const TypeID = Packages.io.anuke.mindustry.type.TypeID const UnitType = Packages.io.anuke.mindustry.type.UnitType const Weapon = Packages.io.anuke.mindustry.type.Weapon @@ -231,7 +329,13 @@ const Fonts = Packages.io.anuke.mindustry.ui.Fonts const IconSize = Packages.io.anuke.mindustry.ui.IconSize const IntFormat = Packages.io.anuke.mindustry.ui.IntFormat const Links = Packages.io.anuke.mindustry.ui.Links +const LinkEntry = Packages.io.anuke.mindustry.ui.Links.LinkEntry const Styles = Packages.io.anuke.mindustry.ui.Styles +const ZoneNode = Packages.io.anuke.mindustry.ui.dialogs.DeployDialog.ZoneNode +const FileHistory = Packages.io.anuke.mindustry.ui.dialogs.FileChooser.FileHistory +const Server = Packages.io.anuke.mindustry.ui.dialogs.JoinDialog.Server +const LayoutNode = Packages.io.anuke.mindustry.ui.dialogs.TechTreeDialog.LayoutNode +const TechTreeNode = Packages.io.anuke.mindustry.ui.dialogs.TechTreeDialog.TechTreeNode const BlockConfigFragment = Packages.io.anuke.mindustry.ui.fragments.BlockConfigFragment const BlockInventoryFragment = Packages.io.anuke.mindustry.ui.fragments.BlockInventoryFragment const FadeInFragment = Packages.io.anuke.mindustry.ui.fragments.FadeInFragment @@ -243,24 +347,31 @@ const OverlayFragment = Packages.io.anuke.mindustry.ui.fragments.OverlayFragment const PlacementFragment = Packages.io.anuke.mindustry.ui.fragments.PlacementFragment const PlayerListFragment = Packages.io.anuke.mindustry.ui.fragments.PlayerListFragment const BranchTreeLayout = Packages.io.anuke.mindustry.ui.layout.BranchTreeLayout +const TreeAlignment = Packages.io.anuke.mindustry.ui.layout.BranchTreeLayout.TreeAlignment +const TreeLocation = Packages.io.anuke.mindustry.ui.layout.BranchTreeLayout.TreeLocation const RadialTreeLayout = Packages.io.anuke.mindustry.ui.layout.RadialTreeLayout const TreeLayout = Packages.io.anuke.mindustry.ui.layout.TreeLayout +const TreeNode = Packages.io.anuke.mindustry.ui.layout.TreeLayout.TreeNode const Block = Packages.io.anuke.mindustry.world.Block const BlockStorage = Packages.io.anuke.mindustry.world.BlockStorage const Build = Packages.io.anuke.mindustry.world.Build const CachedTile = Packages.io.anuke.mindustry.world.CachedTile const DirectionalItemBuffer = Packages.io.anuke.mindustry.world.DirectionalItemBuffer +const BufferItemStruct = Packages.io.anuke.mindustry.world.DirectionalItemBuffer.BufferItemStruct const Edges = Packages.io.anuke.mindustry.world.Edges const ItemBuffer = Packages.io.anuke.mindustry.world.ItemBuffer const LegacyColorMapper = Packages.io.anuke.mindustry.world.LegacyColorMapper +const LegacyBlock = Packages.io.anuke.mindustry.world.LegacyColorMapper.LegacyBlock const Pos = Packages.io.anuke.mindustry.world.Pos const StaticTree = Packages.io.anuke.mindustry.world.StaticTree const Tile = Packages.io.anuke.mindustry.world.Tile const WorldContext = Packages.io.anuke.mindustry.world.WorldContext const Attributes = Packages.io.anuke.mindustry.world.blocks.Attributes const Autotiler = Packages.io.anuke.mindustry.world.blocks.Autotiler +const AutotilerHolder = Packages.io.anuke.mindustry.world.blocks.Autotiler.AutotilerHolder const BlockPart = Packages.io.anuke.mindustry.world.blocks.BlockPart const BuildBlock = Packages.io.anuke.mindustry.world.blocks.BuildBlock +const BuildEntity = Packages.io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity const DoubleOverlayFloor = Packages.io.anuke.mindustry.world.blocks.DoubleOverlayFloor const Floor = Packages.io.anuke.mindustry.world.blocks.Floor const ItemSelection = Packages.io.anuke.mindustry.world.blocks.ItemSelection @@ -273,35 +384,58 @@ const Rock = Packages.io.anuke.mindustry.world.blocks.Rock const StaticWall = Packages.io.anuke.mindustry.world.blocks.StaticWall const TreeBlock = Packages.io.anuke.mindustry.world.blocks.TreeBlock const DeflectorWall = Packages.io.anuke.mindustry.world.blocks.defense.DeflectorWall +const DeflectorEntity = Packages.io.anuke.mindustry.world.blocks.defense.DeflectorWall.DeflectorEntity const Door = Packages.io.anuke.mindustry.world.blocks.defense.Door +const DoorEntity = Packages.io.anuke.mindustry.world.blocks.defense.Door.DoorEntity const ForceProjector = Packages.io.anuke.mindustry.world.blocks.defense.ForceProjector +const ForceEntity = Packages.io.anuke.mindustry.world.blocks.defense.ForceProjector.ForceEntity +const ShieldEntity = Packages.io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity const MendProjector = Packages.io.anuke.mindustry.world.blocks.defense.MendProjector +const MendEntity = Packages.io.anuke.mindustry.world.blocks.defense.MendProjector.MendEntity const OverdriveProjector = Packages.io.anuke.mindustry.world.blocks.defense.OverdriveProjector +const OverdriveEntity = Packages.io.anuke.mindustry.world.blocks.defense.OverdriveProjector.OverdriveEntity const ShockMine = Packages.io.anuke.mindustry.world.blocks.defense.ShockMine const SurgeWall = Packages.io.anuke.mindustry.world.blocks.defense.SurgeWall const Wall = Packages.io.anuke.mindustry.world.blocks.defense.Wall const ArtilleryTurret = Packages.io.anuke.mindustry.world.blocks.defense.turrets.ArtilleryTurret const BurstTurret = Packages.io.anuke.mindustry.world.blocks.defense.turrets.BurstTurret const ChargeTurret = Packages.io.anuke.mindustry.world.blocks.defense.turrets.ChargeTurret +const LaserTurretEntity = Packages.io.anuke.mindustry.world.blocks.defense.turrets.ChargeTurret.LaserTurretEntity const CooledTurret = Packages.io.anuke.mindustry.world.blocks.defense.turrets.CooledTurret const DoubleTurret = Packages.io.anuke.mindustry.world.blocks.defense.turrets.DoubleTurret const ItemTurret = Packages.io.anuke.mindustry.world.blocks.defense.turrets.ItemTurret +const ItemEntry = Packages.io.anuke.mindustry.world.blocks.defense.turrets.ItemTurret.ItemEntry +const ItemTurretEntity = Packages.io.anuke.mindustry.world.blocks.defense.turrets.ItemTurret.ItemTurretEntity const LaserTurret = Packages.io.anuke.mindustry.world.blocks.defense.turrets.LaserTurret const LiquidTurret = Packages.io.anuke.mindustry.world.blocks.defense.turrets.LiquidTurret const PowerTurret = Packages.io.anuke.mindustry.world.blocks.defense.turrets.PowerTurret const Turret = Packages.io.anuke.mindustry.world.blocks.defense.turrets.Turret +const AmmoEntry = Packages.io.anuke.mindustry.world.blocks.defense.turrets.Turret.AmmoEntry +const TurretEntity = Packages.io.anuke.mindustry.world.blocks.defense.turrets.Turret.TurretEntity const ArmoredConveyor = Packages.io.anuke.mindustry.world.blocks.distribution.ArmoredConveyor const BufferedItemBridge = Packages.io.anuke.mindustry.world.blocks.distribution.BufferedItemBridge +const BufferedItemBridgeEntity = Packages.io.anuke.mindustry.world.blocks.distribution.BufferedItemBridge.BufferedItemBridgeEntity const Conveyor = Packages.io.anuke.mindustry.world.blocks.distribution.Conveyor +const ConveyorEntity = Packages.io.anuke.mindustry.world.blocks.distribution.Conveyor.ConveyorEntity +const ItemPos = Packages.io.anuke.mindustry.world.blocks.distribution.Conveyor.ItemPos const ExtendingItemBridge = Packages.io.anuke.mindustry.world.blocks.distribution.ExtendingItemBridge const ItemBridge = Packages.io.anuke.mindustry.world.blocks.distribution.ItemBridge +const ItemBridgeEntity = Packages.io.anuke.mindustry.world.blocks.distribution.ItemBridge.ItemBridgeEntity const Junction = Packages.io.anuke.mindustry.world.blocks.distribution.Junction +const JunctionEntity = Packages.io.anuke.mindustry.world.blocks.distribution.Junction.JunctionEntity const MassDriver = Packages.io.anuke.mindustry.world.blocks.distribution.MassDriver +const DriverBulletData = Packages.io.anuke.mindustry.world.blocks.distribution.MassDriver.DriverBulletData +const DriverState = Packages.io.anuke.mindustry.world.blocks.distribution.MassDriver.DriverState +const MassDriverEntity = Packages.io.anuke.mindustry.world.blocks.distribution.MassDriver.MassDriverEntity const OverflowGate = Packages.io.anuke.mindustry.world.blocks.distribution.OverflowGate +const OverflowGateEntity = Packages.io.anuke.mindustry.world.blocks.distribution.OverflowGate.OverflowGateEntity const Router = Packages.io.anuke.mindustry.world.blocks.distribution.Router +const RouterEntity = Packages.io.anuke.mindustry.world.blocks.distribution.Router.RouterEntity const Sorter = Packages.io.anuke.mindustry.world.blocks.distribution.Sorter +const SorterEntity = Packages.io.anuke.mindustry.world.blocks.distribution.Sorter.SorterEntity const ArmoredConduit = Packages.io.anuke.mindustry.world.blocks.liquid.ArmoredConduit const Conduit = Packages.io.anuke.mindustry.world.blocks.liquid.Conduit +const ConduitEntity = Packages.io.anuke.mindustry.world.blocks.liquid.Conduit.ConduitEntity const LiquidBridge = Packages.io.anuke.mindustry.world.blocks.liquid.LiquidBridge const LiquidExtendingBridge = Packages.io.anuke.mindustry.world.blocks.liquid.LiquidExtendingBridge const LiquidJunction = Packages.io.anuke.mindustry.world.blocks.liquid.LiquidJunction @@ -310,47 +444,68 @@ const LiquidRouter = Packages.io.anuke.mindustry.world.blocks.liquid.LiquidRoute const LiquidTank = Packages.io.anuke.mindustry.world.blocks.liquid.LiquidTank const LogicBlock = Packages.io.anuke.mindustry.world.blocks.logic.LogicBlock const MessageBlock = Packages.io.anuke.mindustry.world.blocks.logic.MessageBlock +const MessageBlockEntity = Packages.io.anuke.mindustry.world.blocks.logic.MessageBlock.MessageBlockEntity const Battery = Packages.io.anuke.mindustry.world.blocks.power.Battery const BurnerGenerator = Packages.io.anuke.mindustry.world.blocks.power.BurnerGenerator const ConditionalConsumePower = Packages.io.anuke.mindustry.world.blocks.power.ConditionalConsumePower const DecayGenerator = Packages.io.anuke.mindustry.world.blocks.power.DecayGenerator const ImpactReactor = Packages.io.anuke.mindustry.world.blocks.power.ImpactReactor +const FusionReactorEntity = Packages.io.anuke.mindustry.world.blocks.power.ImpactReactor.FusionReactorEntity const ItemLiquidGenerator = Packages.io.anuke.mindustry.world.blocks.power.ItemLiquidGenerator +const ItemLiquidGeneratorEntity = Packages.io.anuke.mindustry.world.blocks.power.ItemLiquidGenerator.ItemLiquidGeneratorEntity const LightBlock = Packages.io.anuke.mindustry.world.blocks.power.LightBlock +const LightEntity = Packages.io.anuke.mindustry.world.blocks.power.LightBlock.LightEntity const NuclearReactor = Packages.io.anuke.mindustry.world.blocks.power.NuclearReactor +const NuclearReactorEntity = Packages.io.anuke.mindustry.world.blocks.power.NuclearReactor.NuclearReactorEntity const PowerDiode = Packages.io.anuke.mindustry.world.blocks.power.PowerDiode const PowerDistributor = Packages.io.anuke.mindustry.world.blocks.power.PowerDistributor const PowerGenerator = Packages.io.anuke.mindustry.world.blocks.power.PowerGenerator +const GeneratorEntity = Packages.io.anuke.mindustry.world.blocks.power.PowerGenerator.GeneratorEntity const PowerGraph = Packages.io.anuke.mindustry.world.blocks.power.PowerGraph const PowerNode = Packages.io.anuke.mindustry.world.blocks.power.PowerNode const SingleTypeGenerator = Packages.io.anuke.mindustry.world.blocks.power.SingleTypeGenerator const SolarGenerator = Packages.io.anuke.mindustry.world.blocks.power.SolarGenerator const ThermalGenerator = Packages.io.anuke.mindustry.world.blocks.power.ThermalGenerator const Cultivator = Packages.io.anuke.mindustry.world.blocks.production.Cultivator +const CultivatorEntity = Packages.io.anuke.mindustry.world.blocks.production.Cultivator.CultivatorEntity const Drill = Packages.io.anuke.mindustry.world.blocks.production.Drill +const DrillEntity = Packages.io.anuke.mindustry.world.blocks.production.Drill.DrillEntity const Fracker = Packages.io.anuke.mindustry.world.blocks.production.Fracker +const FrackerEntity = Packages.io.anuke.mindustry.world.blocks.production.Fracker.FrackerEntity const GenericCrafter = Packages.io.anuke.mindustry.world.blocks.production.GenericCrafter +const GenericCrafterEntity = Packages.io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterEntity const GenericSmelter = Packages.io.anuke.mindustry.world.blocks.production.GenericSmelter const Incinerator = Packages.io.anuke.mindustry.world.blocks.production.Incinerator +const IncineratorEntity = Packages.io.anuke.mindustry.world.blocks.production.Incinerator.IncineratorEntity const LiquidConverter = Packages.io.anuke.mindustry.world.blocks.production.LiquidConverter const Pump = Packages.io.anuke.mindustry.world.blocks.production.Pump const Separator = Packages.io.anuke.mindustry.world.blocks.production.Separator const SolidPump = Packages.io.anuke.mindustry.world.blocks.production.SolidPump +const SolidPumpEntity = Packages.io.anuke.mindustry.world.blocks.production.SolidPump.SolidPumpEntity const ItemSource = Packages.io.anuke.mindustry.world.blocks.sandbox.ItemSource +const ItemSourceEntity = Packages.io.anuke.mindustry.world.blocks.sandbox.ItemSource.ItemSourceEntity const ItemVoid = Packages.io.anuke.mindustry.world.blocks.sandbox.ItemVoid const LiquidSource = Packages.io.anuke.mindustry.world.blocks.sandbox.LiquidSource +const LiquidSourceEntity = Packages.io.anuke.mindustry.world.blocks.sandbox.LiquidSource.LiquidSourceEntity const PowerSource = Packages.io.anuke.mindustry.world.blocks.sandbox.PowerSource const PowerVoid = Packages.io.anuke.mindustry.world.blocks.sandbox.PowerVoid const CoreBlock = Packages.io.anuke.mindustry.world.blocks.storage.CoreBlock +const CoreEntity = Packages.io.anuke.mindustry.world.blocks.storage.CoreBlock.CoreEntity const LaunchPad = Packages.io.anuke.mindustry.world.blocks.storage.LaunchPad const StorageBlock = Packages.io.anuke.mindustry.world.blocks.storage.StorageBlock +const StorageBlockEntity = Packages.io.anuke.mindustry.world.blocks.storage.StorageBlock.StorageBlockEntity const Unloader = Packages.io.anuke.mindustry.world.blocks.storage.Unloader +const UnloaderEntity = Packages.io.anuke.mindustry.world.blocks.storage.Unloader.UnloaderEntity const Vault = Packages.io.anuke.mindustry.world.blocks.storage.Vault const CommandCenter = Packages.io.anuke.mindustry.world.blocks.units.CommandCenter +const CommandCenterEntity = Packages.io.anuke.mindustry.world.blocks.units.CommandCenter.CommandCenterEntity const MechPad = Packages.io.anuke.mindustry.world.blocks.units.MechPad +const MechFactoryEntity = Packages.io.anuke.mindustry.world.blocks.units.MechPad.MechFactoryEntity const RallyPoint = Packages.io.anuke.mindustry.world.blocks.units.RallyPoint const RepairPoint = Packages.io.anuke.mindustry.world.blocks.units.RepairPoint +const RepairPointEntity = Packages.io.anuke.mindustry.world.blocks.units.RepairPoint.RepairPointEntity const UnitFactory = Packages.io.anuke.mindustry.world.blocks.units.UnitFactory +const UnitFactoryEntity = Packages.io.anuke.mindustry.world.blocks.units.UnitFactory.UnitFactoryEntity const Consume = Packages.io.anuke.mindustry.world.consumers.Consume const ConsumeItemFilter = Packages.io.anuke.mindustry.world.consumers.ConsumeItemFilter const ConsumeItems = Packages.io.anuke.mindustry.world.consumers.ConsumeItems @@ -384,7 +539,11 @@ const StringValue = Packages.io.anuke.mindustry.world.meta.values.StringValue const BlockModule = Packages.io.anuke.mindustry.world.modules.BlockModule const ConsumeModule = Packages.io.anuke.mindustry.world.modules.ConsumeModule const ItemModule = Packages.io.anuke.mindustry.world.modules.ItemModule +const ItemCalculator = Packages.io.anuke.mindustry.world.modules.ItemModule.ItemCalculator +const ItemConsumer = Packages.io.anuke.mindustry.world.modules.ItemModule.ItemConsumer const LiquidModule = Packages.io.anuke.mindustry.world.modules.LiquidModule +const LiquidCalculator = Packages.io.anuke.mindustry.world.modules.LiquidModule.LiquidCalculator +const LiquidConsumer = Packages.io.anuke.mindustry.world.modules.LiquidModule.LiquidConsumer const PowerModule = Packages.io.anuke.mindustry.world.modules.PowerModule const Produce = Packages.io.anuke.mindustry.world.producers.Produce const ProduceItem = Packages.io.anuke.mindustry.world.producers.ProduceItem diff --git a/core/src/io/anuke/mindustry/mod/ClassAccess.java b/core/src/io/anuke/mindustry/mod/ClassAccess.java index 2dec3d6759..562bcd6b8f 100644 --- a/core/src/io/anuke/mindustry/mod/ClassAccess.java +++ b/core/src/io/anuke/mindustry/mod/ClassAccess.java @@ -3,5 +3,5 @@ package io.anuke.mindustry.mod; import io.anuke.arc.collection.*; //obviously autogenerated, do not touch public class ClassAccess{ - public static final ObjectSet allowedClassNames = ObjectSet.with("io.anuke.arc.Core", "io.anuke.arc.func.Boolc", "io.anuke.arc.func.Boolf", "io.anuke.arc.func.Boolf2", "io.anuke.arc.func.Boolp", "io.anuke.arc.func.Cons", "io.anuke.arc.func.Cons2", "io.anuke.arc.func.Floatc", "io.anuke.arc.func.Floatc2", "io.anuke.arc.func.Floatc4", "io.anuke.arc.func.Floatf", "io.anuke.arc.func.Floatp", "io.anuke.arc.func.Func", "io.anuke.arc.func.Func2", "io.anuke.arc.func.Func3", "io.anuke.arc.func.Intc", "io.anuke.arc.func.Intc2", "io.anuke.arc.func.Intc4", "io.anuke.arc.func.Intf", "io.anuke.arc.func.Intp", "io.anuke.arc.func.Prov", "io.anuke.arc.graphics.g2d.Draw", "io.anuke.arc.graphics.g2d.TextureAtlas", "io.anuke.arc.graphics.g2d.TextureRegion", "io.anuke.arc.util.Time", "io.anuke.mindustry.Vars", "io.anuke.mindustry.ai.BlockIndexer", "io.anuke.mindustry.ai.Pathfinder", "io.anuke.mindustry.ai.WaveSpawner", "io.anuke.mindustry.content.Blocks", "io.anuke.mindustry.content.Bullets", "io.anuke.mindustry.content.Fx", "io.anuke.mindustry.content.Items", "io.anuke.mindustry.content.Liquids", "io.anuke.mindustry.content.Loadouts", "io.anuke.mindustry.content.Mechs", "io.anuke.mindustry.content.StatusEffects", "io.anuke.mindustry.content.TechTree", "io.anuke.mindustry.content.TypeIDs", "io.anuke.mindustry.content.UnitTypes", "io.anuke.mindustry.content.Zones", "io.anuke.mindustry.core.ContentLoader", "io.anuke.mindustry.core.Control", "io.anuke.mindustry.core.FileTree", "io.anuke.mindustry.core.GameState", "io.anuke.mindustry.core.Logic", "io.anuke.mindustry.core.Platform", "io.anuke.mindustry.core.Renderer", "io.anuke.mindustry.core.UI", "io.anuke.mindustry.core.Version", "io.anuke.mindustry.core.World", "io.anuke.mindustry.ctype.Content", "io.anuke.mindustry.ctype.ContentList", "io.anuke.mindustry.ctype.MappableContent", "io.anuke.mindustry.ctype.UnlockableContent", "io.anuke.mindustry.editor.DrawOperation", "io.anuke.mindustry.editor.EditorTile", "io.anuke.mindustry.editor.EditorTool", "io.anuke.mindustry.editor.MapEditor", "io.anuke.mindustry.editor.MapRenderer", "io.anuke.mindustry.editor.OperationStack", "io.anuke.mindustry.entities.Damage", "io.anuke.mindustry.entities.Effects", "io.anuke.mindustry.entities.Entities", "io.anuke.mindustry.entities.EntityCollisions", "io.anuke.mindustry.entities.EntityGroup", "io.anuke.mindustry.entities.Predict", "io.anuke.mindustry.entities.TargetPriority", "io.anuke.mindustry.entities.Units", "io.anuke.mindustry.entities.bullet.ArtilleryBulletType", "io.anuke.mindustry.entities.bullet.BasicBulletType", "io.anuke.mindustry.entities.bullet.BombBulletType", "io.anuke.mindustry.entities.bullet.BulletType", "io.anuke.mindustry.entities.bullet.FlakBulletType", "io.anuke.mindustry.entities.bullet.HealBulletType", "io.anuke.mindustry.entities.bullet.LiquidBulletType", "io.anuke.mindustry.entities.bullet.MassDriverBolt", "io.anuke.mindustry.entities.bullet.MissileBulletType", "io.anuke.mindustry.entities.effect.Decal", "io.anuke.mindustry.entities.effect.Fire", "io.anuke.mindustry.entities.effect.GroundEffectEntity", "io.anuke.mindustry.entities.effect.ItemTransfer", "io.anuke.mindustry.entities.effect.Lightning", "io.anuke.mindustry.entities.effect.Puddle", "io.anuke.mindustry.entities.effect.RubbleDecal", "io.anuke.mindustry.entities.effect.ScorchDecal", "io.anuke.mindustry.entities.traits.AbsorbTrait", "io.anuke.mindustry.entities.traits.BelowLiquidTrait", "io.anuke.mindustry.entities.traits.BuilderMinerTrait", "io.anuke.mindustry.entities.traits.BuilderTrait", "io.anuke.mindustry.entities.traits.DamageTrait", "io.anuke.mindustry.entities.traits.DrawTrait", "io.anuke.mindustry.entities.traits.Entity", "io.anuke.mindustry.entities.traits.HealthTrait", "io.anuke.mindustry.entities.traits.KillerTrait", "io.anuke.mindustry.entities.traits.MinerTrait", "io.anuke.mindustry.entities.traits.MoveTrait", "io.anuke.mindustry.entities.traits.SaveTrait", "io.anuke.mindustry.entities.traits.Saveable", "io.anuke.mindustry.entities.traits.ScaleTrait", "io.anuke.mindustry.entities.traits.ShooterTrait", "io.anuke.mindustry.entities.traits.SolidTrait", "io.anuke.mindustry.entities.traits.SpawnerTrait", "io.anuke.mindustry.entities.traits.SyncTrait", "io.anuke.mindustry.entities.traits.TargetTrait", "io.anuke.mindustry.entities.traits.TeamTrait", "io.anuke.mindustry.entities.traits.TimeTrait", "io.anuke.mindustry.entities.traits.TypeTrait", "io.anuke.mindustry.entities.traits.VelocityTrait", "io.anuke.mindustry.entities.type.BaseEntity", "io.anuke.mindustry.entities.type.BaseUnit", "io.anuke.mindustry.entities.type.Bullet", "io.anuke.mindustry.entities.type.DestructibleEntity", "io.anuke.mindustry.entities.type.EffectEntity", "io.anuke.mindustry.entities.type.Player", "io.anuke.mindustry.entities.type.SolidEntity", "io.anuke.mindustry.entities.type.TileEntity", "io.anuke.mindustry.entities.type.TimedEntity", "io.anuke.mindustry.entities.type.Unit", "io.anuke.mindustry.entities.type.base.BaseDrone", "io.anuke.mindustry.entities.type.base.BuilderDrone", "io.anuke.mindustry.entities.type.base.Crawler", "io.anuke.mindustry.entities.type.base.Dagger", "io.anuke.mindustry.entities.type.base.Draug", "io.anuke.mindustry.entities.type.base.Eruptor", "io.anuke.mindustry.entities.type.base.FlyingUnit", "io.anuke.mindustry.entities.type.base.Fortress", "io.anuke.mindustry.entities.type.base.Ghoul", "io.anuke.mindustry.entities.type.base.GroundUnit", "io.anuke.mindustry.entities.type.base.MinerDrone", "io.anuke.mindustry.entities.type.base.Phantom", "io.anuke.mindustry.entities.type.base.RepairDrone", "io.anuke.mindustry.entities.type.base.Revenant", "io.anuke.mindustry.entities.type.base.Spirit", "io.anuke.mindustry.entities.type.base.Titan", "io.anuke.mindustry.entities.type.base.Wraith", "io.anuke.mindustry.entities.units.StateMachine", "io.anuke.mindustry.entities.units.Statuses", "io.anuke.mindustry.entities.units.UnitCommand", "io.anuke.mindustry.entities.units.UnitDrops", "io.anuke.mindustry.entities.units.UnitState", "io.anuke.mindustry.game.DefaultWaves", "io.anuke.mindustry.game.Difficulty", "io.anuke.mindustry.game.EventType", "io.anuke.mindustry.game.Gamemode", "io.anuke.mindustry.game.GlobalData", "io.anuke.mindustry.game.LoopControl", "io.anuke.mindustry.game.MusicControl", "io.anuke.mindustry.game.Objective", "io.anuke.mindustry.game.Objectives", "io.anuke.mindustry.game.Rules", "io.anuke.mindustry.game.Saves", "io.anuke.mindustry.game.Schematic", "io.anuke.mindustry.game.Schematics", "io.anuke.mindustry.game.SoundLoop", "io.anuke.mindustry.game.SpawnGroup", "io.anuke.mindustry.game.Stats", "io.anuke.mindustry.game.Team", "io.anuke.mindustry.game.Teams", "io.anuke.mindustry.game.Tutorial", "io.anuke.mindustry.graphics.BlockRenderer", "io.anuke.mindustry.graphics.Bloom", "io.anuke.mindustry.graphics.CacheLayer", "io.anuke.mindustry.graphics.Drawf", "io.anuke.mindustry.graphics.FloorRenderer", "io.anuke.mindustry.graphics.IndexedRenderer", "io.anuke.mindustry.graphics.Layer", "io.anuke.mindustry.graphics.LightRenderer", "io.anuke.mindustry.graphics.MenuRenderer", "io.anuke.mindustry.graphics.MinimapRenderer", "io.anuke.mindustry.graphics.MultiPacker", "io.anuke.mindustry.graphics.OverlayRenderer", "io.anuke.mindustry.graphics.Pal", "io.anuke.mindustry.graphics.Pixelator", "io.anuke.mindustry.graphics.Shaders", "io.anuke.mindustry.input.Binding", "io.anuke.mindustry.input.DesktopInput", "io.anuke.mindustry.input.InputHandler", "io.anuke.mindustry.input.MobileInput", "io.anuke.mindustry.input.PlaceMode", "io.anuke.mindustry.input.Placement", "io.anuke.mindustry.maps.Map", "io.anuke.mindustry.maps.Maps", "io.anuke.mindustry.maps.filters.BlendFilter", "io.anuke.mindustry.maps.filters.ClearFilter", "io.anuke.mindustry.maps.filters.DistortFilter", "io.anuke.mindustry.maps.filters.FilterOption", "io.anuke.mindustry.maps.filters.GenerateFilter", "io.anuke.mindustry.maps.filters.MedianFilter", "io.anuke.mindustry.maps.filters.MirrorFilter", "io.anuke.mindustry.maps.filters.NoiseFilter", "io.anuke.mindustry.maps.filters.OreFilter", "io.anuke.mindustry.maps.filters.OreMedianFilter", "io.anuke.mindustry.maps.filters.RiverNoiseFilter", "io.anuke.mindustry.maps.filters.ScatterFilter", "io.anuke.mindustry.maps.filters.TerrainFilter", "io.anuke.mindustry.maps.generators.BasicGenerator", "io.anuke.mindustry.maps.generators.Generator", "io.anuke.mindustry.maps.generators.MapGenerator", "io.anuke.mindustry.maps.generators.RandomGenerator", "io.anuke.mindustry.maps.zonegen.DesertWastesGenerator", "io.anuke.mindustry.maps.zonegen.OvergrowthGenerator", "io.anuke.mindustry.type.Category", "io.anuke.mindustry.type.ContentType", "io.anuke.mindustry.type.Item", "io.anuke.mindustry.type.ItemStack", "io.anuke.mindustry.type.ItemType", "io.anuke.mindustry.type.Liquid", "io.anuke.mindustry.type.LiquidStack", "io.anuke.mindustry.type.Mech", "io.anuke.mindustry.type.Publishable", "io.anuke.mindustry.type.StatusEffect", "io.anuke.mindustry.type.TypeID", "io.anuke.mindustry.type.UnitType", "io.anuke.mindustry.type.Weapon", "io.anuke.mindustry.type.WeatherEvent", "io.anuke.mindustry.type.Zone", "io.anuke.mindustry.ui.Cicon", "io.anuke.mindustry.ui.ContentDisplay", "io.anuke.mindustry.ui.Fonts", "io.anuke.mindustry.ui.IconSize", "io.anuke.mindustry.ui.IntFormat", "io.anuke.mindustry.ui.Links", "io.anuke.mindustry.ui.Styles", "io.anuke.mindustry.ui.fragments.BlockConfigFragment", "io.anuke.mindustry.ui.fragments.BlockInventoryFragment", "io.anuke.mindustry.ui.fragments.FadeInFragment", "io.anuke.mindustry.ui.fragments.Fragment", "io.anuke.mindustry.ui.fragments.HudFragment", "io.anuke.mindustry.ui.fragments.LoadingFragment", "io.anuke.mindustry.ui.fragments.MenuFragment", "io.anuke.mindustry.ui.fragments.OverlayFragment", "io.anuke.mindustry.ui.fragments.PlacementFragment", "io.anuke.mindustry.ui.fragments.PlayerListFragment", "io.anuke.mindustry.ui.layout.BranchTreeLayout", "io.anuke.mindustry.ui.layout.RadialTreeLayout", "io.anuke.mindustry.ui.layout.TreeLayout", "io.anuke.mindustry.world.Block", "io.anuke.mindustry.world.BlockStorage", "io.anuke.mindustry.world.Build", "io.anuke.mindustry.world.CachedTile", "io.anuke.mindustry.world.DirectionalItemBuffer", "io.anuke.mindustry.world.Edges", "io.anuke.mindustry.world.ItemBuffer", "io.anuke.mindustry.world.LegacyColorMapper", "io.anuke.mindustry.world.Pos", "io.anuke.mindustry.world.StaticTree", "io.anuke.mindustry.world.Tile", "io.anuke.mindustry.world.WorldContext", "io.anuke.mindustry.world.blocks.Attributes", "io.anuke.mindustry.world.blocks.Autotiler", "io.anuke.mindustry.world.blocks.BlockPart", "io.anuke.mindustry.world.blocks.BuildBlock", "io.anuke.mindustry.world.blocks.DoubleOverlayFloor", "io.anuke.mindustry.world.blocks.Floor", "io.anuke.mindustry.world.blocks.ItemSelection", "io.anuke.mindustry.world.blocks.LiquidBlock", "io.anuke.mindustry.world.blocks.OreBlock", "io.anuke.mindustry.world.blocks.OverlayFloor", "io.anuke.mindustry.world.blocks.PowerBlock", "io.anuke.mindustry.world.blocks.RespawnBlock", "io.anuke.mindustry.world.blocks.Rock", "io.anuke.mindustry.world.blocks.StaticWall", "io.anuke.mindustry.world.blocks.TreeBlock", "io.anuke.mindustry.world.blocks.defense.DeflectorWall", "io.anuke.mindustry.world.blocks.defense.Door", "io.anuke.mindustry.world.blocks.defense.ForceProjector", "io.anuke.mindustry.world.blocks.defense.MendProjector", "io.anuke.mindustry.world.blocks.defense.OverdriveProjector", "io.anuke.mindustry.world.blocks.defense.ShockMine", "io.anuke.mindustry.world.blocks.defense.SurgeWall", "io.anuke.mindustry.world.blocks.defense.Wall", "io.anuke.mindustry.world.blocks.defense.turrets.ArtilleryTurret", "io.anuke.mindustry.world.blocks.defense.turrets.BurstTurret", "io.anuke.mindustry.world.blocks.defense.turrets.ChargeTurret", "io.anuke.mindustry.world.blocks.defense.turrets.CooledTurret", "io.anuke.mindustry.world.blocks.defense.turrets.DoubleTurret", "io.anuke.mindustry.world.blocks.defense.turrets.ItemTurret", "io.anuke.mindustry.world.blocks.defense.turrets.LaserTurret", "io.anuke.mindustry.world.blocks.defense.turrets.LiquidTurret", "io.anuke.mindustry.world.blocks.defense.turrets.PowerTurret", "io.anuke.mindustry.world.blocks.defense.turrets.Turret", "io.anuke.mindustry.world.blocks.distribution.ArmoredConveyor", "io.anuke.mindustry.world.blocks.distribution.BufferedItemBridge", "io.anuke.mindustry.world.blocks.distribution.Conveyor", "io.anuke.mindustry.world.blocks.distribution.ExtendingItemBridge", "io.anuke.mindustry.world.blocks.distribution.ItemBridge", "io.anuke.mindustry.world.blocks.distribution.Junction", "io.anuke.mindustry.world.blocks.distribution.MassDriver", "io.anuke.mindustry.world.blocks.distribution.OverflowGate", "io.anuke.mindustry.world.blocks.distribution.Router", "io.anuke.mindustry.world.blocks.distribution.Sorter", "io.anuke.mindustry.world.blocks.liquid.ArmoredConduit", "io.anuke.mindustry.world.blocks.liquid.Conduit", "io.anuke.mindustry.world.blocks.liquid.LiquidBridge", "io.anuke.mindustry.world.blocks.liquid.LiquidExtendingBridge", "io.anuke.mindustry.world.blocks.liquid.LiquidJunction", "io.anuke.mindustry.world.blocks.liquid.LiquidOverflowGate", "io.anuke.mindustry.world.blocks.liquid.LiquidRouter", "io.anuke.mindustry.world.blocks.liquid.LiquidTank", "io.anuke.mindustry.world.blocks.logic.LogicBlock", "io.anuke.mindustry.world.blocks.logic.MessageBlock", "io.anuke.mindustry.world.blocks.power.Battery", "io.anuke.mindustry.world.blocks.power.BurnerGenerator", "io.anuke.mindustry.world.blocks.power.ConditionalConsumePower", "io.anuke.mindustry.world.blocks.power.DecayGenerator", "io.anuke.mindustry.world.blocks.power.ImpactReactor", "io.anuke.mindustry.world.blocks.power.ItemLiquidGenerator", "io.anuke.mindustry.world.blocks.power.LightBlock", "io.anuke.mindustry.world.blocks.power.NuclearReactor", "io.anuke.mindustry.world.blocks.power.PowerDiode", "io.anuke.mindustry.world.blocks.power.PowerDistributor", "io.anuke.mindustry.world.blocks.power.PowerGenerator", "io.anuke.mindustry.world.blocks.power.PowerGraph", "io.anuke.mindustry.world.blocks.power.PowerNode", "io.anuke.mindustry.world.blocks.power.SingleTypeGenerator", "io.anuke.mindustry.world.blocks.power.SolarGenerator", "io.anuke.mindustry.world.blocks.power.ThermalGenerator", "io.anuke.mindustry.world.blocks.production.Cultivator", "io.anuke.mindustry.world.blocks.production.Drill", "io.anuke.mindustry.world.blocks.production.Fracker", "io.anuke.mindustry.world.blocks.production.GenericCrafter", "io.anuke.mindustry.world.blocks.production.GenericSmelter", "io.anuke.mindustry.world.blocks.production.Incinerator", "io.anuke.mindustry.world.blocks.production.LiquidConverter", "io.anuke.mindustry.world.blocks.production.Pump", "io.anuke.mindustry.world.blocks.production.Separator", "io.anuke.mindustry.world.blocks.production.SolidPump", "io.anuke.mindustry.world.blocks.sandbox.ItemSource", "io.anuke.mindustry.world.blocks.sandbox.ItemVoid", "io.anuke.mindustry.world.blocks.sandbox.LiquidSource", "io.anuke.mindustry.world.blocks.sandbox.PowerSource", "io.anuke.mindustry.world.blocks.sandbox.PowerVoid", "io.anuke.mindustry.world.blocks.storage.CoreBlock", "io.anuke.mindustry.world.blocks.storage.LaunchPad", "io.anuke.mindustry.world.blocks.storage.StorageBlock", "io.anuke.mindustry.world.blocks.storage.Unloader", "io.anuke.mindustry.world.blocks.storage.Vault", "io.anuke.mindustry.world.blocks.units.CommandCenter", "io.anuke.mindustry.world.blocks.units.MechPad", "io.anuke.mindustry.world.blocks.units.RallyPoint", "io.anuke.mindustry.world.blocks.units.RepairPoint", "io.anuke.mindustry.world.blocks.units.UnitFactory", "io.anuke.mindustry.world.consumers.Consume", "io.anuke.mindustry.world.consumers.ConsumeItemFilter", "io.anuke.mindustry.world.consumers.ConsumeItems", "io.anuke.mindustry.world.consumers.ConsumeLiquid", "io.anuke.mindustry.world.consumers.ConsumeLiquidBase", "io.anuke.mindustry.world.consumers.ConsumeLiquidFilter", "io.anuke.mindustry.world.consumers.ConsumePower", "io.anuke.mindustry.world.consumers.ConsumeType", "io.anuke.mindustry.world.consumers.Consumers", "io.anuke.mindustry.world.meta.Attribute", "io.anuke.mindustry.world.meta.BlockBars", "io.anuke.mindustry.world.meta.BlockFlag", "io.anuke.mindustry.world.meta.BlockGroup", "io.anuke.mindustry.world.meta.BlockStat", "io.anuke.mindustry.world.meta.BlockStats", "io.anuke.mindustry.world.meta.BuildVisibility", "io.anuke.mindustry.world.meta.PowerType", "io.anuke.mindustry.world.meta.Producers", "io.anuke.mindustry.world.meta.StatCategory", "io.anuke.mindustry.world.meta.StatUnit", "io.anuke.mindustry.world.meta.StatValue", "io.anuke.mindustry.world.meta.values.AmmoListValue", "io.anuke.mindustry.world.meta.values.BooleanValue", "io.anuke.mindustry.world.meta.values.BoosterListValue", "io.anuke.mindustry.world.meta.values.ItemFilterValue", "io.anuke.mindustry.world.meta.values.ItemListValue", "io.anuke.mindustry.world.meta.values.LiquidFilterValue", "io.anuke.mindustry.world.meta.values.LiquidValue", "io.anuke.mindustry.world.meta.values.NumberValue", "io.anuke.mindustry.world.meta.values.StringValue", "io.anuke.mindustry.world.modules.BlockModule", "io.anuke.mindustry.world.modules.ConsumeModule", "io.anuke.mindustry.world.modules.ItemModule", "io.anuke.mindustry.world.modules.LiquidModule", "io.anuke.mindustry.world.modules.PowerModule", "io.anuke.mindustry.world.producers.Produce", "io.anuke.mindustry.world.producers.ProduceItem", "java.io.PrintStream", "java.lang.System"); + public static final ObjectSet allowedClassNames = ObjectSet.with("io.anuke.arc.Core", "io.anuke.arc.func.Boolc", "io.anuke.arc.func.Boolf", "io.anuke.arc.func.Boolf2", "io.anuke.arc.func.Boolp", "io.anuke.arc.func.Cons", "io.anuke.arc.func.Cons2", "io.anuke.arc.func.Floatc", "io.anuke.arc.func.Floatc2", "io.anuke.arc.func.Floatc4", "io.anuke.arc.func.Floatf", "io.anuke.arc.func.Floatp", "io.anuke.arc.func.Func", "io.anuke.arc.func.Func2", "io.anuke.arc.func.Func3", "io.anuke.arc.func.Intc", "io.anuke.arc.func.Intc2", "io.anuke.arc.func.Intc4", "io.anuke.arc.func.Intf", "io.anuke.arc.func.Intp", "io.anuke.arc.func.Prov", "io.anuke.arc.graphics.g2d.Draw", "io.anuke.arc.graphics.g2d.Fill", "io.anuke.arc.graphics.g2d.Lines", "io.anuke.arc.graphics.g2d.TextureAtlas", "io.anuke.arc.graphics.g2d.TextureAtlas$AtlasRegion", "io.anuke.arc.graphics.g2d.TextureRegion", "io.anuke.arc.util.Time", "io.anuke.mindustry.Vars", "io.anuke.mindustry.ai.BlockIndexer", "io.anuke.mindustry.ai.Pathfinder", "io.anuke.mindustry.ai.Pathfinder$PathData", "io.anuke.mindustry.ai.Pathfinder$PathTarget", "io.anuke.mindustry.ai.Pathfinder$PathTileStruct", "io.anuke.mindustry.ai.WaveSpawner", "io.anuke.mindustry.content.Blocks", "io.anuke.mindustry.content.Bullets", "io.anuke.mindustry.content.Fx", "io.anuke.mindustry.content.Items", "io.anuke.mindustry.content.Liquids", "io.anuke.mindustry.content.Loadouts", "io.anuke.mindustry.content.Mechs", "io.anuke.mindustry.content.StatusEffects", "io.anuke.mindustry.content.TechTree", "io.anuke.mindustry.content.TechTree$TechNode", "io.anuke.mindustry.content.TypeIDs", "io.anuke.mindustry.content.UnitTypes", "io.anuke.mindustry.content.Zones", "io.anuke.mindustry.core.ContentLoader", "io.anuke.mindustry.core.Control", "io.anuke.mindustry.core.FileTree", "io.anuke.mindustry.core.GameState", "io.anuke.mindustry.core.GameState$State", "io.anuke.mindustry.core.Logic", "io.anuke.mindustry.core.Platform", "io.anuke.mindustry.core.Renderer", "io.anuke.mindustry.core.UI", "io.anuke.mindustry.core.Version", "io.anuke.mindustry.core.World", "io.anuke.mindustry.core.World$Raycaster", "io.anuke.mindustry.ctype.Content", "io.anuke.mindustry.ctype.ContentList", "io.anuke.mindustry.ctype.MappableContent", "io.anuke.mindustry.ctype.UnlockableContent", "io.anuke.mindustry.editor.DrawOperation", "io.anuke.mindustry.editor.DrawOperation$OpType", "io.anuke.mindustry.editor.DrawOperation$TileOpStruct", "io.anuke.mindustry.editor.EditorTile", "io.anuke.mindustry.editor.EditorTool", "io.anuke.mindustry.editor.MapEditor", "io.anuke.mindustry.editor.MapEditor$Context", "io.anuke.mindustry.editor.MapRenderer", "io.anuke.mindustry.editor.OperationStack", "io.anuke.mindustry.entities.Damage", "io.anuke.mindustry.entities.Damage$PropCellStruct", "io.anuke.mindustry.entities.Effects", "io.anuke.mindustry.entities.Effects$Effect", "io.anuke.mindustry.entities.Effects$EffectContainer", "io.anuke.mindustry.entities.Effects$EffectProvider", "io.anuke.mindustry.entities.Effects$EffectRenderer", "io.anuke.mindustry.entities.Effects$ScreenshakeProvider", "io.anuke.mindustry.entities.Entities", "io.anuke.mindustry.entities.EntityCollisions", "io.anuke.mindustry.entities.EntityGroup", "io.anuke.mindustry.entities.Predict", "io.anuke.mindustry.entities.TargetPriority", "io.anuke.mindustry.entities.Units", "io.anuke.mindustry.entities.bullet.ArtilleryBulletType", "io.anuke.mindustry.entities.bullet.BasicBulletType", "io.anuke.mindustry.entities.bullet.BombBulletType", "io.anuke.mindustry.entities.bullet.BulletType", "io.anuke.mindustry.entities.bullet.FlakBulletType", "io.anuke.mindustry.entities.bullet.HealBulletType", "io.anuke.mindustry.entities.bullet.LiquidBulletType", "io.anuke.mindustry.entities.bullet.MassDriverBolt", "io.anuke.mindustry.entities.bullet.MissileBulletType", "io.anuke.mindustry.entities.effect.Decal", "io.anuke.mindustry.entities.effect.Fire", "io.anuke.mindustry.entities.effect.GroundEffectEntity", "io.anuke.mindustry.entities.effect.GroundEffectEntity$GroundEffect", "io.anuke.mindustry.entities.effect.ItemTransfer", "io.anuke.mindustry.entities.effect.Lightning", "io.anuke.mindustry.entities.effect.Puddle", "io.anuke.mindustry.entities.effect.RubbleDecal", "io.anuke.mindustry.entities.effect.ScorchDecal", "io.anuke.mindustry.entities.traits.AbsorbTrait", "io.anuke.mindustry.entities.traits.BelowLiquidTrait", "io.anuke.mindustry.entities.traits.BuilderMinerTrait", "io.anuke.mindustry.entities.traits.BuilderTrait", "io.anuke.mindustry.entities.traits.BuilderTrait$BuildDataStatic", "io.anuke.mindustry.entities.traits.BuilderTrait$BuildRequest", "io.anuke.mindustry.entities.traits.DamageTrait", "io.anuke.mindustry.entities.traits.DrawTrait", "io.anuke.mindustry.entities.traits.Entity", "io.anuke.mindustry.entities.traits.HealthTrait", "io.anuke.mindustry.entities.traits.KillerTrait", "io.anuke.mindustry.entities.traits.MinerTrait", "io.anuke.mindustry.entities.traits.MoveTrait", "io.anuke.mindustry.entities.traits.SaveTrait", "io.anuke.mindustry.entities.traits.Saveable", "io.anuke.mindustry.entities.traits.ScaleTrait", "io.anuke.mindustry.entities.traits.ShooterTrait", "io.anuke.mindustry.entities.traits.SolidTrait", "io.anuke.mindustry.entities.traits.SpawnerTrait", "io.anuke.mindustry.entities.traits.SyncTrait", "io.anuke.mindustry.entities.traits.TargetTrait", "io.anuke.mindustry.entities.traits.TeamTrait", "io.anuke.mindustry.entities.traits.TimeTrait", "io.anuke.mindustry.entities.traits.TypeTrait", "io.anuke.mindustry.entities.traits.VelocityTrait", "io.anuke.mindustry.entities.type.BaseEntity", "io.anuke.mindustry.entities.type.BaseUnit", "io.anuke.mindustry.entities.type.Bullet", "io.anuke.mindustry.entities.type.DestructibleEntity", "io.anuke.mindustry.entities.type.EffectEntity", "io.anuke.mindustry.entities.type.Player", "io.anuke.mindustry.entities.type.SolidEntity", "io.anuke.mindustry.entities.type.TileEntity", "io.anuke.mindustry.entities.type.TimedEntity", "io.anuke.mindustry.entities.type.Unit", "io.anuke.mindustry.entities.type.base.BaseDrone", "io.anuke.mindustry.entities.type.base.BuilderDrone", "io.anuke.mindustry.entities.type.base.Crawler", "io.anuke.mindustry.entities.type.base.Dagger", "io.anuke.mindustry.entities.type.base.Draug", "io.anuke.mindustry.entities.type.base.Eruptor", "io.anuke.mindustry.entities.type.base.FlyingUnit", "io.anuke.mindustry.entities.type.base.Fortress", "io.anuke.mindustry.entities.type.base.Ghoul", "io.anuke.mindustry.entities.type.base.GroundUnit", "io.anuke.mindustry.entities.type.base.MinerDrone", "io.anuke.mindustry.entities.type.base.Phantom", "io.anuke.mindustry.entities.type.base.RepairDrone", "io.anuke.mindustry.entities.type.base.Revenant", "io.anuke.mindustry.entities.type.base.Spirit", "io.anuke.mindustry.entities.type.base.Titan", "io.anuke.mindustry.entities.type.base.Wraith", "io.anuke.mindustry.entities.units.StateMachine", "io.anuke.mindustry.entities.units.Statuses", "io.anuke.mindustry.entities.units.Statuses$StatusEntry", "io.anuke.mindustry.entities.units.UnitCommand", "io.anuke.mindustry.entities.units.UnitDrops", "io.anuke.mindustry.entities.units.UnitState", "io.anuke.mindustry.game.DefaultWaves", "io.anuke.mindustry.game.Difficulty", "io.anuke.mindustry.game.EventType", "io.anuke.mindustry.game.EventType$BlockBuildBeginEvent", "io.anuke.mindustry.game.EventType$BlockBuildEndEvent", "io.anuke.mindustry.game.EventType$BlockDestroyEvent", "io.anuke.mindustry.game.EventType$BlockInfoEvent", "io.anuke.mindustry.game.EventType$BuildSelectEvent", "io.anuke.mindustry.game.EventType$ClientLoadEvent", "io.anuke.mindustry.game.EventType$CommandIssueEvent", "io.anuke.mindustry.game.EventType$ContentReloadEvent", "io.anuke.mindustry.game.EventType$CoreItemDeliverEvent", "io.anuke.mindustry.game.EventType$DepositEvent", "io.anuke.mindustry.game.EventType$DisposeEvent", "io.anuke.mindustry.game.EventType$GameOverEvent", "io.anuke.mindustry.game.EventType$LaunchEvent", "io.anuke.mindustry.game.EventType$LaunchItemEvent", "io.anuke.mindustry.game.EventType$LineConfirmEvent", "io.anuke.mindustry.game.EventType$LoseEvent", "io.anuke.mindustry.game.EventType$MapMakeEvent", "io.anuke.mindustry.game.EventType$MapPublishEvent", "io.anuke.mindustry.game.EventType$MechChangeEvent", "io.anuke.mindustry.game.EventType$PlayEvent", "io.anuke.mindustry.game.EventType$PlayerBanEvent", "io.anuke.mindustry.game.EventType$PlayerChatEvent", "io.anuke.mindustry.game.EventType$PlayerConnect", "io.anuke.mindustry.game.EventType$PlayerIpBanEvent", "io.anuke.mindustry.game.EventType$PlayerIpUnbanEvent", "io.anuke.mindustry.game.EventType$PlayerJoin", "io.anuke.mindustry.game.EventType$PlayerLeave", "io.anuke.mindustry.game.EventType$PlayerUnbanEvent", "io.anuke.mindustry.game.EventType$ResearchEvent", "io.anuke.mindustry.game.EventType$ResetEvent", "io.anuke.mindustry.game.EventType$ResizeEvent", "io.anuke.mindustry.game.EventType$StateChangeEvent", "io.anuke.mindustry.game.EventType$TapConfigEvent", "io.anuke.mindustry.game.EventType$TapEvent", "io.anuke.mindustry.game.EventType$TileChangeEvent", "io.anuke.mindustry.game.EventType$Trigger", "io.anuke.mindustry.game.EventType$TurretAmmoDeliverEvent", "io.anuke.mindustry.game.EventType$UnitCreateEvent", "io.anuke.mindustry.game.EventType$UnitDestroyEvent", "io.anuke.mindustry.game.EventType$UnlockEvent", "io.anuke.mindustry.game.EventType$WaveEvent", "io.anuke.mindustry.game.EventType$WinEvent", "io.anuke.mindustry.game.EventType$WithdrawEvent", "io.anuke.mindustry.game.EventType$WorldLoadEvent", "io.anuke.mindustry.game.EventType$ZoneConfigureCompleteEvent", "io.anuke.mindustry.game.EventType$ZoneRequireCompleteEvent", "io.anuke.mindustry.game.Gamemode", "io.anuke.mindustry.game.GlobalData", "io.anuke.mindustry.game.LoopControl", "io.anuke.mindustry.game.MusicControl", "io.anuke.mindustry.game.Objective", "io.anuke.mindustry.game.Objectives", "io.anuke.mindustry.game.Objectives$Launched", "io.anuke.mindustry.game.Objectives$Unlock", "io.anuke.mindustry.game.Objectives$Wave", "io.anuke.mindustry.game.Objectives$ZoneObjective", "io.anuke.mindustry.game.Objectives$ZoneWave", "io.anuke.mindustry.game.Rules", "io.anuke.mindustry.game.Saves", "io.anuke.mindustry.game.Saves$SaveSlot", "io.anuke.mindustry.game.Schematic", "io.anuke.mindustry.game.Schematic$Stile", "io.anuke.mindustry.game.Schematics", "io.anuke.mindustry.game.SoundLoop", "io.anuke.mindustry.game.SpawnGroup", "io.anuke.mindustry.game.Stats", "io.anuke.mindustry.game.Stats$Rank", "io.anuke.mindustry.game.Stats$RankResult", "io.anuke.mindustry.game.Team", "io.anuke.mindustry.game.Teams", "io.anuke.mindustry.game.Teams$BrokenBlock", "io.anuke.mindustry.game.Teams$TeamData", "io.anuke.mindustry.game.Tutorial", "io.anuke.mindustry.game.Tutorial$TutorialStage", "io.anuke.mindustry.graphics.BlockRenderer", "io.anuke.mindustry.graphics.Bloom", "io.anuke.mindustry.graphics.CacheLayer", "io.anuke.mindustry.graphics.Drawf", "io.anuke.mindustry.graphics.FloorRenderer", "io.anuke.mindustry.graphics.IndexedRenderer", "io.anuke.mindustry.graphics.Layer", "io.anuke.mindustry.graphics.LightRenderer", "io.anuke.mindustry.graphics.MenuRenderer", "io.anuke.mindustry.graphics.MinimapRenderer", "io.anuke.mindustry.graphics.MultiPacker", "io.anuke.mindustry.graphics.MultiPacker$PageType", "io.anuke.mindustry.graphics.OverlayRenderer", "io.anuke.mindustry.graphics.Pal", "io.anuke.mindustry.graphics.Pixelator", "io.anuke.mindustry.graphics.Shaders", "io.anuke.mindustry.input.Binding", "io.anuke.mindustry.input.DesktopInput", "io.anuke.mindustry.input.InputHandler", "io.anuke.mindustry.input.InputHandler$PlaceLine", "io.anuke.mindustry.input.MobileInput", "io.anuke.mindustry.input.PlaceMode", "io.anuke.mindustry.input.Placement", "io.anuke.mindustry.input.Placement$DistanceHeuristic", "io.anuke.mindustry.input.Placement$NormalizeDrawResult", "io.anuke.mindustry.input.Placement$NormalizeResult", "io.anuke.mindustry.input.Placement$TileHueristic", "io.anuke.mindustry.maps.Map", "io.anuke.mindustry.maps.Maps", "io.anuke.mindustry.maps.Maps$MapProvider", "io.anuke.mindustry.maps.Maps$ShuffleMode", "io.anuke.mindustry.maps.Maps$ShuffleMode", "io.anuke.mindustry.maps.filters.BlendFilter", "io.anuke.mindustry.maps.filters.ClearFilter", "io.anuke.mindustry.maps.filters.DistortFilter", "io.anuke.mindustry.maps.filters.FilterOption", "io.anuke.mindustry.maps.filters.FilterOption$BlockOption", "io.anuke.mindustry.maps.filters.FilterOption$SliderOption", "io.anuke.mindustry.maps.filters.GenerateFilter", "io.anuke.mindustry.maps.filters.GenerateFilter$GenerateInput", "io.anuke.mindustry.maps.filters.GenerateFilter$GenerateInput$TileProvider", "io.anuke.mindustry.maps.filters.MedianFilter", "io.anuke.mindustry.maps.filters.MirrorFilter", "io.anuke.mindustry.maps.filters.NoiseFilter", "io.anuke.mindustry.maps.filters.OreFilter", "io.anuke.mindustry.maps.filters.OreMedianFilter", "io.anuke.mindustry.maps.filters.RiverNoiseFilter", "io.anuke.mindustry.maps.filters.ScatterFilter", "io.anuke.mindustry.maps.filters.TerrainFilter", "io.anuke.mindustry.maps.generators.BasicGenerator", "io.anuke.mindustry.maps.generators.BasicGenerator$DistanceHeuristic", "io.anuke.mindustry.maps.generators.BasicGenerator$TileHueristic", "io.anuke.mindustry.maps.generators.Generator", "io.anuke.mindustry.maps.generators.MapGenerator", "io.anuke.mindustry.maps.generators.MapGenerator$Decoration", "io.anuke.mindustry.maps.generators.RandomGenerator", "io.anuke.mindustry.maps.zonegen.DesertWastesGenerator", "io.anuke.mindustry.maps.zonegen.OvergrowthGenerator", "io.anuke.mindustry.type.Category", "io.anuke.mindustry.type.ContentType", "io.anuke.mindustry.type.Item", "io.anuke.mindustry.type.ItemStack", "io.anuke.mindustry.type.ItemType", "io.anuke.mindustry.type.Liquid", "io.anuke.mindustry.type.LiquidStack", "io.anuke.mindustry.type.Mech", "io.anuke.mindustry.type.Publishable", "io.anuke.mindustry.type.StatusEffect", "io.anuke.mindustry.type.StatusEffect$TransitionHandler", "io.anuke.mindustry.type.TypeID", "io.anuke.mindustry.type.UnitType", "io.anuke.mindustry.type.Weapon", "io.anuke.mindustry.type.WeatherEvent", "io.anuke.mindustry.type.Zone", "io.anuke.mindustry.ui.Cicon", "io.anuke.mindustry.ui.ContentDisplay", "io.anuke.mindustry.ui.Fonts", "io.anuke.mindustry.ui.IconSize", "io.anuke.mindustry.ui.IntFormat", "io.anuke.mindustry.ui.Links", "io.anuke.mindustry.ui.Links$LinkEntry", "io.anuke.mindustry.ui.Styles", "io.anuke.mindustry.ui.dialogs.DeployDialog$ZoneNode", "io.anuke.mindustry.ui.dialogs.FileChooser$FileHistory", "io.anuke.mindustry.ui.dialogs.JoinDialog$Server", "io.anuke.mindustry.ui.dialogs.TechTreeDialog$LayoutNode", "io.anuke.mindustry.ui.dialogs.TechTreeDialog$TechTreeNode", "io.anuke.mindustry.ui.fragments.BlockConfigFragment", "io.anuke.mindustry.ui.fragments.BlockInventoryFragment", "io.anuke.mindustry.ui.fragments.FadeInFragment", "io.anuke.mindustry.ui.fragments.Fragment", "io.anuke.mindustry.ui.fragments.HudFragment", "io.anuke.mindustry.ui.fragments.LoadingFragment", "io.anuke.mindustry.ui.fragments.MenuFragment", "io.anuke.mindustry.ui.fragments.OverlayFragment", "io.anuke.mindustry.ui.fragments.PlacementFragment", "io.anuke.mindustry.ui.fragments.PlayerListFragment", "io.anuke.mindustry.ui.layout.BranchTreeLayout", "io.anuke.mindustry.ui.layout.BranchTreeLayout$TreeAlignment", "io.anuke.mindustry.ui.layout.BranchTreeLayout$TreeLocation", "io.anuke.mindustry.ui.layout.RadialTreeLayout", "io.anuke.mindustry.ui.layout.TreeLayout", "io.anuke.mindustry.ui.layout.TreeLayout$TreeNode", "io.anuke.mindustry.world.Block", "io.anuke.mindustry.world.BlockStorage", "io.anuke.mindustry.world.Build", "io.anuke.mindustry.world.CachedTile", "io.anuke.mindustry.world.DirectionalItemBuffer", "io.anuke.mindustry.world.DirectionalItemBuffer$BufferItemStruct", "io.anuke.mindustry.world.Edges", "io.anuke.mindustry.world.ItemBuffer", "io.anuke.mindustry.world.LegacyColorMapper", "io.anuke.mindustry.world.LegacyColorMapper$LegacyBlock", "io.anuke.mindustry.world.Pos", "io.anuke.mindustry.world.StaticTree", "io.anuke.mindustry.world.Tile", "io.anuke.mindustry.world.WorldContext", "io.anuke.mindustry.world.blocks.Attributes", "io.anuke.mindustry.world.blocks.Autotiler", "io.anuke.mindustry.world.blocks.Autotiler$AutotilerHolder", "io.anuke.mindustry.world.blocks.BlockPart", "io.anuke.mindustry.world.blocks.BuildBlock", "io.anuke.mindustry.world.blocks.BuildBlock$BuildEntity", "io.anuke.mindustry.world.blocks.DoubleOverlayFloor", "io.anuke.mindustry.world.blocks.Floor", "io.anuke.mindustry.world.blocks.ItemSelection", "io.anuke.mindustry.world.blocks.LiquidBlock", "io.anuke.mindustry.world.blocks.OreBlock", "io.anuke.mindustry.world.blocks.OverlayFloor", "io.anuke.mindustry.world.blocks.PowerBlock", "io.anuke.mindustry.world.blocks.RespawnBlock", "io.anuke.mindustry.world.blocks.Rock", "io.anuke.mindustry.world.blocks.StaticWall", "io.anuke.mindustry.world.blocks.TreeBlock", "io.anuke.mindustry.world.blocks.defense.DeflectorWall", "io.anuke.mindustry.world.blocks.defense.DeflectorWall$DeflectorEntity", "io.anuke.mindustry.world.blocks.defense.Door", "io.anuke.mindustry.world.blocks.defense.Door$DoorEntity", "io.anuke.mindustry.world.blocks.defense.ForceProjector", "io.anuke.mindustry.world.blocks.defense.ForceProjector$ForceEntity", "io.anuke.mindustry.world.blocks.defense.ForceProjector$ShieldEntity", "io.anuke.mindustry.world.blocks.defense.MendProjector", "io.anuke.mindustry.world.blocks.defense.MendProjector$MendEntity", "io.anuke.mindustry.world.blocks.defense.OverdriveProjector", "io.anuke.mindustry.world.blocks.defense.OverdriveProjector$OverdriveEntity", "io.anuke.mindustry.world.blocks.defense.ShockMine", "io.anuke.mindustry.world.blocks.defense.SurgeWall", "io.anuke.mindustry.world.blocks.defense.Wall", "io.anuke.mindustry.world.blocks.defense.turrets.ArtilleryTurret", "io.anuke.mindustry.world.blocks.defense.turrets.BurstTurret", "io.anuke.mindustry.world.blocks.defense.turrets.ChargeTurret", "io.anuke.mindustry.world.blocks.defense.turrets.ChargeTurret$LaserTurretEntity", "io.anuke.mindustry.world.blocks.defense.turrets.CooledTurret", "io.anuke.mindustry.world.blocks.defense.turrets.DoubleTurret", "io.anuke.mindustry.world.blocks.defense.turrets.ItemTurret", "io.anuke.mindustry.world.blocks.defense.turrets.ItemTurret$ItemEntry", "io.anuke.mindustry.world.blocks.defense.turrets.ItemTurret$ItemTurretEntity", "io.anuke.mindustry.world.blocks.defense.turrets.LaserTurret", "io.anuke.mindustry.world.blocks.defense.turrets.LaserTurret$LaserTurretEntity", "io.anuke.mindustry.world.blocks.defense.turrets.LiquidTurret", "io.anuke.mindustry.world.blocks.defense.turrets.PowerTurret", "io.anuke.mindustry.world.blocks.defense.turrets.Turret", "io.anuke.mindustry.world.blocks.defense.turrets.Turret$AmmoEntry", "io.anuke.mindustry.world.blocks.defense.turrets.Turret$TurretEntity", "io.anuke.mindustry.world.blocks.distribution.ArmoredConveyor", "io.anuke.mindustry.world.blocks.distribution.BufferedItemBridge", "io.anuke.mindustry.world.blocks.distribution.BufferedItemBridge$BufferedItemBridgeEntity", "io.anuke.mindustry.world.blocks.distribution.Conveyor", "io.anuke.mindustry.world.blocks.distribution.Conveyor$ConveyorEntity", "io.anuke.mindustry.world.blocks.distribution.Conveyor$ItemPos", "io.anuke.mindustry.world.blocks.distribution.ExtendingItemBridge", "io.anuke.mindustry.world.blocks.distribution.ItemBridge", "io.anuke.mindustry.world.blocks.distribution.ItemBridge$ItemBridgeEntity", "io.anuke.mindustry.world.blocks.distribution.Junction", "io.anuke.mindustry.world.blocks.distribution.Junction$JunctionEntity", "io.anuke.mindustry.world.blocks.distribution.MassDriver", "io.anuke.mindustry.world.blocks.distribution.MassDriver$DriverBulletData", "io.anuke.mindustry.world.blocks.distribution.MassDriver$DriverState", "io.anuke.mindustry.world.blocks.distribution.MassDriver$MassDriverEntity", "io.anuke.mindustry.world.blocks.distribution.OverflowGate", "io.anuke.mindustry.world.blocks.distribution.OverflowGate$OverflowGateEntity", "io.anuke.mindustry.world.blocks.distribution.Router", "io.anuke.mindustry.world.blocks.distribution.Router$RouterEntity", "io.anuke.mindustry.world.blocks.distribution.Sorter", "io.anuke.mindustry.world.blocks.distribution.Sorter$SorterEntity", "io.anuke.mindustry.world.blocks.liquid.ArmoredConduit", "io.anuke.mindustry.world.blocks.liquid.Conduit", "io.anuke.mindustry.world.blocks.liquid.Conduit$ConduitEntity", "io.anuke.mindustry.world.blocks.liquid.LiquidBridge", "io.anuke.mindustry.world.blocks.liquid.LiquidExtendingBridge", "io.anuke.mindustry.world.blocks.liquid.LiquidJunction", "io.anuke.mindustry.world.blocks.liquid.LiquidOverflowGate", "io.anuke.mindustry.world.blocks.liquid.LiquidRouter", "io.anuke.mindustry.world.blocks.liquid.LiquidTank", "io.anuke.mindustry.world.blocks.logic.LogicBlock", "io.anuke.mindustry.world.blocks.logic.MessageBlock", "io.anuke.mindustry.world.blocks.logic.MessageBlock$MessageBlockEntity", "io.anuke.mindustry.world.blocks.power.Battery", "io.anuke.mindustry.world.blocks.power.BurnerGenerator", "io.anuke.mindustry.world.blocks.power.ConditionalConsumePower", "io.anuke.mindustry.world.blocks.power.DecayGenerator", "io.anuke.mindustry.world.blocks.power.ImpactReactor", "io.anuke.mindustry.world.blocks.power.ImpactReactor$FusionReactorEntity", "io.anuke.mindustry.world.blocks.power.ItemLiquidGenerator", "io.anuke.mindustry.world.blocks.power.ItemLiquidGenerator$ItemLiquidGeneratorEntity", "io.anuke.mindustry.world.blocks.power.LightBlock", "io.anuke.mindustry.world.blocks.power.LightBlock$LightEntity", "io.anuke.mindustry.world.blocks.power.NuclearReactor", "io.anuke.mindustry.world.blocks.power.NuclearReactor$NuclearReactorEntity", "io.anuke.mindustry.world.blocks.power.PowerDiode", "io.anuke.mindustry.world.blocks.power.PowerDistributor", "io.anuke.mindustry.world.blocks.power.PowerGenerator", "io.anuke.mindustry.world.blocks.power.PowerGenerator$GeneratorEntity", "io.anuke.mindustry.world.blocks.power.PowerGraph", "io.anuke.mindustry.world.blocks.power.PowerNode", "io.anuke.mindustry.world.blocks.power.SingleTypeGenerator", "io.anuke.mindustry.world.blocks.power.SolarGenerator", "io.anuke.mindustry.world.blocks.power.ThermalGenerator", "io.anuke.mindustry.world.blocks.production.Cultivator", "io.anuke.mindustry.world.blocks.production.Cultivator$CultivatorEntity", "io.anuke.mindustry.world.blocks.production.Drill", "io.anuke.mindustry.world.blocks.production.Drill$DrillEntity", "io.anuke.mindustry.world.blocks.production.Fracker", "io.anuke.mindustry.world.blocks.production.Fracker$FrackerEntity", "io.anuke.mindustry.world.blocks.production.GenericCrafter", "io.anuke.mindustry.world.blocks.production.GenericCrafter$GenericCrafterEntity", "io.anuke.mindustry.world.blocks.production.GenericSmelter", "io.anuke.mindustry.world.blocks.production.Incinerator", "io.anuke.mindustry.world.blocks.production.Incinerator$IncineratorEntity", "io.anuke.mindustry.world.blocks.production.LiquidConverter", "io.anuke.mindustry.world.blocks.production.Pump", "io.anuke.mindustry.world.blocks.production.Separator", "io.anuke.mindustry.world.blocks.production.SolidPump", "io.anuke.mindustry.world.blocks.production.SolidPump$SolidPumpEntity", "io.anuke.mindustry.world.blocks.sandbox.ItemSource", "io.anuke.mindustry.world.blocks.sandbox.ItemSource$ItemSourceEntity", "io.anuke.mindustry.world.blocks.sandbox.ItemVoid", "io.anuke.mindustry.world.blocks.sandbox.LiquidSource", "io.anuke.mindustry.world.blocks.sandbox.LiquidSource$LiquidSourceEntity", "io.anuke.mindustry.world.blocks.sandbox.PowerSource", "io.anuke.mindustry.world.blocks.sandbox.PowerVoid", "io.anuke.mindustry.world.blocks.storage.CoreBlock", "io.anuke.mindustry.world.blocks.storage.CoreBlock$CoreEntity", "io.anuke.mindustry.world.blocks.storage.LaunchPad", "io.anuke.mindustry.world.blocks.storage.StorageBlock", "io.anuke.mindustry.world.blocks.storage.StorageBlock$StorageBlockEntity", "io.anuke.mindustry.world.blocks.storage.Unloader", "io.anuke.mindustry.world.blocks.storage.Unloader$UnloaderEntity", "io.anuke.mindustry.world.blocks.storage.Vault", "io.anuke.mindustry.world.blocks.units.CommandCenter", "io.anuke.mindustry.world.blocks.units.CommandCenter$CommandCenterEntity", "io.anuke.mindustry.world.blocks.units.MechPad", "io.anuke.mindustry.world.blocks.units.MechPad$MechFactoryEntity", "io.anuke.mindustry.world.blocks.units.RallyPoint", "io.anuke.mindustry.world.blocks.units.RepairPoint", "io.anuke.mindustry.world.blocks.units.RepairPoint$RepairPointEntity", "io.anuke.mindustry.world.blocks.units.UnitFactory", "io.anuke.mindustry.world.blocks.units.UnitFactory$UnitFactoryEntity", "io.anuke.mindustry.world.consumers.Consume", "io.anuke.mindustry.world.consumers.ConsumeItemFilter", "io.anuke.mindustry.world.consumers.ConsumeItems", "io.anuke.mindustry.world.consumers.ConsumeLiquid", "io.anuke.mindustry.world.consumers.ConsumeLiquidBase", "io.anuke.mindustry.world.consumers.ConsumeLiquidFilter", "io.anuke.mindustry.world.consumers.ConsumePower", "io.anuke.mindustry.world.consumers.ConsumeType", "io.anuke.mindustry.world.consumers.Consumers", "io.anuke.mindustry.world.meta.Attribute", "io.anuke.mindustry.world.meta.BlockBars", "io.anuke.mindustry.world.meta.BlockFlag", "io.anuke.mindustry.world.meta.BlockGroup", "io.anuke.mindustry.world.meta.BlockStat", "io.anuke.mindustry.world.meta.BlockStats", "io.anuke.mindustry.world.meta.BuildVisibility", "io.anuke.mindustry.world.meta.PowerType", "io.anuke.mindustry.world.meta.Producers", "io.anuke.mindustry.world.meta.StatCategory", "io.anuke.mindustry.world.meta.StatUnit", "io.anuke.mindustry.world.meta.StatValue", "io.anuke.mindustry.world.meta.values.AmmoListValue", "io.anuke.mindustry.world.meta.values.BooleanValue", "io.anuke.mindustry.world.meta.values.BoosterListValue", "io.anuke.mindustry.world.meta.values.ItemFilterValue", "io.anuke.mindustry.world.meta.values.ItemListValue", "io.anuke.mindustry.world.meta.values.LiquidFilterValue", "io.anuke.mindustry.world.meta.values.LiquidValue", "io.anuke.mindustry.world.meta.values.NumberValue", "io.anuke.mindustry.world.meta.values.StringValue", "io.anuke.mindustry.world.modules.BlockModule", "io.anuke.mindustry.world.modules.ConsumeModule", "io.anuke.mindustry.world.modules.ItemModule", "io.anuke.mindustry.world.modules.ItemModule$ItemCalculator", "io.anuke.mindustry.world.modules.ItemModule$ItemConsumer", "io.anuke.mindustry.world.modules.LiquidModule", "io.anuke.mindustry.world.modules.LiquidModule$LiquidCalculator", "io.anuke.mindustry.world.modules.LiquidModule$LiquidConsumer", "io.anuke.mindustry.world.modules.PowerModule", "io.anuke.mindustry.world.producers.Produce", "io.anuke.mindustry.world.producers.ProduceItem", "java.io.PrintStream", "java.lang.System"); } \ No newline at end of file diff --git a/core/src/io/anuke/mindustry/mod/Scripts.java b/core/src/io/anuke/mindustry/mod/Scripts.java index d9425299f6..2795e43eea 100644 --- a/core/src/io/anuke/mindustry/mod/Scripts.java +++ b/core/src/io/anuke/mindustry/mod/Scripts.java @@ -17,23 +17,6 @@ public class Scripts implements Disposable{ context = Vars.platform.getScriptContext(); context.setClassShutter(type -> ClassAccess.allowedClassNames.contains(type) || type.startsWith("adapter") || type.contains("PrintStream")); - context.setErrorReporter(new ErrorReporter(){ - @Override - public void warning(String message, String sourceName, int line, String lineSource, int lineOffset){ - - } - - @Override - public void error(String message, String sourceName, int line, String lineSource, int lineOffset){ - Log.info(message + "@" + sourceName + ":" + line); - } - - @Override - public EvaluatorException runtimeError(String message, String sourceName, int line, String lineSource, int lineOffset){ - Log.info(message + "@" + sourceName + ":" + line); - return null; - } - }); scope = context.initStandardObjects(); wrapper = Core.files.internal("scripts/wrapper.js").readString(); diff --git a/gradle.properties b/gradle.properties index f39d88dacf..f61b492a7f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=7c853686fcf7fac56405919817d7f8caef00c0f2 +archash=ef6d1485c36346e008ac6818ec972e7781f9ba8d diff --git a/tools/src/io/anuke/mindustry/tools/ScriptStubGenerator.java b/tools/src/io/anuke/mindustry/tools/ScriptStubGenerator.java index 81493e6858..5971faed5d 100644 --- a/tools/src/io/anuke/mindustry/tools/ScriptStubGenerator.java +++ b/tools/src/io/anuke/mindustry/tools/ScriptStubGenerator.java @@ -2,14 +2,17 @@ package io.anuke.mindustry.tools; import io.anuke.arc.*; import io.anuke.arc.collection.*; +import io.anuke.arc.collection.Array; import io.anuke.arc.files.*; import io.anuke.arc.graphics.g2d.*; +import io.anuke.arc.graphics.g2d.TextureAtlas.*; import io.anuke.arc.util.*; import org.reflections.*; import org.reflections.scanners.*; import org.reflections.util.*; import java.io.*; +import java.lang.reflect.*; import java.util.*; public class ScriptStubGenerator{ @@ -18,7 +21,7 @@ public class ScriptStubGenerator{ String base = "io.anuke.mindustry"; Array blacklist = Array.with("plugin", "mod", "net", "io", "tools", "gen"); Array nameBlacklist = Array.with("ClientLauncher", "NetClient", "NetServer"); - Array> whitelist = Array.with(Draw.class, Core.class, TextureAtlas.class, TextureRegion.class, Time.class, System.class, PrintStream.class); + Array> whitelist = Array.with(Draw.class, Fill.class, Lines.class, Core.class, TextureAtlas.class, TextureRegion.class, Time.class, System.class, PrintStream.class, AtlasRegion.class); String fileTemplate = "package io.anuke.mindustry.mod;\n" + "\n" + @@ -43,13 +46,17 @@ public class ScriptStubGenerator{ classes.addAll(whitelist); classes.sort(Structs.comparing(Class::getName)); - classes.removeAll(type -> type.isSynthetic() || type.isAnonymousClass() || type.isMemberClass() || type.getCanonicalName() == null + classes.removeAll(type -> type.isSynthetic() || type.isAnonymousClass() || type.getCanonicalName() == null || Modifier.isPrivate(type.getModifiers()) || blacklist.contains(s -> type.getName().startsWith(base + "." + s + ".")) || nameBlacklist.contains(type.getSimpleName())); + classes.distinct(); + ObjectSet used = ObjectSet.with(); StringBuilder result = new StringBuilder("//Generated class. Do not modify.\n"); result.append("\n").append(new FileHandle("core/assets/scripts/base.js").readString()).append("\n"); for(Class type : classes){ + if(used.contains(type.getSimpleName())) continue; result.append("const ").append(type.getSimpleName()).append(" = ").append("Packages.").append(type.getCanonicalName()).append("\n"); + used.add(type.getSimpleName()); } //Log.info(result);