diff --git a/core/assets/scripts/base.js b/core/assets/scripts/base.js index 1213c82bf4..96c3ecc154 100755 --- a/core/assets/scripts/base.js +++ b/core/assets/scripts/base.js @@ -1 +1,7 @@ -const extend = Java.extend +const print = function(obj){ + java.lang.System.out.println(obj ? String(obj) : "null") +} + +const extend = function(classType, params){ + return new JavaAdapter(classType, params) +} \ No newline at end of file diff --git a/core/assets/scripts/global.js b/core/assets/scripts/global.js index f3523ae837..d4629cb454 100755 --- a/core/assets/scripts/global.js +++ b/core/assets/scripts/global.js @@ -1,384 +1,389 @@ //Generated class. Do not modify. -const Core = Java.type('io.anuke.arc.Core') -const Boolc = Java.type('io.anuke.arc.func.Boolc') -const Boolf = Java.type('io.anuke.arc.func.Boolf') -const Boolf2 = Java.type('io.anuke.arc.func.Boolf2') -const Boolp = Java.type('io.anuke.arc.func.Boolp') -const Cons = Java.type('io.anuke.arc.func.Cons') -const Cons2 = Java.type('io.anuke.arc.func.Cons2') -const Floatc = Java.type('io.anuke.arc.func.Floatc') -const Floatc2 = Java.type('io.anuke.arc.func.Floatc2') -const Floatc4 = Java.type('io.anuke.arc.func.Floatc4') -const Floatf = Java.type('io.anuke.arc.func.Floatf') -const Floatp = Java.type('io.anuke.arc.func.Floatp') -const Func = Java.type('io.anuke.arc.func.Func') -const Func2 = Java.type('io.anuke.arc.func.Func2') -const Func3 = Java.type('io.anuke.arc.func.Func3') -const Intc = Java.type('io.anuke.arc.func.Intc') -const Intc2 = Java.type('io.anuke.arc.func.Intc2') -const Intc4 = Java.type('io.anuke.arc.func.Intc4') -const Intf = Java.type('io.anuke.arc.func.Intf') -const Intp = Java.type('io.anuke.arc.func.Intp') -const Prov = Java.type('io.anuke.arc.func.Prov') -const Draw = Java.type('io.anuke.arc.graphics.g2d.Draw') -const TextureAtlas = Java.type('io.anuke.arc.graphics.g2d.TextureAtlas') -const TextureRegion = Java.type('io.anuke.arc.graphics.g2d.TextureRegion') -const Time = Java.type('io.anuke.arc.util.Time') -const Vars = Java.type('io.anuke.mindustry.Vars') -const BlockIndexer = Java.type('io.anuke.mindustry.ai.BlockIndexer') -const Pathfinder = Java.type('io.anuke.mindustry.ai.Pathfinder') -const WaveSpawner = Java.type('io.anuke.mindustry.ai.WaveSpawner') -const Blocks = Java.type('io.anuke.mindustry.content.Blocks') -const Bullets = Java.type('io.anuke.mindustry.content.Bullets') -const Fx = Java.type('io.anuke.mindustry.content.Fx') -const Items = Java.type('io.anuke.mindustry.content.Items') -const Liquids = Java.type('io.anuke.mindustry.content.Liquids') -const Loadouts = Java.type('io.anuke.mindustry.content.Loadouts') -const Mechs = Java.type('io.anuke.mindustry.content.Mechs') -const StatusEffects = Java.type('io.anuke.mindustry.content.StatusEffects') -const TechTree = Java.type('io.anuke.mindustry.content.TechTree') -const TypeIDs = Java.type('io.anuke.mindustry.content.TypeIDs') -const UnitTypes = Java.type('io.anuke.mindustry.content.UnitTypes') -const Zones = Java.type('io.anuke.mindustry.content.Zones') -const ContentLoader = Java.type('io.anuke.mindustry.core.ContentLoader') -const Control = Java.type('io.anuke.mindustry.core.Control') -const FileTree = Java.type('io.anuke.mindustry.core.FileTree') -const GameState = Java.type('io.anuke.mindustry.core.GameState') -const Logic = Java.type('io.anuke.mindustry.core.Logic') -const Platform = Java.type('io.anuke.mindustry.core.Platform') -const Renderer = Java.type('io.anuke.mindustry.core.Renderer') -const UI = Java.type('io.anuke.mindustry.core.UI') -const Version = Java.type('io.anuke.mindustry.core.Version') -const World = Java.type('io.anuke.mindustry.core.World') -const Content = Java.type('io.anuke.mindustry.ctype.Content') -const ContentList = Java.type('io.anuke.mindustry.ctype.ContentList') -const MappableContent = Java.type('io.anuke.mindustry.ctype.MappableContent') -const UnlockableContent = Java.type('io.anuke.mindustry.ctype.UnlockableContent') -const DrawOperation = Java.type('io.anuke.mindustry.editor.DrawOperation') -const EditorTile = Java.type('io.anuke.mindustry.editor.EditorTile') -const EditorTool = Java.type('io.anuke.mindustry.editor.EditorTool') -const MapEditor = Java.type('io.anuke.mindustry.editor.MapEditor') -const MapRenderer = Java.type('io.anuke.mindustry.editor.MapRenderer') -const OperationStack = Java.type('io.anuke.mindustry.editor.OperationStack') -const Damage = Java.type('io.anuke.mindustry.entities.Damage') -const Effects = Java.type('io.anuke.mindustry.entities.Effects') -const Entities = Java.type('io.anuke.mindustry.entities.Entities') -const EntityCollisions = Java.type('io.anuke.mindustry.entities.EntityCollisions') -const EntityGroup = Java.type('io.anuke.mindustry.entities.EntityGroup') -const Predict = Java.type('io.anuke.mindustry.entities.Predict') -const TargetPriority = Java.type('io.anuke.mindustry.entities.TargetPriority') -const Units = Java.type('io.anuke.mindustry.entities.Units') -const ArtilleryBulletType = Java.type('io.anuke.mindustry.entities.bullet.ArtilleryBulletType') -const BasicBulletType = Java.type('io.anuke.mindustry.entities.bullet.BasicBulletType') -const BombBulletType = Java.type('io.anuke.mindustry.entities.bullet.BombBulletType') -const BulletType = Java.type('io.anuke.mindustry.entities.bullet.BulletType') -const FlakBulletType = Java.type('io.anuke.mindustry.entities.bullet.FlakBulletType') -const HealBulletType = Java.type('io.anuke.mindustry.entities.bullet.HealBulletType') -const LiquidBulletType = Java.type('io.anuke.mindustry.entities.bullet.LiquidBulletType') -const MassDriverBolt = Java.type('io.anuke.mindustry.entities.bullet.MassDriverBolt') -const MissileBulletType = Java.type('io.anuke.mindustry.entities.bullet.MissileBulletType') -const Decal = Java.type('io.anuke.mindustry.entities.effect.Decal') -const Fire = Java.type('io.anuke.mindustry.entities.effect.Fire') -const GroundEffectEntity = Java.type('io.anuke.mindustry.entities.effect.GroundEffectEntity') -const ItemTransfer = Java.type('io.anuke.mindustry.entities.effect.ItemTransfer') -const Lightning = Java.type('io.anuke.mindustry.entities.effect.Lightning') -const Puddle = Java.type('io.anuke.mindustry.entities.effect.Puddle') -const RubbleDecal = Java.type('io.anuke.mindustry.entities.effect.RubbleDecal') -const ScorchDecal = Java.type('io.anuke.mindustry.entities.effect.ScorchDecal') -const AbsorbTrait = Java.type('io.anuke.mindustry.entities.traits.AbsorbTrait') -const BelowLiquidTrait = Java.type('io.anuke.mindustry.entities.traits.BelowLiquidTrait') -const BuilderMinerTrait = Java.type('io.anuke.mindustry.entities.traits.BuilderMinerTrait') -const BuilderTrait = Java.type('io.anuke.mindustry.entities.traits.BuilderTrait') -const DamageTrait = Java.type('io.anuke.mindustry.entities.traits.DamageTrait') -const DrawTrait = Java.type('io.anuke.mindustry.entities.traits.DrawTrait') -const Entity = Java.type('io.anuke.mindustry.entities.traits.Entity') -const HealthTrait = Java.type('io.anuke.mindustry.entities.traits.HealthTrait') -const KillerTrait = Java.type('io.anuke.mindustry.entities.traits.KillerTrait') -const MinerTrait = Java.type('io.anuke.mindustry.entities.traits.MinerTrait') -const MoveTrait = Java.type('io.anuke.mindustry.entities.traits.MoveTrait') -const SaveTrait = Java.type('io.anuke.mindustry.entities.traits.SaveTrait') -const Saveable = Java.type('io.anuke.mindustry.entities.traits.Saveable') -const ScaleTrait = Java.type('io.anuke.mindustry.entities.traits.ScaleTrait') -const ShooterTrait = Java.type('io.anuke.mindustry.entities.traits.ShooterTrait') -const SolidTrait = Java.type('io.anuke.mindustry.entities.traits.SolidTrait') -const SpawnerTrait = Java.type('io.anuke.mindustry.entities.traits.SpawnerTrait') -const SyncTrait = Java.type('io.anuke.mindustry.entities.traits.SyncTrait') -const TargetTrait = Java.type('io.anuke.mindustry.entities.traits.TargetTrait') -const TeamTrait = Java.type('io.anuke.mindustry.entities.traits.TeamTrait') -const TimeTrait = Java.type('io.anuke.mindustry.entities.traits.TimeTrait') -const TypeTrait = Java.type('io.anuke.mindustry.entities.traits.TypeTrait') -const VelocityTrait = Java.type('io.anuke.mindustry.entities.traits.VelocityTrait') -const BaseEntity = Java.type('io.anuke.mindustry.entities.type.BaseEntity') -const BaseUnit = Java.type('io.anuke.mindustry.entities.type.BaseUnit') -const Bullet = Java.type('io.anuke.mindustry.entities.type.Bullet') -const DestructibleEntity = Java.type('io.anuke.mindustry.entities.type.DestructibleEntity') -const EffectEntity = Java.type('io.anuke.mindustry.entities.type.EffectEntity') -const Player = Java.type('io.anuke.mindustry.entities.type.Player') -const SolidEntity = Java.type('io.anuke.mindustry.entities.type.SolidEntity') -const TileEntity = Java.type('io.anuke.mindustry.entities.type.TileEntity') -const TimedEntity = Java.type('io.anuke.mindustry.entities.type.TimedEntity') -const Unit = Java.type('io.anuke.mindustry.entities.type.Unit') -const BaseDrone = Java.type('io.anuke.mindustry.entities.type.base.BaseDrone') -const BuilderDrone = Java.type('io.anuke.mindustry.entities.type.base.BuilderDrone') -const Crawler = Java.type('io.anuke.mindustry.entities.type.base.Crawler') -const Dagger = Java.type('io.anuke.mindustry.entities.type.base.Dagger') -const Draug = Java.type('io.anuke.mindustry.entities.type.base.Draug') -const Eruptor = Java.type('io.anuke.mindustry.entities.type.base.Eruptor') -const FlyingUnit = Java.type('io.anuke.mindustry.entities.type.base.FlyingUnit') -const Fortress = Java.type('io.anuke.mindustry.entities.type.base.Fortress') -const Ghoul = Java.type('io.anuke.mindustry.entities.type.base.Ghoul') -const GroundUnit = Java.type('io.anuke.mindustry.entities.type.base.GroundUnit') -const MinerDrone = Java.type('io.anuke.mindustry.entities.type.base.MinerDrone') -const Phantom = Java.type('io.anuke.mindustry.entities.type.base.Phantom') -const RepairDrone = Java.type('io.anuke.mindustry.entities.type.base.RepairDrone') -const Revenant = Java.type('io.anuke.mindustry.entities.type.base.Revenant') -const Spirit = Java.type('io.anuke.mindustry.entities.type.base.Spirit') -const Titan = Java.type('io.anuke.mindustry.entities.type.base.Titan') -const Wraith = Java.type('io.anuke.mindustry.entities.type.base.Wraith') -const StateMachine = Java.type('io.anuke.mindustry.entities.units.StateMachine') -const Statuses = Java.type('io.anuke.mindustry.entities.units.Statuses') -const UnitCommand = Java.type('io.anuke.mindustry.entities.units.UnitCommand') -const UnitDrops = Java.type('io.anuke.mindustry.entities.units.UnitDrops') -const UnitState = Java.type('io.anuke.mindustry.entities.units.UnitState') -const DefaultWaves = Java.type('io.anuke.mindustry.game.DefaultWaves') -const Difficulty = Java.type('io.anuke.mindustry.game.Difficulty') -const EventType = Java.type('io.anuke.mindustry.game.EventType') -const Gamemode = Java.type('io.anuke.mindustry.game.Gamemode') -const GlobalData = Java.type('io.anuke.mindustry.game.GlobalData') -const LoopControl = Java.type('io.anuke.mindustry.game.LoopControl') -const MusicControl = Java.type('io.anuke.mindustry.game.MusicControl') -const Objective = Java.type('io.anuke.mindustry.game.Objective') -const Objectives = Java.type('io.anuke.mindustry.game.Objectives') -const Rules = Java.type('io.anuke.mindustry.game.Rules') -const Saves = Java.type('io.anuke.mindustry.game.Saves') -const Schematic = Java.type('io.anuke.mindustry.game.Schematic') -const Schematics = Java.type('io.anuke.mindustry.game.Schematics') -const SoundLoop = Java.type('io.anuke.mindustry.game.SoundLoop') -const SpawnGroup = Java.type('io.anuke.mindustry.game.SpawnGroup') -const Stats = Java.type('io.anuke.mindustry.game.Stats') -const Team = Java.type('io.anuke.mindustry.game.Team') -const Teams = Java.type('io.anuke.mindustry.game.Teams') -const Tutorial = Java.type('io.anuke.mindustry.game.Tutorial') -const BlockRenderer = Java.type('io.anuke.mindustry.graphics.BlockRenderer') -const Bloom = Java.type('io.anuke.mindustry.graphics.Bloom') -const CacheLayer = Java.type('io.anuke.mindustry.graphics.CacheLayer') -const Drawf = Java.type('io.anuke.mindustry.graphics.Drawf') -const FloorRenderer = Java.type('io.anuke.mindustry.graphics.FloorRenderer') -const IndexedRenderer = Java.type('io.anuke.mindustry.graphics.IndexedRenderer') -const Layer = Java.type('io.anuke.mindustry.graphics.Layer') -const LightRenderer = Java.type('io.anuke.mindustry.graphics.LightRenderer') -const MenuRenderer = Java.type('io.anuke.mindustry.graphics.MenuRenderer') -const MinimapRenderer = Java.type('io.anuke.mindustry.graphics.MinimapRenderer') -const MultiPacker = Java.type('io.anuke.mindustry.graphics.MultiPacker') -const OverlayRenderer = Java.type('io.anuke.mindustry.graphics.OverlayRenderer') -const Pal = Java.type('io.anuke.mindustry.graphics.Pal') -const Pixelator = Java.type('io.anuke.mindustry.graphics.Pixelator') -const Shaders = Java.type('io.anuke.mindustry.graphics.Shaders') -const Binding = Java.type('io.anuke.mindustry.input.Binding') -const DesktopInput = Java.type('io.anuke.mindustry.input.DesktopInput') -const InputHandler = Java.type('io.anuke.mindustry.input.InputHandler') -const MobileInput = Java.type('io.anuke.mindustry.input.MobileInput') -const PlaceMode = Java.type('io.anuke.mindustry.input.PlaceMode') -const Placement = Java.type('io.anuke.mindustry.input.Placement') -const Map = Java.type('io.anuke.mindustry.maps.Map') -const Maps = Java.type('io.anuke.mindustry.maps.Maps') -const BlendFilter = Java.type('io.anuke.mindustry.maps.filters.BlendFilter') -const ClearFilter = Java.type('io.anuke.mindustry.maps.filters.ClearFilter') -const DistortFilter = Java.type('io.anuke.mindustry.maps.filters.DistortFilter') -const FilterOption = Java.type('io.anuke.mindustry.maps.filters.FilterOption') -const GenerateFilter = Java.type('io.anuke.mindustry.maps.filters.GenerateFilter') -const MedianFilter = Java.type('io.anuke.mindustry.maps.filters.MedianFilter') -const MirrorFilter = Java.type('io.anuke.mindustry.maps.filters.MirrorFilter') -const NoiseFilter = Java.type('io.anuke.mindustry.maps.filters.NoiseFilter') -const OreFilter = Java.type('io.anuke.mindustry.maps.filters.OreFilter') -const OreMedianFilter = Java.type('io.anuke.mindustry.maps.filters.OreMedianFilter') -const RiverNoiseFilter = Java.type('io.anuke.mindustry.maps.filters.RiverNoiseFilter') -const ScatterFilter = Java.type('io.anuke.mindustry.maps.filters.ScatterFilter') -const TerrainFilter = Java.type('io.anuke.mindustry.maps.filters.TerrainFilter') -const BasicGenerator = Java.type('io.anuke.mindustry.maps.generators.BasicGenerator') -const Generator = Java.type('io.anuke.mindustry.maps.generators.Generator') -const MapGenerator = Java.type('io.anuke.mindustry.maps.generators.MapGenerator') -const RandomGenerator = Java.type('io.anuke.mindustry.maps.generators.RandomGenerator') -const DesertWastesGenerator = Java.type('io.anuke.mindustry.maps.zonegen.DesertWastesGenerator') -const OvergrowthGenerator = Java.type('io.anuke.mindustry.maps.zonegen.OvergrowthGenerator') -const Category = Java.type('io.anuke.mindustry.type.Category') -const ContentType = Java.type('io.anuke.mindustry.type.ContentType') -const Item = Java.type('io.anuke.mindustry.type.Item') -const ItemStack = Java.type('io.anuke.mindustry.type.ItemStack') -const ItemType = Java.type('io.anuke.mindustry.type.ItemType') -const Liquid = Java.type('io.anuke.mindustry.type.Liquid') -const LiquidStack = Java.type('io.anuke.mindustry.type.LiquidStack') -const Mech = Java.type('io.anuke.mindustry.type.Mech') -const Publishable = Java.type('io.anuke.mindustry.type.Publishable') -const StatusEffect = Java.type('io.anuke.mindustry.type.StatusEffect') -const TypeID = Java.type('io.anuke.mindustry.type.TypeID') -const UnitType = Java.type('io.anuke.mindustry.type.UnitType') -const Weapon = Java.type('io.anuke.mindustry.type.Weapon') -const WeatherEvent = Java.type('io.anuke.mindustry.type.WeatherEvent') -const Zone = Java.type('io.anuke.mindustry.type.Zone') -const Cicon = Java.type('io.anuke.mindustry.ui.Cicon') -const ContentDisplay = Java.type('io.anuke.mindustry.ui.ContentDisplay') -const Fonts = Java.type('io.anuke.mindustry.ui.Fonts') -const IconSize = Java.type('io.anuke.mindustry.ui.IconSize') -const IntFormat = Java.type('io.anuke.mindustry.ui.IntFormat') -const Links = Java.type('io.anuke.mindustry.ui.Links') -const Styles = Java.type('io.anuke.mindustry.ui.Styles') -const BlockConfigFragment = Java.type('io.anuke.mindustry.ui.fragments.BlockConfigFragment') -const BlockInventoryFragment = Java.type('io.anuke.mindustry.ui.fragments.BlockInventoryFragment') -const FadeInFragment = Java.type('io.anuke.mindustry.ui.fragments.FadeInFragment') -const Fragment = Java.type('io.anuke.mindustry.ui.fragments.Fragment') -const HudFragment = Java.type('io.anuke.mindustry.ui.fragments.HudFragment') -const LoadingFragment = Java.type('io.anuke.mindustry.ui.fragments.LoadingFragment') -const MenuFragment = Java.type('io.anuke.mindustry.ui.fragments.MenuFragment') -const OverlayFragment = Java.type('io.anuke.mindustry.ui.fragments.OverlayFragment') -const PlacementFragment = Java.type('io.anuke.mindustry.ui.fragments.PlacementFragment') -const PlayerListFragment = Java.type('io.anuke.mindustry.ui.fragments.PlayerListFragment') -const BranchTreeLayout = Java.type('io.anuke.mindustry.ui.layout.BranchTreeLayout') -const RadialTreeLayout = Java.type('io.anuke.mindustry.ui.layout.RadialTreeLayout') -const TreeLayout = Java.type('io.anuke.mindustry.ui.layout.TreeLayout') -const Block = Java.type('io.anuke.mindustry.world.Block') -const BlockStorage = Java.type('io.anuke.mindustry.world.BlockStorage') -const Build = Java.type('io.anuke.mindustry.world.Build') -const CachedTile = Java.type('io.anuke.mindustry.world.CachedTile') -const DirectionalItemBuffer = Java.type('io.anuke.mindustry.world.DirectionalItemBuffer') -const Edges = Java.type('io.anuke.mindustry.world.Edges') -const ItemBuffer = Java.type('io.anuke.mindustry.world.ItemBuffer') -const LegacyColorMapper = Java.type('io.anuke.mindustry.world.LegacyColorMapper') -const Pos = Java.type('io.anuke.mindustry.world.Pos') -const StaticTree = Java.type('io.anuke.mindustry.world.StaticTree') -const Tile = Java.type('io.anuke.mindustry.world.Tile') -const WorldContext = Java.type('io.anuke.mindustry.world.WorldContext') -const Attributes = Java.type('io.anuke.mindustry.world.blocks.Attributes') -const Autotiler = Java.type('io.anuke.mindustry.world.blocks.Autotiler') -const BlockPart = Java.type('io.anuke.mindustry.world.blocks.BlockPart') -const BuildBlock = Java.type('io.anuke.mindustry.world.blocks.BuildBlock') -const DoubleOverlayFloor = Java.type('io.anuke.mindustry.world.blocks.DoubleOverlayFloor') -const Floor = Java.type('io.anuke.mindustry.world.blocks.Floor') -const ItemSelection = Java.type('io.anuke.mindustry.world.blocks.ItemSelection') -const LiquidBlock = Java.type('io.anuke.mindustry.world.blocks.LiquidBlock') -const OreBlock = Java.type('io.anuke.mindustry.world.blocks.OreBlock') -const OverlayFloor = Java.type('io.anuke.mindustry.world.blocks.OverlayFloor') -const PowerBlock = Java.type('io.anuke.mindustry.world.blocks.PowerBlock') -const RespawnBlock = Java.type('io.anuke.mindustry.world.blocks.RespawnBlock') -const Rock = Java.type('io.anuke.mindustry.world.blocks.Rock') -const StaticWall = Java.type('io.anuke.mindustry.world.blocks.StaticWall') -const TreeBlock = Java.type('io.anuke.mindustry.world.blocks.TreeBlock') -const DeflectorWall = Java.type('io.anuke.mindustry.world.blocks.defense.DeflectorWall') -const Door = Java.type('io.anuke.mindustry.world.blocks.defense.Door') -const ForceProjector = Java.type('io.anuke.mindustry.world.blocks.defense.ForceProjector') -const MendProjector = Java.type('io.anuke.mindustry.world.blocks.defense.MendProjector') -const OverdriveProjector = Java.type('io.anuke.mindustry.world.blocks.defense.OverdriveProjector') -const ShockMine = Java.type('io.anuke.mindustry.world.blocks.defense.ShockMine') -const SurgeWall = Java.type('io.anuke.mindustry.world.blocks.defense.SurgeWall') -const Wall = Java.type('io.anuke.mindustry.world.blocks.defense.Wall') -const ArtilleryTurret = Java.type('io.anuke.mindustry.world.blocks.defense.turrets.ArtilleryTurret') -const BurstTurret = Java.type('io.anuke.mindustry.world.blocks.defense.turrets.BurstTurret') -const ChargeTurret = Java.type('io.anuke.mindustry.world.blocks.defense.turrets.ChargeTurret') -const CooledTurret = Java.type('io.anuke.mindustry.world.blocks.defense.turrets.CooledTurret') -const DoubleTurret = Java.type('io.anuke.mindustry.world.blocks.defense.turrets.DoubleTurret') -const ItemTurret = Java.type('io.anuke.mindustry.world.blocks.defense.turrets.ItemTurret') -const LaserTurret = Java.type('io.anuke.mindustry.world.blocks.defense.turrets.LaserTurret') -const LiquidTurret = Java.type('io.anuke.mindustry.world.blocks.defense.turrets.LiquidTurret') -const PowerTurret = Java.type('io.anuke.mindustry.world.blocks.defense.turrets.PowerTurret') -const Turret = Java.type('io.anuke.mindustry.world.blocks.defense.turrets.Turret') -const ArmoredConveyor = Java.type('io.anuke.mindustry.world.blocks.distribution.ArmoredConveyor') -const BufferedItemBridge = Java.type('io.anuke.mindustry.world.blocks.distribution.BufferedItemBridge') -const Conveyor = Java.type('io.anuke.mindustry.world.blocks.distribution.Conveyor') -const ExtendingItemBridge = Java.type('io.anuke.mindustry.world.blocks.distribution.ExtendingItemBridge') -const ItemBridge = Java.type('io.anuke.mindustry.world.blocks.distribution.ItemBridge') -const Junction = Java.type('io.anuke.mindustry.world.blocks.distribution.Junction') -const MassDriver = Java.type('io.anuke.mindustry.world.blocks.distribution.MassDriver') -const OverflowGate = Java.type('io.anuke.mindustry.world.blocks.distribution.OverflowGate') -const Router = Java.type('io.anuke.mindustry.world.blocks.distribution.Router') -const Sorter = Java.type('io.anuke.mindustry.world.blocks.distribution.Sorter') -const ArmoredConduit = Java.type('io.anuke.mindustry.world.blocks.liquid.ArmoredConduit') -const Conduit = Java.type('io.anuke.mindustry.world.blocks.liquid.Conduit') -const LiquidBridge = Java.type('io.anuke.mindustry.world.blocks.liquid.LiquidBridge') -const LiquidExtendingBridge = Java.type('io.anuke.mindustry.world.blocks.liquid.LiquidExtendingBridge') -const LiquidJunction = Java.type('io.anuke.mindustry.world.blocks.liquid.LiquidJunction') -const LiquidOverflowGate = Java.type('io.anuke.mindustry.world.blocks.liquid.LiquidOverflowGate') -const LiquidRouter = Java.type('io.anuke.mindustry.world.blocks.liquid.LiquidRouter') -const LiquidTank = Java.type('io.anuke.mindustry.world.blocks.liquid.LiquidTank') -const LogicBlock = Java.type('io.anuke.mindustry.world.blocks.logic.LogicBlock') -const MessageBlock = Java.type('io.anuke.mindustry.world.blocks.logic.MessageBlock') -const Battery = Java.type('io.anuke.mindustry.world.blocks.power.Battery') -const BurnerGenerator = Java.type('io.anuke.mindustry.world.blocks.power.BurnerGenerator') -const ConditionalConsumePower = Java.type('io.anuke.mindustry.world.blocks.power.ConditionalConsumePower') -const DecayGenerator = Java.type('io.anuke.mindustry.world.blocks.power.DecayGenerator') -const ImpactReactor = Java.type('io.anuke.mindustry.world.blocks.power.ImpactReactor') -const ItemLiquidGenerator = Java.type('io.anuke.mindustry.world.blocks.power.ItemLiquidGenerator') -const LightBlock = Java.type('io.anuke.mindustry.world.blocks.power.LightBlock') -const NuclearReactor = Java.type('io.anuke.mindustry.world.blocks.power.NuclearReactor') -const PowerDiode = Java.type('io.anuke.mindustry.world.blocks.power.PowerDiode') -const PowerDistributor = Java.type('io.anuke.mindustry.world.blocks.power.PowerDistributor') -const PowerGenerator = Java.type('io.anuke.mindustry.world.blocks.power.PowerGenerator') -const PowerGraph = Java.type('io.anuke.mindustry.world.blocks.power.PowerGraph') -const PowerNode = Java.type('io.anuke.mindustry.world.blocks.power.PowerNode') -const SingleTypeGenerator = Java.type('io.anuke.mindustry.world.blocks.power.SingleTypeGenerator') -const SolarGenerator = Java.type('io.anuke.mindustry.world.blocks.power.SolarGenerator') -const ThermalGenerator = Java.type('io.anuke.mindustry.world.blocks.power.ThermalGenerator') -const Cultivator = Java.type('io.anuke.mindustry.world.blocks.production.Cultivator') -const Drill = Java.type('io.anuke.mindustry.world.blocks.production.Drill') -const Fracker = Java.type('io.anuke.mindustry.world.blocks.production.Fracker') -const GenericCrafter = Java.type('io.anuke.mindustry.world.blocks.production.GenericCrafter') -const GenericSmelter = Java.type('io.anuke.mindustry.world.blocks.production.GenericSmelter') -const Incinerator = Java.type('io.anuke.mindustry.world.blocks.production.Incinerator') -const LiquidConverter = Java.type('io.anuke.mindustry.world.blocks.production.LiquidConverter') -const Pump = Java.type('io.anuke.mindustry.world.blocks.production.Pump') -const Separator = Java.type('io.anuke.mindustry.world.blocks.production.Separator') -const SolidPump = Java.type('io.anuke.mindustry.world.blocks.production.SolidPump') -const ItemSource = Java.type('io.anuke.mindustry.world.blocks.sandbox.ItemSource') -const ItemVoid = Java.type('io.anuke.mindustry.world.blocks.sandbox.ItemVoid') -const LiquidSource = Java.type('io.anuke.mindustry.world.blocks.sandbox.LiquidSource') -const PowerSource = Java.type('io.anuke.mindustry.world.blocks.sandbox.PowerSource') -const PowerVoid = Java.type('io.anuke.mindustry.world.blocks.sandbox.PowerVoid') -const CoreBlock = Java.type('io.anuke.mindustry.world.blocks.storage.CoreBlock') -const LaunchPad = Java.type('io.anuke.mindustry.world.blocks.storage.LaunchPad') -const StorageBlock = Java.type('io.anuke.mindustry.world.blocks.storage.StorageBlock') -const Unloader = Java.type('io.anuke.mindustry.world.blocks.storage.Unloader') -const Vault = Java.type('io.anuke.mindustry.world.blocks.storage.Vault') -const CommandCenter = Java.type('io.anuke.mindustry.world.blocks.units.CommandCenter') -const MechPad = Java.type('io.anuke.mindustry.world.blocks.units.MechPad') -const RallyPoint = Java.type('io.anuke.mindustry.world.blocks.units.RallyPoint') -const RepairPoint = Java.type('io.anuke.mindustry.world.blocks.units.RepairPoint') -const UnitFactory = Java.type('io.anuke.mindustry.world.blocks.units.UnitFactory') -const Consume = Java.type('io.anuke.mindustry.world.consumers.Consume') -const ConsumeItemFilter = Java.type('io.anuke.mindustry.world.consumers.ConsumeItemFilter') -const ConsumeItems = Java.type('io.anuke.mindustry.world.consumers.ConsumeItems') -const ConsumeLiquid = Java.type('io.anuke.mindustry.world.consumers.ConsumeLiquid') -const ConsumeLiquidBase = Java.type('io.anuke.mindustry.world.consumers.ConsumeLiquidBase') -const ConsumeLiquidFilter = Java.type('io.anuke.mindustry.world.consumers.ConsumeLiquidFilter') -const ConsumePower = Java.type('io.anuke.mindustry.world.consumers.ConsumePower') -const ConsumeType = Java.type('io.anuke.mindustry.world.consumers.ConsumeType') -const Consumers = Java.type('io.anuke.mindustry.world.consumers.Consumers') -const Attribute = Java.type('io.anuke.mindustry.world.meta.Attribute') -const BlockBars = Java.type('io.anuke.mindustry.world.meta.BlockBars') -const BlockFlag = Java.type('io.anuke.mindustry.world.meta.BlockFlag') -const BlockGroup = Java.type('io.anuke.mindustry.world.meta.BlockGroup') -const BlockStat = Java.type('io.anuke.mindustry.world.meta.BlockStat') -const BlockStats = Java.type('io.anuke.mindustry.world.meta.BlockStats') -const BuildVisibility = Java.type('io.anuke.mindustry.world.meta.BuildVisibility') -const PowerType = Java.type('io.anuke.mindustry.world.meta.PowerType') -const Producers = Java.type('io.anuke.mindustry.world.meta.Producers') -const StatCategory = Java.type('io.anuke.mindustry.world.meta.StatCategory') -const StatUnit = Java.type('io.anuke.mindustry.world.meta.StatUnit') -const StatValue = Java.type('io.anuke.mindustry.world.meta.StatValue') -const AmmoListValue = Java.type('io.anuke.mindustry.world.meta.values.AmmoListValue') -const BooleanValue = Java.type('io.anuke.mindustry.world.meta.values.BooleanValue') -const BoosterListValue = Java.type('io.anuke.mindustry.world.meta.values.BoosterListValue') -const ItemFilterValue = Java.type('io.anuke.mindustry.world.meta.values.ItemFilterValue') -const ItemListValue = Java.type('io.anuke.mindustry.world.meta.values.ItemListValue') -const LiquidFilterValue = Java.type('io.anuke.mindustry.world.meta.values.LiquidFilterValue') -const LiquidValue = Java.type('io.anuke.mindustry.world.meta.values.LiquidValue') -const NumberValue = Java.type('io.anuke.mindustry.world.meta.values.NumberValue') -const StringValue = Java.type('io.anuke.mindustry.world.meta.values.StringValue') -const BlockModule = Java.type('io.anuke.mindustry.world.modules.BlockModule') -const ConsumeModule = Java.type('io.anuke.mindustry.world.modules.ConsumeModule') -const ItemModule = Java.type('io.anuke.mindustry.world.modules.ItemModule') -const LiquidModule = Java.type('io.anuke.mindustry.world.modules.LiquidModule') -const PowerModule = Java.type('io.anuke.mindustry.world.modules.PowerModule') -const Produce = Java.type('io.anuke.mindustry.world.producers.Produce') -const ProduceItem = Java.type('io.anuke.mindustry.world.producers.ProduceItem') -const extend = Java.extend +const print = function(obj){ + java.lang.System.out.println(obj ? String(obj) : "null") +} +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 +const Boolf2 = Packages.io.anuke.arc.func.Boolf2 +const Boolp = Packages.io.anuke.arc.func.Boolp +const Cons = Packages.io.anuke.arc.func.Cons +const Cons2 = Packages.io.anuke.arc.func.Cons2 +const Floatc = Packages.io.anuke.arc.func.Floatc +const Floatc2 = Packages.io.anuke.arc.func.Floatc2 +const Floatc4 = Packages.io.anuke.arc.func.Floatc4 +const Floatf = Packages.io.anuke.arc.func.Floatf +const Floatp = Packages.io.anuke.arc.func.Floatp +const Func = Packages.io.anuke.arc.func.Func +const Func2 = Packages.io.anuke.arc.func.Func2 +const Func3 = Packages.io.anuke.arc.func.Func3 +const Intc = Packages.io.anuke.arc.func.Intc +const Intc2 = Packages.io.anuke.arc.func.Intc2 +const Intc4 = Packages.io.anuke.arc.func.Intc4 +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 TextureAtlas = Packages.io.anuke.arc.graphics.g2d.TextureAtlas +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 WaveSpawner = Packages.io.anuke.mindustry.ai.WaveSpawner +const Blocks = Packages.io.anuke.mindustry.content.Blocks +const Bullets = Packages.io.anuke.mindustry.content.Bullets +const Fx = Packages.io.anuke.mindustry.content.Fx +const Items = Packages.io.anuke.mindustry.content.Items +const Liquids = Packages.io.anuke.mindustry.content.Liquids +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 TypeIDs = Packages.io.anuke.mindustry.content.TypeIDs +const UnitTypes = Packages.io.anuke.mindustry.content.UnitTypes +const Zones = Packages.io.anuke.mindustry.content.Zones +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 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 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 EditorTile = Packages.io.anuke.mindustry.editor.EditorTile +const EditorTool = Packages.io.anuke.mindustry.editor.EditorTool +const MapEditor = Packages.io.anuke.mindustry.editor.MapEditor +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 Effects = Packages.io.anuke.mindustry.entities.Effects +const Entities = Packages.io.anuke.mindustry.entities.Entities +const EntityCollisions = Packages.io.anuke.mindustry.entities.EntityCollisions +const EntityGroup = Packages.io.anuke.mindustry.entities.EntityGroup +const Predict = Packages.io.anuke.mindustry.entities.Predict +const TargetPriority = Packages.io.anuke.mindustry.entities.TargetPriority +const Units = Packages.io.anuke.mindustry.entities.Units +const ArtilleryBulletType = Packages.io.anuke.mindustry.entities.bullet.ArtilleryBulletType +const BasicBulletType = Packages.io.anuke.mindustry.entities.bullet.BasicBulletType +const BombBulletType = Packages.io.anuke.mindustry.entities.bullet.BombBulletType +const BulletType = Packages.io.anuke.mindustry.entities.bullet.BulletType +const FlakBulletType = Packages.io.anuke.mindustry.entities.bullet.FlakBulletType +const HealBulletType = Packages.io.anuke.mindustry.entities.bullet.HealBulletType +const LiquidBulletType = Packages.io.anuke.mindustry.entities.bullet.LiquidBulletType +const MassDriverBolt = Packages.io.anuke.mindustry.entities.bullet.MassDriverBolt +const MissileBulletType = Packages.io.anuke.mindustry.entities.bullet.MissileBulletType +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 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 +const RubbleDecal = Packages.io.anuke.mindustry.entities.effect.RubbleDecal +const ScorchDecal = Packages.io.anuke.mindustry.entities.effect.ScorchDecal +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 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 +const HealthTrait = Packages.io.anuke.mindustry.entities.traits.HealthTrait +const KillerTrait = Packages.io.anuke.mindustry.entities.traits.KillerTrait +const MinerTrait = Packages.io.anuke.mindustry.entities.traits.MinerTrait +const MoveTrait = Packages.io.anuke.mindustry.entities.traits.MoveTrait +const SaveTrait = Packages.io.anuke.mindustry.entities.traits.SaveTrait +const Saveable = Packages.io.anuke.mindustry.entities.traits.Saveable +const ScaleTrait = Packages.io.anuke.mindustry.entities.traits.ScaleTrait +const ShooterTrait = Packages.io.anuke.mindustry.entities.traits.ShooterTrait +const SolidTrait = Packages.io.anuke.mindustry.entities.traits.SolidTrait +const SpawnerTrait = Packages.io.anuke.mindustry.entities.traits.SpawnerTrait +const SyncTrait = Packages.io.anuke.mindustry.entities.traits.SyncTrait +const TargetTrait = Packages.io.anuke.mindustry.entities.traits.TargetTrait +const TeamTrait = Packages.io.anuke.mindustry.entities.traits.TeamTrait +const TimeTrait = Packages.io.anuke.mindustry.entities.traits.TimeTrait +const TypeTrait = Packages.io.anuke.mindustry.entities.traits.TypeTrait +const VelocityTrait = Packages.io.anuke.mindustry.entities.traits.VelocityTrait +const BaseEntity = Packages.io.anuke.mindustry.entities.type.BaseEntity +const BaseUnit = Packages.io.anuke.mindustry.entities.type.BaseUnit +const Bullet = Packages.io.anuke.mindustry.entities.type.Bullet +const DestructibleEntity = Packages.io.anuke.mindustry.entities.type.DestructibleEntity +const EffectEntity = Packages.io.anuke.mindustry.entities.type.EffectEntity +const Player = Packages.io.anuke.mindustry.entities.type.Player +const SolidEntity = Packages.io.anuke.mindustry.entities.type.SolidEntity +const TileEntity = Packages.io.anuke.mindustry.entities.type.TileEntity +const TimedEntity = Packages.io.anuke.mindustry.entities.type.TimedEntity +const Unit = Packages.io.anuke.mindustry.entities.type.Unit +const BaseDrone = Packages.io.anuke.mindustry.entities.type.base.BaseDrone +const BuilderDrone = Packages.io.anuke.mindustry.entities.type.base.BuilderDrone +const Crawler = Packages.io.anuke.mindustry.entities.type.base.Crawler +const Dagger = Packages.io.anuke.mindustry.entities.type.base.Dagger +const Draug = Packages.io.anuke.mindustry.entities.type.base.Draug +const Eruptor = Packages.io.anuke.mindustry.entities.type.base.Eruptor +const FlyingUnit = Packages.io.anuke.mindustry.entities.type.base.FlyingUnit +const Fortress = Packages.io.anuke.mindustry.entities.type.base.Fortress +const Ghoul = Packages.io.anuke.mindustry.entities.type.base.Ghoul +const GroundUnit = Packages.io.anuke.mindustry.entities.type.base.GroundUnit +const MinerDrone = Packages.io.anuke.mindustry.entities.type.base.MinerDrone +const Phantom = Packages.io.anuke.mindustry.entities.type.base.Phantom +const RepairDrone = Packages.io.anuke.mindustry.entities.type.base.RepairDrone +const Revenant = Packages.io.anuke.mindustry.entities.type.base.Revenant +const Spirit = Packages.io.anuke.mindustry.entities.type.base.Spirit +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 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 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 Rules = Packages.io.anuke.mindustry.game.Rules +const Saves = Packages.io.anuke.mindustry.game.Saves +const Schematic = Packages.io.anuke.mindustry.game.Schematic +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 Team = Packages.io.anuke.mindustry.game.Team +const Teams = Packages.io.anuke.mindustry.game.Teams +const Tutorial = Packages.io.anuke.mindustry.game.Tutorial +const BlockRenderer = Packages.io.anuke.mindustry.graphics.BlockRenderer +const Bloom = Packages.io.anuke.mindustry.graphics.Bloom +const CacheLayer = Packages.io.anuke.mindustry.graphics.CacheLayer +const Drawf = Packages.io.anuke.mindustry.graphics.Drawf +const FloorRenderer = Packages.io.anuke.mindustry.graphics.FloorRenderer +const IndexedRenderer = Packages.io.anuke.mindustry.graphics.IndexedRenderer +const Layer = Packages.io.anuke.mindustry.graphics.Layer +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 OverlayRenderer = Packages.io.anuke.mindustry.graphics.OverlayRenderer +const Pal = Packages.io.anuke.mindustry.graphics.Pal +const Pixelator = Packages.io.anuke.mindustry.graphics.Pixelator +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 MobileInput = Packages.io.anuke.mindustry.input.MobileInput +const PlaceMode = Packages.io.anuke.mindustry.input.PlaceMode +const Placement = Packages.io.anuke.mindustry.input.Placement +const Map = Packages.io.anuke.mindustry.maps.Map +const Maps = Packages.io.anuke.mindustry.maps.Maps +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 GenerateFilter = Packages.io.anuke.mindustry.maps.filters.GenerateFilter +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 +const OreFilter = Packages.io.anuke.mindustry.maps.filters.OreFilter +const OreMedianFilter = Packages.io.anuke.mindustry.maps.filters.OreMedianFilter +const RiverNoiseFilter = Packages.io.anuke.mindustry.maps.filters.RiverNoiseFilter +const ScatterFilter = Packages.io.anuke.mindustry.maps.filters.ScatterFilter +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 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 +const Category = Packages.io.anuke.mindustry.type.Category +const ContentType = Packages.io.anuke.mindustry.type.ContentType +const Item = Packages.io.anuke.mindustry.type.Item +const ItemStack = Packages.io.anuke.mindustry.type.ItemStack +const ItemType = Packages.io.anuke.mindustry.type.ItemType +const Liquid = Packages.io.anuke.mindustry.type.Liquid +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 TypeID = Packages.io.anuke.mindustry.type.TypeID +const UnitType = Packages.io.anuke.mindustry.type.UnitType +const Weapon = Packages.io.anuke.mindustry.type.Weapon +const WeatherEvent = Packages.io.anuke.mindustry.type.WeatherEvent +const Zone = Packages.io.anuke.mindustry.type.Zone +const Cicon = Packages.io.anuke.mindustry.ui.Cicon +const ContentDisplay = Packages.io.anuke.mindustry.ui.ContentDisplay +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 Styles = Packages.io.anuke.mindustry.ui.Styles +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 +const Fragment = Packages.io.anuke.mindustry.ui.fragments.Fragment +const HudFragment = Packages.io.anuke.mindustry.ui.fragments.HudFragment +const LoadingFragment = Packages.io.anuke.mindustry.ui.fragments.LoadingFragment +const MenuFragment = Packages.io.anuke.mindustry.ui.fragments.MenuFragment +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 RadialTreeLayout = Packages.io.anuke.mindustry.ui.layout.RadialTreeLayout +const TreeLayout = Packages.io.anuke.mindustry.ui.layout.TreeLayout +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 Edges = Packages.io.anuke.mindustry.world.Edges +const ItemBuffer = Packages.io.anuke.mindustry.world.ItemBuffer +const LegacyColorMapper = Packages.io.anuke.mindustry.world.LegacyColorMapper +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 BlockPart = Packages.io.anuke.mindustry.world.blocks.BlockPart +const BuildBlock = Packages.io.anuke.mindustry.world.blocks.BuildBlock +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 +const LiquidBlock = Packages.io.anuke.mindustry.world.blocks.LiquidBlock +const OreBlock = Packages.io.anuke.mindustry.world.blocks.OreBlock +const OverlayFloor = Packages.io.anuke.mindustry.world.blocks.OverlayFloor +const PowerBlock = Packages.io.anuke.mindustry.world.blocks.PowerBlock +const RespawnBlock = Packages.io.anuke.mindustry.world.blocks.RespawnBlock +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 Door = Packages.io.anuke.mindustry.world.blocks.defense.Door +const ForceProjector = Packages.io.anuke.mindustry.world.blocks.defense.ForceProjector +const MendProjector = Packages.io.anuke.mindustry.world.blocks.defense.MendProjector +const OverdriveProjector = Packages.io.anuke.mindustry.world.blocks.defense.OverdriveProjector +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 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 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 ArmoredConveyor = Packages.io.anuke.mindustry.world.blocks.distribution.ArmoredConveyor +const BufferedItemBridge = Packages.io.anuke.mindustry.world.blocks.distribution.BufferedItemBridge +const Conveyor = Packages.io.anuke.mindustry.world.blocks.distribution.Conveyor +const ExtendingItemBridge = Packages.io.anuke.mindustry.world.blocks.distribution.ExtendingItemBridge +const ItemBridge = Packages.io.anuke.mindustry.world.blocks.distribution.ItemBridge +const Junction = Packages.io.anuke.mindustry.world.blocks.distribution.Junction +const MassDriver = Packages.io.anuke.mindustry.world.blocks.distribution.MassDriver +const OverflowGate = Packages.io.anuke.mindustry.world.blocks.distribution.OverflowGate +const Router = Packages.io.anuke.mindustry.world.blocks.distribution.Router +const Sorter = Packages.io.anuke.mindustry.world.blocks.distribution.Sorter +const ArmoredConduit = Packages.io.anuke.mindustry.world.blocks.liquid.ArmoredConduit +const Conduit = Packages.io.anuke.mindustry.world.blocks.liquid.Conduit +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 +const LiquidOverflowGate = Packages.io.anuke.mindustry.world.blocks.liquid.LiquidOverflowGate +const LiquidRouter = Packages.io.anuke.mindustry.world.blocks.liquid.LiquidRouter +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 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 ItemLiquidGenerator = Packages.io.anuke.mindustry.world.blocks.power.ItemLiquidGenerator +const LightBlock = Packages.io.anuke.mindustry.world.blocks.power.LightBlock +const NuclearReactor = Packages.io.anuke.mindustry.world.blocks.power.NuclearReactor +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 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 Drill = Packages.io.anuke.mindustry.world.blocks.production.Drill +const Fracker = Packages.io.anuke.mindustry.world.blocks.production.Fracker +const GenericCrafter = Packages.io.anuke.mindustry.world.blocks.production.GenericCrafter +const GenericSmelter = Packages.io.anuke.mindustry.world.blocks.production.GenericSmelter +const Incinerator = Packages.io.anuke.mindustry.world.blocks.production.Incinerator +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 ItemSource = Packages.io.anuke.mindustry.world.blocks.sandbox.ItemSource +const ItemVoid = Packages.io.anuke.mindustry.world.blocks.sandbox.ItemVoid +const LiquidSource = Packages.io.anuke.mindustry.world.blocks.sandbox.LiquidSource +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 LaunchPad = Packages.io.anuke.mindustry.world.blocks.storage.LaunchPad +const StorageBlock = Packages.io.anuke.mindustry.world.blocks.storage.StorageBlock +const Unloader = Packages.io.anuke.mindustry.world.blocks.storage.Unloader +const Vault = Packages.io.anuke.mindustry.world.blocks.storage.Vault +const CommandCenter = Packages.io.anuke.mindustry.world.blocks.units.CommandCenter +const MechPad = Packages.io.anuke.mindustry.world.blocks.units.MechPad +const RallyPoint = Packages.io.anuke.mindustry.world.blocks.units.RallyPoint +const RepairPoint = Packages.io.anuke.mindustry.world.blocks.units.RepairPoint +const UnitFactory = Packages.io.anuke.mindustry.world.blocks.units.UnitFactory +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 +const ConsumeLiquid = Packages.io.anuke.mindustry.world.consumers.ConsumeLiquid +const ConsumeLiquidBase = Packages.io.anuke.mindustry.world.consumers.ConsumeLiquidBase +const ConsumeLiquidFilter = Packages.io.anuke.mindustry.world.consumers.ConsumeLiquidFilter +const ConsumePower = Packages.io.anuke.mindustry.world.consumers.ConsumePower +const ConsumeType = Packages.io.anuke.mindustry.world.consumers.ConsumeType +const Consumers = Packages.io.anuke.mindustry.world.consumers.Consumers +const Attribute = Packages.io.anuke.mindustry.world.meta.Attribute +const BlockBars = Packages.io.anuke.mindustry.world.meta.BlockBars +const BlockFlag = Packages.io.anuke.mindustry.world.meta.BlockFlag +const BlockGroup = Packages.io.anuke.mindustry.world.meta.BlockGroup +const BlockStat = Packages.io.anuke.mindustry.world.meta.BlockStat +const BlockStats = Packages.io.anuke.mindustry.world.meta.BlockStats +const BuildVisibility = Packages.io.anuke.mindustry.world.meta.BuildVisibility +const PowerType = Packages.io.anuke.mindustry.world.meta.PowerType +const Producers = Packages.io.anuke.mindustry.world.meta.Producers +const StatCategory = Packages.io.anuke.mindustry.world.meta.StatCategory +const StatUnit = Packages.io.anuke.mindustry.world.meta.StatUnit +const StatValue = Packages.io.anuke.mindustry.world.meta.StatValue +const AmmoListValue = Packages.io.anuke.mindustry.world.meta.values.AmmoListValue +const BooleanValue = Packages.io.anuke.mindustry.world.meta.values.BooleanValue +const BoosterListValue = Packages.io.anuke.mindustry.world.meta.values.BoosterListValue +const ItemFilterValue = Packages.io.anuke.mindustry.world.meta.values.ItemFilterValue +const ItemListValue = Packages.io.anuke.mindustry.world.meta.values.ItemListValue +const LiquidFilterValue = Packages.io.anuke.mindustry.world.meta.values.LiquidFilterValue +const LiquidValue = Packages.io.anuke.mindustry.world.meta.values.LiquidValue +const NumberValue = Packages.io.anuke.mindustry.world.meta.values.NumberValue +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 LiquidModule = Packages.io.anuke.mindustry.world.modules.LiquidModule +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 \ 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 d5be037ede..055e1bda8e 100644 --- a/core/src/io/anuke/mindustry/mod/Scripts.java +++ b/core/src/io/anuke/mindustry/mod/Scripts.java @@ -13,7 +13,6 @@ public class Scripts{ private static final Class[] denied = {FileHandle.class, InputStream.class, File.class, Scripts.class, Files.class, ClassAccess.class}; private final Context context; private final String wrapper; - private Context console; private Scriptable scope; public Scripts(){ @@ -24,18 +23,19 @@ public class Scripts{ context.setOptimizationLevel(-1); } + //context.setClassShutter(ClassAccess.allowedClassNames::contains); scope = context.initStandardObjects(); wrapper = Core.files.internal("scripts/wrapper.js").readString(); - run(wrapper); + run(Core.files.internal("scripts/global.js").readString(), "global.js"); Log.info("Time to load script engine: {0}", Time.elapsed()); } public void run(LoadedMod mod, FileHandle file){ - run(wrapper.replace("$SCRIPT_NAME$", mod.name + "_" +file.nameWithoutExtension().replace("-", "_").replace(" ", "_")).replace("$CODE$", file.readString())); + run(wrapper.replace("$SCRIPT_NAME$", mod.name + "_" +file.nameWithoutExtension().replace("-", "_").replace(" ", "_")).replace("$CODE$", file.readString()), file.name()); } - private void run(String script){ - Log.info(context.evaluateString(scope, script, "???", 0, null)); + private void run(String script, String file){ + context.evaluateString(scope, script, file, 1, null); } } diff --git a/tools/src/io/anuke/mindustry/tools/ScriptStubGenerator.java b/tools/src/io/anuke/mindustry/tools/ScriptStubGenerator.java index dc5a909504..8841a07be3 100644 --- a/tools/src/io/anuke/mindustry/tools/ScriptStubGenerator.java +++ b/tools/src/io/anuke/mindustry/tools/ScriptStubGenerator.java @@ -46,11 +46,10 @@ public class ScriptStubGenerator{ || blacklist.contains(s -> type.getName().startsWith(base + "." + s + ".")) || nameBlacklist.contains(type.getSimpleName())); StringBuilder result = new StringBuilder("//Generated class. Do not modify.\n"); - for(Class type : classes){ - result.append("const ").append(type.getSimpleName()).append(" = ").append("Java.type('").append(type.getCanonicalName()).append("')\n"); - } - result.append("\n").append(new FileHandle("core/assets/scripts/base.js").readString()).append("\n"); + for(Class type : classes){ + result.append("const ").append(type.getSimpleName()).append(" = ").append("Packages.").append(type.getCanonicalName()).append("\n"); + } //Log.info(result);