mflink3012 / spaceengineers-mod-teleportingsensors Goto Github PK
View Code? Open in Web Editor NEWA mod for Space Engineers that allows using sensors for teleportation.
A mod for Space Engineers that allows using sensors for teleportation.
Exception occurred: System.NullReferenceException: Object reference not set to an instance of an object.
at SpaceEngineers.Mod.TeleportingSensor.LogicComponent.<>c__DisplayClass12_0.b__0(IMyPlayer p)
at Sandbox.Game.Multiplayer.MyPlayerCollection.VRage.Game.ModAPI.IMyPlayerCollection.GetPlayers(List'1 players, Func'2 collect)
at SpaceEngineers.Mod.TeleportingSensor.LogicComponent.UpdateBeforeSimulation100()
at VRage.Game.Components.MyGameLogicComponent.VRage.Game.Entity.EntityComponents.Interfaces.IMyGameLogicComponent.UpdateBeforeSimulation100(Boolean entityUpdate)
at Sandbox.Game.Entities.Cube.MyFunctionalBlock.UpdateBeforeSimulation100()
at Sandbox.Game.Entities.MyParallelEntityUpdateOrchestrator.UpdateBeforeSimulation100()
at Sandbox.Game.Entities.MyParallelEntityUpdateOrchestrator.DispatchBeforeSimulation()
at Sandbox.Game.Entities.MyEntities.UpdateBeforeSimulation()
at Sandbox.Game.World.MySector.UpdateBeforeSimulation()
at Sandbox.Game.World.MySession.UpdateComponents()
at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)
at Sandbox.MySandboxGame.Update()
at Sandbox.Engine.Platform.Game.UpdateInternal()
at Sandbox.Engine.Platform.Game.RunSingleFrame()
at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.b__0()
at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback)
at Sandbox.Engine.Platform.Game.RunLoop()
at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
at SpaceEngineers.MyProgram.Main(String[] args)
If one gives an offset to a sensors via teleporter.offset
, closes the Custom Data dialog and then removes it with editing Custom Data again, the teleporter will not reset the offset internaly.
This will lead to the situation, that the last set offset will still be used when teleporting from a linked teleporter.
Workaround:
Give teleporter.offset=0,0,0
.
TeleporterEntity
with attributes: Name
, Target
, Offset
, methods: TeleportCurrently the mod will register the teleporting sensors in the TeleporterNetwork, but will not unregister it after changing teleporter.name
.
Because the TeleporterNetwork will still hold the object with it's old name, this may lead to problems with
So the TeleportingSensor should detect changes in names, unregister itself with the old name and register itself with the new name.
If one enters an invalid target to a sensors Custom Data, the mod will spam ERROR: No teleporter found with the name '...'!
without stopping.
The game will crash and give the following exception in the logs:
Exception occurred: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at SpaceEngineers.Mod.TeleportingSensor.LogicComponent.UpdateBeforeSimulation100()
at VRage.Game.Components.MyGameLogicComponent.VRage.Game.Entity.EntityComponents.Interfaces.IMyGameLogicComponent.UpdateBeforeSimulation100(Boolean entityUpdate)
at Sandbox.Game.Entities.Cube.MyFunctionalBlock.UpdateBeforeSimulation100()
at Sandbox.Game.Entities.MyParallelEntityUpdateOrchestrator.UpdateBeforeSimulation100()
at Sandbox.Game.Entities.MyParallelEntityUpdateOrchestrator.DispatchBeforeSimulation()
at Sandbox.Game.Entities.MyEntities.UpdateBeforeSimulation()
at Sandbox.Game.World.MySector.UpdateBeforeSimulation()
at Sandbox.Game.World.MySession.UpdateComponents()
at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)
at Sandbox.MySandboxGame.Update()
at Sandbox.Engine.Platform.Game.UpdateInternal()
at Sandbox.Engine.Platform.Game.RunSingleFrame()
at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.b__0()
at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback)
at Sandbox.Engine.Platform.Game.RunLoop()
at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
at SpaceEngineers.MyProgram.Main(String[] args)
when giving a non-existent target to a sensors Custom Data.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.