This system will not increase lag! The entire point of this system is to avoid the lag caused by higher height limits.
Table of Contents:
Overview
Changes in how things work
Data storage
Changes to world features
Coping with sunlight
Changes to servers
Render/Load distance alterations
Frequently Asked QuestionsChanges to world features
Coping with sunlight
Changes to servers
Render/Load distance alterations
[WIP] The Cubic Chunks Mod!
Gallery
Supporting this suggestion
Special thanks
[spoiler=Tl:dr]Q: Won't this increase lag?
A: Absolutely not. The title of this suggestion and big red letters at the top of this post aren't lying. If you want to know how, then I suggest you actually read this post.
Q: Will this change terrain? Will this break existing worlds?
A: No. Terrain change is not necessary. Existing worlds can be converted fairly easily with a process described later in this post.
Q: How can sunlight or rain work with infinite vertical space?
A: I suggest you read Coping with sunlight, because it's too complex for a tl;dr.
Q: I have a different question but still don't feel like reading this post. What do I do?
A: Too bad, read the FAQ. I put way too much work into this for the entirety of it to be ignored.[/spoiler]
Overview:
In Minecraft, the sky is the limit - literally. It doesn't matter how many thousands of blocks a player has traveled, or what dimension they're in, or even if they're playing in creative or survival, the highest they can ever build is up to a height of 256. Why is that? If Minecraft can have a world that's infinite in the north, in the south, in the east, and in the west, why can't that world be infinite up and down too?
In Minecraft's earliest days, in Classic and Indev, the world was not infinite in any direction. This was because the entire world needed to be generated at the same time, and the entire world needed to be simulated at the same time as well. This led to a conundrum - the bigger the world, the more it lagged.
Notch didn't like this. He knew his players liked to explore and build large creations, so he found a way to make the world truly infinite. When the Minecraft '' class='bbc'>Infdev came out, it brought with it truly infinite worlds. Suddenly, players could travel hundreds of thousands of blocks in any direction, and never encounter a barrier, or become too laggy.
The Infdev update brought about a very large change to Minecraft worlds to accomplish this feat. For the first time, instead every world being just a single huge piece, they were broken up into a two-dimensional grid of pieces, called chunks. Through breaking the world up into pieces, this 'chunk system' enabled infinite worlds by letting Minecraft create new pieces and simulate them only when it needs to.
Why does that not apply to the vertical axis? Because the type of 'chunk system' Minecraft uses right now is a linear one, which, by using only a two-dimensional grid to map out chunks, means that it is impossible for chunks to stack on top of one another, and by extension, meaning that a single chunk must cover the entire vertical space. This brings back the problem that the Infdev update was supposed to eradicate, now only with chunks, instead of an entire world; the bigger a chunk is, the more laggy it is. You can't just increase the height limit and make chunks taller, because it will become laggier, and laggier, and laggier to do it.
That's why, to fix this, Minecraft must change over to a cubic chunk system. Under this system, 163 block chunks are aligned on a three-dimensional grid, completely eliminating maximum height as an aspect of lag.
The immediate benefits:
•Minecraft worlds become as virtually infinite vertically as they are horizontally: The absolute limit being Y = ±30,000,000.
•A large FPS increase: Alpha testers report an FPS increase of 100~200%.
•Increase in running capability: Computers running Minecraft on Tiny render distance will handle only 30% the blocks they do now.
The possible features:
•Spherical render/load distance: Reduce handled blocks by up to 30% by cutting corners made of unneeded chunks.
•Server chunk occlusion/exclusion: Reduce bandwidth usage and defeat hackers by only sending data for visible chunks.
•Three-dimensional biomes: Save biome data per chunk rather than per block column, create volcanoes with magma chambers, underground rivers, tropical skylands floating over icy taigas, and more.
The disadvantages:
•Unloaded gravity-pause: Falling non-player entities and fluids will be forced to pause their fall if they reach unloaded chunks, but will resume falling when those chunks are loaded.
•Slow falling-pause: Players with slower computers and smaller render distances will have falling occasionally paused as they fall into unloaded chunks, until new chunks can be loaded.
The problems:
•Current sunlight and rain calculation methods cannot work with infinite vertical space: The solution to this is described here.
•Current BiomeDecorator cannot work with multiple vertical chunks simultaneously: The BiomeDecorator code must be altered to function correctly with this, or removed.
•Current cave generation method is executed an extra time for each vertical chunk created simultaneously, leading to lag spikes on world generation: Cave generation's method must be altered to suit this system more.
•Current grass/dirt generation algorithm forces additional chunk requests when chunks are loaded, causing chunks to load slower than they should: This algorithm must be replaced with something else.
Changes in how things work:
Obviously, the implementation of this new chunk system will change quite a few things. These changes are mostly either necessary or in the interest of increased efficiency. Such changes are categorized and explained below.
How worlds will be stored:
[spoiler]How the current storage works, and what changes:
Interestingly enough, the current method of storage, the Anvil format, is derived from the storage method that the original Cubic Chunks mod used. The Anvil format stores individual chunk as a series of 163 quasi-cubic chunks. These 'fake' cubic chunks allow for easier reference of specific data, but they still can't be separated from each other, meaning that it fails to reap the full benefits of this system. Even so, the change allowed Mojang to double the maximum height with no performance hit. Chunks are stored in groups of 322, inside 'MCRegion' files, for a total of 1024 chunks.
By nature, cubic chunks does away with the 'quasi-cubic' nonsense. In terms of chunk grouping, instead of using groups of 323 chunks, new "3DRegion" files would contain groups of 163. This means each 3DRegion file contains 4096 chunks, four times as many as MCRegion files. However, each 3DRegion contains only one fourth the amount of blocks. For per-chunk positional metadata, 3DRegion files would use the same number of bits as MCRegion files, after compression. Calculations show that the same area encompassed by a single MCRegion file would consume 64 kilobytes of extra space with 4 3DRegion files, which is nothing.
Converting existing worlds:
Most people are probably wondering something like "But won't this totally destroy all existing worlds?". Absolutely not; conversion could not be simpler. When a non-cubic world is loaded after the implementation of this system, a conversion process will begin and convert the entire world at once(To avoid making chunk loading take longer during play). First, all existing MCRegion files will be divided into quarters to create 3DRegion files. Then, all existing chunks are divided into sixteenths using the quasi-cubic properties to identify boundaries. After that, conversion is done.
The "isEmpty" flag optimization:
A 1-bit flag is added to each chunk, named "isEmpty". If the chunk consists of 100% air blocks, this bit is 1, any other case makes it 0. When the bit is 1, all data for the chunk besides the isEmpty flag is deleted and ignored, which reduces filesize. Empty chunks are never loaded, and locations where they occur are merely simulated as entities reside in them. The chunk will only load when something requires saving inside it.[/spoiler]
Changes to terrain, ores, etcetera:
[spoiler]Terrain:
By default, nothing will change. Small bits of terrain generation code need to be reconfigured to work properly with Cubic Chunks.
Biomes:
By default, nothing will change.
Ore generation:
By default, nothing will change.
Structures:
By default, nothing will change.
The Void:
After conversion to Cubic Chunks, the void and bedrock layer will still exist and generate as they always have. However, the void(Not the bedrock layer!) will not exist as a hard limit and is able to be moved, but not removed, by editing an associated NBT data tag inside a world's level.dat. This feature, that allows for increasing the maximum depth, is intentionally disabled without external programs, to prevent terrain change of any sort. It is intended to be used by experienced mapmakers and world generation mods only.
Superflat settings:
Existing superflat worlds will not change. However, new superflat worlds will gain a new decoration parameter, 'void'. Inclusion of this parameter will cause the void to form below the lowest defined layer. Exclusion of it will cause all layers below the lowest defined layer to copy the settings of that layer.[/spoiler]
Coping with sunlight:
[spoiler]There used to be a solution here, but it wasn't deemed good enough by Jeb. Suggest solutions in this thread.[/spoiler]
Changes to servers:
[spoiler]Settings:
There's a setting inside the Server.properties file called 'max-build-height'. The setting makes it impossible for any player to place or remove blocks above that height.
With the implementation of Cubic Chunks, a new setting named "maximum-generation-depth" would be added. The void, bedrock layers, and magma layers will generate normally at and above the Y level designated by the value of this setting.
Chunk occlusion/exclusion:
Using the raytracing methods already available in the code and used for explosion calculations, servers can identify which chunks are visible to a player, within safe assumptions, and only send the data for those chunks. This both reduces bandwidth usage, and cripples the usefulness of X-Ray cheats.[/spoiler]
Render/Load distance alterations:
[spoiler]After the implementation of Cubic Chunks, view distances' radii will apply to the vertical axis too. This reduces handled blocks in the cases of tiny and short render distances, and increases them in the cases of normal and far render distances. This can be optimized by utilizing a spherical render distance instead of a cubic one, which would reduce handled blocks in all distances except Far.[/spoiler]
Frequently Asked Questions:
[spoiler=FAQ]Q: This is impossible.
A: No it's not. See below.
Q: Is this available as a mod?
A: Not yet! But it will be!
Q: I like X-ray! What if I don't want it to be broken?
A: First of all, breaking X-ray hacks will only be possible to do in multiplayer. That said, the system that would break X-ray would be possible to disable by the server owner. If the owner doesn't disable the system, then they don't want you using X-ray, and you should not be doing what the server owner doesn't want in the first place.
Q: I play on a PvP/Anarchy/Raid/Faction server. Won't this system let people pillar up into the sky and create a base thousands of blocks in the air and never be found?
A: No.
Q: I like Minecraft's current height limits. What if I don't want to have an infinite sky or infinite underground?
A: If this system is added, all worlds will not automatically gain an infinite underground. As stated below, the Void will remain in all worlds, even after the conversion to Cubic Chunks. The ability to remove the Void will simply be there. As for infinite space in the sky, the current build limit is over one hundred blocks above any terrain that vanilla Minecraft can possibly generate. It is ENTIRELY your decision on whether or not you take advantage of this height. If you play on a server, like stated above, the server owner can set a maximum build height. If s/he doesn't, then don't play on their server - you don't play on servers where the server owners allow things you don't like. Why would you play on an anarchy server if you hate being stolen from and killed?
Q: Will this affect Redstone at all?
A: No. This system will simply make it possible to make larger redstone circuitry than before.
Q: Won't this break existing worlds?
A: No. Existing worlds can be easily converted by dividing each MCRegion file into 4 pieces, then slicing the existing 256 block-high chunks inside them into 16 individual chunks.
Q: Won't this affect mods? Won't mod authors have a hard time updating their mods?
A: The answer to this question depends solely on the answer to the following two questions: Do parts of the modification code rely on chunk data/metadata? Does the mod author want to take advantage of the features of the new chunk system? If the answers to the first and second question are both "No", then updating a mod to this system should be very easy and quick. If the answer to the first question is "Yes", then those parts of the code will need to be rewritten somewhat, but in most cases, the changes should be fairly quick and easy. The only time that it should be hard to update a mod to this system, is if the answer to the second question is "Yes".
Q: Won't this require a total rewrite of the mod API if that's released first?
A: No. Whether or not even a small part of the mod API needs to be rewritten depends on the way that it is implemented and whether or not there are API inclusions for chunk handling and other chunk-related behavior.
Q: Could a player fall into unloaded chunks if chunks aren't loaded fast enough?
A: No, they could not, and for several reasons. Minecraft has a terminal velocity, though it might not seem like it. This velocity is slower than it should take to load new chunks below the player. In cases with exceptionally slow computers, even if the player did manage to reach an unloaded chunk, their fall would be paused until that chunk can be loaded.
Q: What would happen when water, sand, or a mob falls into an unloaded chunk?
A: Nothing. The water/sand/mob would freeze in place until the chunk is loaded and it can continue moving. You can already see this same thing happening on the horizontal axis.
Q: What will happen to the Void?
A: It will still exist, along with all its effects. The only difference is that the Void is no longer a hard limit and it can be moved. After the conversion to Cubic Chunks, the Void's location will be stored in a world's ' class='bbc'>level.dat, and this location can be changed with NBT editing tools. When and where the Void exists, chunks will cease to generate.
Q: Will this affect terrain?
A: No. However, terrain generators will gain the ability to use infinite height.
Q: Will this affect ore generation?
A: No. Ore is a part of terrain generation. As stated above, terrain will not be changed.
Q: Won't all current terrain generators be incompatible with this system and need to be rewritten?
A: No. Terrain generators work independently of chunks. When a chunk is generated for the first time, it calls the terrain generator and receives a specific section of the resultant terrain to save inside itself. Because of this, some custom terrain generators can generate steep terrain all the way to Y256, where you can experience a large, flat cut-off. Since there are no chunks above Y256 to call the terrain generator for terrain, no terrain exists there.
Q: What would happen if there's a huge solid ceiling so far above you that it is unloaded? Wouldn't you just see the sky, just with everything being completely dark?
A: Yes. This already happens on the horizontal axis, and it is an issue with sky rendering, not this chunk system. As such, this has nothing to do with this suggestion. Please do not post about this.
Q: If you go deep underground, will your plants grow/ores smelt/animals grow?
A: No, because those chunks would be unloaded, just as if you had walked far away. This is a flaw with any chunk system, regardless of shape. It is a necessary evil that allows Minecraft to have infinite worlds. The only way to fix this would be to introduce a separate new system that works with chunks as they are loaded and unloaded. This suggestion deals with the chunk system itself, and not sister processes. Because of that, that is outside of the scope of this suggestion. Please do not post about this.[/spoiler]
[WIP] The Cubic Chunks Mod! (Tall Worlds Mod):
Cuchaz has taken it upon himself to bring us the glorious Cubic Chunks, since Mojang refuses to do so.
Cuchaz is using a API of his own creation to help assist in the making of this mod, and he's quite far along, as seen in these two tech demo videos:
[spoiler=T-Demo 1: Vertical chunk loading][/spoiler]
[spoiler=T-Demo 2: Broken height cap and no lag!][/spoiler]
With the basic functionality in place - a complete overhaul of the basic chunk system, and height limit removed - this whole concept can already be considered proven. What remains is making sure everything else functions correctly under the new chunk system. In any case, stay tuned for future updates if it interests you(If it doesn't, then you are the weakest link - goodbye!).
You can follow the mod's development in much more depth in its very own topic!
Gallery:
[spoiler=A mountainside with an experimental engine using Cubic Chunks designed by Nocte. 960 block view radius, and 30 FPS.]

[spoiler=A different view of the mountainside with the same engine by Nocte. This time, with 1600 block view radius and 15 FPS.]

[spoiler="A video demonstrating Nocte's engine."]
Support & Submission to Mojang:
If you support this, hit the rep button in the bottom-left corner of this post. It is the only good way of accurately measuring support here.
If you wish, you can put the following banner, courtesy of laz2727, into your signature. It helps to attract support from all parts of the forum!
[url=http://www.minecraftforum.net/topic/1707097-cubic-chunks-infinite-height-elimination-of-x-ray-and-more-60-supporters/page__st__0][img]http://img833.imageshack.us/img833/443/hov.png[/img][/url]

Please help us get word out of this suggestion! Share this with your friends, with Minecraft celebrities if you're familiar with them, or even with Mojangsters like Jeb or Dinnerbone! (Do not share this with Notch. Notch doesn't work with Minecraft anymore.)
The purpose of this suggestion is to have Cubic Chunks implemented in Vanilla. Being available as a modification does not fulfill that purpose. The modification featured in this suggestion is to act as a proof-of-concept only(Note: Its being featured here is to act as a proof-of-concept. The modification itself is on its way to becoming a fully fledged modification).
Special thanks:
Cuchaz, for taking Barteks' proof and running with it, to give us a truly functional Cubic Chunks mod.
Barteks2x, for updating the Cubic Chunks mod to 1.6.2, proving that it is possible.
Azraile, for posting the original suggestion and allowing me to take ownership of it.
Nocte, for helping resolve flaws and designing Hexahedra.
MineCrak, for a large amount of valuable insight and enthusiasm into the topic of Cubic Chunks.
aaronfranke, for helping resolve flaws.
PanJouda, for creating the original banner.
Flexico, for creating the predecessor to the current banner.
laz2727, for creating the current banner.
Robinton, for creating the original Cubic Chunks mod.
The_Watchman13, for answering all those stupid questions so I don't have to.
Note: Many calculations and information can be found among the many posts of this topic. There are too many for me to cite here, but if you wish, you can search for them yourself.
4
ive come out of the woodwork once again,
to requote you in retrospect its not "we're" not the bad guys but just you mrbrutal,this isnt a personal attack or anything but the true owner of traincraft is spitfire4466 not you,youre just someone that he picked up almost 3 years ago but now youre just taking donations through patreon without keeping your promises to the small fine community of traincraft/trains and zeppelins. you should be ashamed of yourself for capitalizing your profits on spitfire4466 work.
dont you ever tell me that you contributed too,because in my eyes you havent been keeping up with your half past 6 promises on that blog which you made,ill give you credit for the blog and site alright but the mod by itself and its code only belongs to spitfire4466.
if youre going to open the project source code,do it properly with no catch 22s,as in no raking in patreon profits on other peoples hardwork be it someone trying to port it over to 1.7.10/1.8.8 or even 1.9
otherwise you better close up shop for that kind of bad business practice which ive been occasionally checking up all this while. ever since you came aboard and booted me off bitbucket,i was already wary of whats to come. so drop that unreasonable licensing youre trying to tack on or do what you have originally been tasked to do which is to keep the mod up to date!
2
Im not here to flaunt and or anything but, i was here at the beginning when spitfire started this mod,quite a number of updates or features were simple feedbacks on my end, with that said i think this mod was cannibalized by mrbrutal as previously i had access to the github or was it bitbucket sourcecode from spitfire but somehow when mrbrutal came in i lost access to it,as i wasnt a programmer myself it may or may not have been useful to me for having access,but seeing that mrbrutal was receiving donations from patreon and other donation methods without putting up a proper revision of code or updates,updates from 1.47~1.6+ do not count as spitfire returned for a while and did some coding work.
most of you have been taken for a ride paying him donations just for a beautiful website he now hosts it on but with a lack of mod support and empty promises. note to you mrbrutal,dont promise people you are working on it and give up halfway while receiving donations,if you cant deliver please drop all work and the website. mind you this is not a hate speech its just what ive been observing over the years since the mod inception in 2013.hoping since you took over the mod so good things will come out of it instead i see lack of updates and empty promises when even a semi similar mod called railcraft sees a reasonable amount of updates,and even at one point worked in tandem with this mod.
dont use the coding as a hobby or its not a job or among those lines therefore you dont have to put out as much updates and such as an excuse only to take donations for free.
make it open source or i will simply ask spitfire for the old source code and try my hand on it instead.3 years is plenty of time to make meaningful updates.
1
well updating of the mod is still in progress + i intend to keep spitfire4466 current request of no more rolling stock models will be accepted until further notice.
though thank you for small contribution,however it will be shelved for the moment since con currently the restructuring of the code was just completed.
1
actually if you are worried about aesthetics,there is a way to reduce or rather eliminate the problem.
「build corners at a 45゜ angle instead of perfect 90゜turns」
EDIT : spitfire4466
Forge developer edition is out,you might want to take a look it it,its not on the default forge port so here is the other link ※http://jenkins.minecraftforge.net:7070/job/forge/
versions above 175 are recommended
1
1
this depends if there is an API to be worked on,because the Forge has not released an updated version yet.
2
wiki updated to be slightly more informative.
1
thank you for your hardwork.
please list the version of trains and zeppelins you are using as there are 2 separate versions which are 2.09e and 2.09i the latter being a testbuild for testers or anyone not minding some bugs.
1
That is okay,if you are unsure how to combine block IDs for now leave the current configuration as is.I dont want to pressure you to prioritize fixing the mod over the course of your exam which i believe you mention starting soon?
Probably when you have more time you should re write/re arrange the first post and probably redirect some traffic to the wiki instead.though i wont edit the wiki with major information/snapshots until a certified version is released as i dont want to document certain things in the mod which has some uncertainty.
EDIT : there is a slight bug or i should say linking issues with the HS locomotive and passenger cart,the first cart will always phase through the locomotive itself and not keep a minimum link distance behind the actual model. somehow the HS locomotive seems to be more work than other locomotives.
1
well here is a mod list i have concurrently in my build of 1.2.5
mod_NotEnoughItems 1.2.2.4
SPC for Player API patch 6.0 for SPC 3.2.2
mod_MinecraftForge 3.2.5.120
mod_ReiMinimap v3.1 [1.2.5]
Mine & Blade: Battlegear - 2.7.7.1 Mine & Blade: Battlegear - 2.7.7.1 [1.2.5]
mod_UpdateManager by Vazkii. Version 1.2
mod_IC2 v1.95
mod_IC2AdvancedMachines v4.0
mod_AUniversalElectricity 0.1.6
mod_BuildCraftCore 2.2.14
mod_BuildCraftEnergy 2.2.14
mod_BuildCraftFactory 2.2.14
mod_BuildCraftTransport 2.2.14
mod_BCIC2Crossover 1.28 for MC 1.2.5, BC 2.2.14, IC2 1.95b
mod_BuildCraftBuilders 2.2.14
mod_CraftGuide 1.4.3 for Minecraft 1.2.3
mod_FN5728Guns 1.2.5-1
mod_Forestry 1.4.6.2
mod_IC2NuclearControl v1.1.8
mod_InvTweaks 1.41b (1.2.4)
mod_littleMaidMob SMP_0.5.3
mod_MineThrower 1.2.3
mod_CompactSolars 2.2
mod_IronChest 3.3
mod_Thx Minecraft THX Helicopter Mod - mod_thx-mc125_v018
mod_NihongoInput NihongoMOD v1.0 alpha
mod_PE14Gun [1.2.4]v0.6
mod_PlayerFormLittleMaid 1-2-4~5-10e
mod_QuickGuide 1.2.3
mod_Railcraft 5.3.2
mod_RedPowerControl 2.0pr5b2
mod_RedPowerCore 2.0pr5b2
mod_RedPowerLighting 2.0pr5b2
mod_RedPowerLogic 2.0pr5b2
mod_RedPowerMachine 2.0pr5b2
mod_RedPowerWiring 2.0pr5b2
mod_RedPowerWorld 2.0pr5b2
mod_Train 2.00
mod_WirelessRedstoneCore 1.2.1
mod_WirelessRedstoneAddons 1.2.1
mod_WirelessRedstoneRedPower 1.2.1.1
mod_ICBM 0.3.1
43~mods
,generally speaking/informing IC2 is able to run on forge 3.2.5 precisely 3.2.5 build 120 is it more of internal hooks and modloader or otherwise?
EDIT : about speed limits,since it is difficult to maintain proportionate readings to ingame real movement speed we can try a relative method.
as previously posted i noted 「as my memory serves me」17ms does not outrun the chunkloader so what you can try first and especially the highspeed locomotive is 17ms being the highspeed locomotive max speed and highest of all the trains but with some adjustments,if railcraft is detected and HS locomotive is used with HS rails 17ms is acheivable,without railcraft the maximum speed of the HS locomotive is 15ms, a change of 2ms in reality will not see real effect but in minecraft it is noticeable,hence the designation.
for meter adjustments you can proportionate real ratios to virtual ratios,here as an example on maximum speed the HS locomotive is moving at 17ms but the meter will read it as 244.8kmh relative to it and ratio wise it is actually 68ms however it is displayed on the meter being 4 times faster but in reality it is really 17ms,because 17ms in minecraft is considerably and noticeably fast it compensates for not being the real speed.
hence we will run by the virtual:real ratio of 1:4.
※unfortunately the imperial measuring system is not used here so i am only able to provide metric measurements
from this brief explanation you can adjust the speed and meter display as according or as subject to your changes.
HS locomotive「railcraft present」⇒meter reading : 244.8kmh/68ms,actual reading/speed : 17ms
HS locomotive「railcraft absent」⇒meter reading : 216kmh/60ms,actual reading/speed : 15ms
Diesel Locomotives⇒meter reading : 187.2kmh/52ms,actual reading/speed : 13ms
Coal Locomotives⇒meter reading : 158.4kmh/44ms,actual reading/speed : 11ms
Trams⇒meter reading : 129.6kmh/36ms,actual reading/speed : 9ms
You can set a range for each individual locomotives variants excluding coloured variants based on the chart above as i did not set a range because i had to deal with chunkloading speed limits and better than minecart speed limits,therefore you can decide the range for each with reference from above per type of locomotive e.g HS,diesel,coal and trams.
however the overall range which i highly suggest to keep is 9ms~17ms one fore being slightly faster than the minecart and one which does not outrun the chunkloader.
※trams in general do not have speeds higher than 60kmh but as knowing the minecraft minecart moves at 8ms having a slower tracked vehicle than the minecart seems unfeasible,the only advantages that i know out weighs the minecart itself is that trams can be self powered and is pilotable compared to the minecart,that being the case trams do not consume alot of power for its speed and convenience over other locomotives and the minecart itself.
※suggestions are not final but subjected to your preference and further testing upon implementation
lastly does the issue affect only HS passenger carts or most carts aside from locomotives?if it is the first then you can implement when HS passenger cart is linked speed limit is reduced to 130kmh as of now to compensate for the bug for now.
as i have not experimented the current 80mph=?ms i will assume based on the ratio formula i have suggested above,meaning as previously stated
80mph⇒meter reading : 130kmh/36ms,actual reading/speed : 9ms
while it may be reduced to tram speeds when connected with a HS passenger cart it woulc be a temporary solution since it is the certified version 2.00 build but a test build.
if it is not as above then temporarily subject all locomotives to speed limits of 130kmh when none locomotives/carts are attached.
at this point of time i may want to try the speed adjustment first over fixing locomotive + cart speeds reduced bug.
i do hope some suggestions above if not all will be implemented in the next test build of version 2.00