diff --git a/core/assets/scripts/global.js b/core/assets/scripts/global.js index d91fe9950c..b5a4c8740f 100755 --- a/core/assets/scripts/global.js +++ b/core/assets/scripts/global.js @@ -158,6 +158,7 @@ const UnlockEvent = Packages.mindustry.game.EventType.UnlockEvent const StateChangeEvent = Packages.mindustry.game.EventType.StateChangeEvent const CoreChangeEvent = Packages.mindustry.game.EventType.CoreChangeEvent const BuildTeamChangeEvent = Packages.mindustry.game.EventType.BuildTeamChangeEvent +const TileFloorChangeEvent = Packages.mindustry.game.EventType.TileFloorChangeEvent const TileChangeEvent = Packages.mindustry.game.EventType.TileChangeEvent const TilePreChangeEvent = Packages.mindustry.game.EventType.TilePreChangeEvent const BuildDamageEvent = Packages.mindustry.game.EventType.BuildDamageEvent @@ -190,6 +191,8 @@ const WorldLoadEvent = Packages.mindustry.game.EventType.WorldLoadEvent const FileTreeInitEvent = Packages.mindustry.game.EventType.FileTreeInitEvent const MusicRegisterEvent = Packages.mindustry.game.EventType.MusicRegisterEvent const ClientLoadEvent = Packages.mindustry.game.EventType.ClientLoadEvent +const ModContentLoadEvent = Packages.mindustry.game.EventType.ModContentLoadEvent +const AtlasPackEvent = Packages.mindustry.game.EventType.AtlasPackEvent const ContentInitEvent = Packages.mindustry.game.EventType.ContentInitEvent const BlockInfoEvent = Packages.mindustry.game.EventType.BlockInfoEvent const CoreItemDeliverEvent = Packages.mindustry.game.EventType.CoreItemDeliverEvent diff --git a/core/src/mindustry/entities/bullet/InterceptorBulletType.java b/core/src/mindustry/entities/bullet/InterceptorBulletType.java index 015b7337f9..0c0ab47fd8 100644 --- a/core/src/mindustry/entities/bullet/InterceptorBulletType.java +++ b/core/src/mindustry/entities/bullet/InterceptorBulletType.java @@ -4,6 +4,7 @@ import arc.util.*; import mindustry.entities.*; import mindustry.gen.*; +/** This class can only be used with PointDefenseBulletWeapon. Attempting to spawn it in outside of that weapon will lead to standard behavior. */ public class InterceptorBulletType extends BasicBulletType{ public InterceptorBulletType(float speed, float damage){ diff --git a/core/src/mindustry/entities/comp/BuilderComp.java b/core/src/mindustry/entities/comp/BuilderComp.java index 4ce5151b88..68828042a1 100644 --- a/core/src/mindustry/entities/comp/BuilderComp.java +++ b/core/src/mindustry/entities/comp/BuilderComp.java @@ -188,7 +188,7 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{ //otherwise, update it. if(current.breaking){ entity.deconstruct(self(), core, bs); - }else{ + }else if(entity.current.unlockedNowHost()){ //only allow building unlocked blocks entity.construct(self(), core, bs, current.config); } diff --git a/core/src/mindustry/mod/ClassMap.java b/core/src/mindustry/mod/ClassMap.java index df08419251..648acbf985 100644 --- a/core/src/mindustry/mod/ClassMap.java +++ b/core/src/mindustry/mod/ClassMap.java @@ -46,15 +46,18 @@ public class ClassMap{ classes.put("ContinuousFlameBulletType", mindustry.entities.bullet.ContinuousFlameBulletType.class); classes.put("ContinuousLaserBulletType", mindustry.entities.bullet.ContinuousLaserBulletType.class); classes.put("EmpBulletType", mindustry.entities.bullet.EmpBulletType.class); + classes.put("EmptyBulletType", mindustry.entities.bullet.EmptyBulletType.class); classes.put("ExplosionBulletType", mindustry.entities.bullet.ExplosionBulletType.class); classes.put("FireBulletType", mindustry.entities.bullet.FireBulletType.class); classes.put("FlakBulletType", mindustry.entities.bullet.FlakBulletType.class); + classes.put("InterceptorBulletType", mindustry.entities.bullet.InterceptorBulletType.class); classes.put("LaserBoltBulletType", mindustry.entities.bullet.LaserBoltBulletType.class); classes.put("LaserBulletType", mindustry.entities.bullet.LaserBulletType.class); classes.put("LightningBulletType", mindustry.entities.bullet.LightningBulletType.class); classes.put("LiquidBulletType", mindustry.entities.bullet.LiquidBulletType.class); classes.put("MassDriverBolt", mindustry.entities.bullet.MassDriverBolt.class); classes.put("MissileBulletType", mindustry.entities.bullet.MissileBulletType.class); + classes.put("MultiBulletType", mindustry.entities.bullet.MultiBulletType.class); classes.put("PointBulletType", mindustry.entities.bullet.PointBulletType.class); classes.put("PointLaserBulletType", mindustry.entities.bullet.PointLaserBulletType.class); classes.put("RailBulletType", mindustry.entities.bullet.RailBulletType.class); @@ -74,6 +77,7 @@ public class ClassMap{ classes.put("PartMove", mindustry.entities.part.DrawPart.PartMove.class); classes.put("PartParams", mindustry.entities.part.DrawPart.PartParams.class); classes.put("PartProgress", mindustry.entities.part.DrawPart.PartProgress.class); + classes.put("EffectSpawnerPart", mindustry.entities.part.EffectSpawnerPart.class); classes.put("FlarePart", mindustry.entities.part.FlarePart.class); classes.put("HaloPart", mindustry.entities.part.HaloPart.class); classes.put("HoverPart", mindustry.entities.part.HoverPart.class); @@ -127,6 +131,8 @@ public class ClassMap{ classes.put("NeoplasmUnitType", mindustry.type.unit.NeoplasmUnitType.class); classes.put("TankUnitType", mindustry.type.unit.TankUnitType.class); classes.put("BuildWeapon", mindustry.type.weapons.BuildWeapon.class); + classes.put("MineWeapon", mindustry.type.weapons.MineWeapon.class); + classes.put("PointDefenseBulletWeapon", mindustry.type.weapons.PointDefenseBulletWeapon.class); classes.put("PointDefenseWeapon", mindustry.type.weapons.PointDefenseWeapon.class); classes.put("RepairBeamWeapon", mindustry.type.weapons.RepairBeamWeapon.class); classes.put("HealBeamMount", mindustry.type.weapons.RepairBeamWeapon.HealBeamMount.class); @@ -143,10 +149,13 @@ public class ClassMap{ classes.put("ControlBlock", mindustry.world.blocks.ControlBlock.class); classes.put("ExplosionShield", mindustry.world.blocks.ExplosionShield.class); classes.put("ItemSelection", mindustry.world.blocks.ItemSelection.class); + classes.put("LaunchAnimator", mindustry.world.blocks.LaunchAnimator.class); classes.put("RotBlock", mindustry.world.blocks.RotBlock.class); classes.put("UnitTetherBlock", mindustry.world.blocks.UnitTetherBlock.class); classes.put("Accelerator", mindustry.world.blocks.campaign.Accelerator.class); classes.put("AcceleratorBuild", mindustry.world.blocks.campaign.Accelerator.AcceleratorBuild.class); + classes.put("LandingPad", mindustry.world.blocks.campaign.LandingPad.class); + classes.put("LandingPadBuild", mindustry.world.blocks.campaign.LandingPad.LandingPadBuild.class); classes.put("LaunchPad", mindustry.world.blocks.campaign.LaunchPad.class); classes.put("LaunchPadBuild", mindustry.world.blocks.campaign.LaunchPad.LaunchPadBuild.class); classes.put("AutoDoor", mindustry.world.blocks.defense.AutoDoor.class); @@ -223,6 +232,8 @@ public class ClassMap{ classes.put("DuctBuild", mindustry.world.blocks.distribution.Duct.DuctBuild.class); classes.put("DuctBridge", mindustry.world.blocks.distribution.DuctBridge.class); classes.put("DuctBridgeBuild", mindustry.world.blocks.distribution.DuctBridge.DuctBridgeBuild.class); + classes.put("DuctJunction", mindustry.world.blocks.distribution.DuctJunction.class); + classes.put("DuctJunctionBuild", mindustry.world.blocks.distribution.DuctJunction.DuctJunctionBuild.class); classes.put("DuctRouter", mindustry.world.blocks.distribution.DuctRouter.class); classes.put("DuctRouterBuild", mindustry.world.blocks.distribution.DuctRouter.DuctRouterBuild.class); classes.put("ItemBridge", mindustry.world.blocks.distribution.ItemBridge.class); @@ -436,6 +447,7 @@ public class ClassMap{ classes.put("ConsumeCoolant", mindustry.world.consumers.ConsumeCoolant.class); classes.put("ConsumeItemCharged", mindustry.world.consumers.ConsumeItemCharged.class); classes.put("ConsumeItemDynamic", mindustry.world.consumers.ConsumeItemDynamic.class); + classes.put("ConsumeItemEfficiency", mindustry.world.consumers.ConsumeItemEfficiency.class); classes.put("ConsumeItemExplode", mindustry.world.consumers.ConsumeItemExplode.class); classes.put("ConsumeItemExplosive", mindustry.world.consumers.ConsumeItemExplosive.class); classes.put("ConsumeItemFilter", mindustry.world.consumers.ConsumeItemFilter.class);