CubeGrid.GetCubeBlock(POS) return null for non terminal blocks
Reported
i write script for auto repairer drone.
and stuck on problem:
if (Control.CubeGrid.CubeExists(BlockPos)) { Block = Control.CubeGrid.GetCubeBlock(BlockPos); //Returns null for Armor and other non terminal blocks ... }For me it need for two scenario:
1) for calculate right center of masses for ships without IMyShipController module (if cockpit destroyed for example) because i dont know what type of block on position and dont know mass of this block
2) for get damage and missed components for repair ship after getting damage.
In decompilled libraries from game i see next code:
VRage.Game.ModAPI.Ingame.IMySlimBlock VRage.Game.ModAPI.Ingame.IMyCubeGrid.GetCubeBlock( Vector3I position) { VRage.Game.ModAPI.Ingame.IMySlimBlock cubeBlock = (VRage.Game.ModAPI.Ingame.IMySlimBlock) this.GetCubeBlock(position); if (cubeBlock != null && cubeBlock.FatBlock != null && (cubeBlock.FatBlock is MyTerminalBlock && (cubeBlock.FatBlock as MyTerminalBlock).IsAccessibleForProgrammableBlock)) return cubeBlock; return (VRage.Game.ModAPI.Ingame.IMySlimBlock) null; }Early (some years ago) this functional works fine and if IMySlimBlock will not been MyTerminalBlock - IMySlimBlock.FatBlock return null, but i can use IMySlimBlock.Mass, IMySlimBlock.CurrentDamage and IMySlimBlock.GetMissingComponents
Now this functional is not working.
Also i have problem to identitfy not 1x1x1 size (non Terminal) blocks because i cannot determine size of block, block type, block hash and orientation.
Fix it please! I need this functional.
Hello, Engineer!
Thank you for your feedback! Your topic has been added between considered issues.
Please keep voting for the issue as it will help us to identify the most serious bugs.
We really appreciate your patience.
Kind Regards
Keen Software House: QA Department
Hello, Engineer!
Thank you for your feedback! Your topic has been added between considered issues.
Please keep voting for the issue as it will help us to identify the most serious bugs.
We really appreciate your patience.
Kind Regards
Keen Software House: QA Department
... 10 months without a fix or an explanation. Thank you ... I just spent 12 hours building something, last 3 hours debugging ... just to end up here and realize you don't care :/
... 10 months without a fix or an explanation. Thank you ... I just spent 12 hours building something, last 3 hours debugging ... just to end up here and realize you don't care :/
Hello, Engineers!
Is there any way how you can show me in game itself? Does the non-functional script influence some grid/block not to work properly? The original text is speaking about self-repairing drone. Is it same case for you? If yes, can you please share the BP of the drone and the script itself as well? That would be the best way to start with. Or maybe whole save file might be the best, so I can just load it and try/see it on my own.
You can access your save files by typing %appdata% into your Windows search bar and you will be redirected to the hidden Roaming folder. After that just follow: \Roaming\SpaceEngineers\Saves. There should be a folder with your SteamID and your saves.
Please zip the file and attach it here. If you are having difficulty attaching files you can optionally use Google Drive. When sharing a google drive link please make sure it is set to be downloadable by anyone with the link.
Thanks in advance for providing requested files.
Kind Regards
Keen Software House: QA Department
Hello, Engineers!
Is there any way how you can show me in game itself? Does the non-functional script influence some grid/block not to work properly? The original text is speaking about self-repairing drone. Is it same case for you? If yes, can you please share the BP of the drone and the script itself as well? That would be the best way to start with. Or maybe whole save file might be the best, so I can just load it and try/see it on my own.
You can access your save files by typing %appdata% into your Windows search bar and you will be redirected to the hidden Roaming folder. After that just follow: \Roaming\SpaceEngineers\Saves. There should be a folder with your SteamID and your saves.
Please zip the file and attach it here. If you are having difficulty attaching files you can optionally use Google Drive. When sharing a google drive link please make sure it is set to be downloadable by anyone with the link.
Thanks in advance for providing requested files.
Kind Regards
Keen Software House: QA Department
Hello, the API simply doesn't work as expected, and the issue is really simple:
- CubeGrid.CubeExists returns true
- CubeGrid.GetCubeBlock returns null (ergo cube doesn't exist).
Here is a simple demonstration: https://steamcommunity.com/sharedfiles/filedetails/?id=2421215065
Just hit the Run button in PB and see the output.
Here is the code for reference:
Hello, the API simply doesn't work as expected, and the issue is really simple:
- CubeGrid.CubeExists returns true
- CubeGrid.GetCubeBlock returns null (ergo cube doesn't exist).
Here is a simple demonstration: https://steamcommunity.com/sharedfiles/filedetails/?id=2421215065
Just hit the Run button in PB and see the output.
Here is the code for reference:
Hello, Jakub,
thanks for making the example. Like this, the issue was easily and successfully reproduced. I put it into our internal system.
Kind Regards
Keen Software House: QA Department
Hello, Jakub,
thanks for making the example. Like this, the issue was easily and successfully reproduced. I put it into our internal system.
Kind Regards
Keen Software House: QA Department
Still nothing has changed. If you want to preserve backwards compatibility, then just add a parameter with a default. It really should be extremly simple:
One could do some neat stuff, if one had access to that information.Still nothing has changed. If you want to preserve backwards compatibility, then just add a parameter with a default. It really should be extremly simple:
One could do some neat stuff, if one had access to that information.Hey, the topic seems to be very old, but I wanted to build pretty much the same thing. In SE you are always building quite large ships in space and welding is one of the things that takes most of the time. I wanted to build a drone that can find all unfinished blocks in a grid, get the missing components and complete the block. So your own task is only setting the block and wait for the drone to finish it. I started this and got stuck here pretty soon. I would really like to know if you are at least looking into this request. Programmable Blocks was my reason to start playing SE and it makes me a little said, that this feature doesn't get as much love as the rest of the game.
As a statement of my resolve, I attached an Emotion Controller to my unfinshed drone and set its face to sad until we get this feature. Only you can change it to happy now :/
Hey, the topic seems to be very old, but I wanted to build pretty much the same thing. In SE you are always building quite large ships in space and welding is one of the things that takes most of the time. I wanted to build a drone that can find all unfinished blocks in a grid, get the missing components and complete the block. So your own task is only setting the block and wait for the drone to finish it. I started this and got stuck here pretty soon. I would really like to know if you are at least looking into this request. Programmable Blocks was my reason to start playing SE and it makes me a little said, that this feature doesn't get as much love as the rest of the game.
As a statement of my resolve, I attached an Emotion Controller to my unfinshed drone and set its face to sad until we get this feature. Only you can change it to happy now :/
Replies have been locked on this page!