Players have wished for a way to automatically transfer cargo from one ship/station to another.
Cargo docking modules behave like normal docking modules, except they don't allow chain docking. They only behave different if both the docked ship and the mothership have at least one PlexStorage on board.
I suggest having 2 types of cargo docking modules: the LoadingDockingModule and the UnloadingDockingModule.(both can be extended using a CargoDockExtender or maybe a normal docking extender)
The LoadingDockingModule takes items from PlexStorages on the mothership and places them in a PlexStorage on the docked ship. This process could use energy for every transported item.
The UnloadingDockingModule reverses the process and takes items from the PlexStorages in the docked ship and places them in the mothership. Again at a certain energy cost.
This would allow semi-automated cargo transport based on existing features(docking, energy use, PlexStorages). In combination with other upcoming features(like salvagers, that put the salvaged items in PlexStorages) this would allow the whole cargo and salvaging sector of the StarMade-economy to grow extremely. Huge cargo containers and container transporters would be usable without causing much lag, since the cargo could be transported without having to keep the content of all PlexStorages permanently loaded, nor having to load all PlexStorages simultanously for loading and unloading. The current problem with big cargo storages on ships is, that, whenever one opens one's inventory, all PlexStorages(which can easily go up to 20k on cargo containers) are loaded and added to the GUI, causing an about 10 second or longer lasting framefreeze and maybe a crash.
The following quote-block contains some details about how exactly the octree can be used to implement this feature without many performance issues. If you neither know, how an octree works, nor know some details about java, this will not contain any relevant information to you.
The octree, which will be implemented within the next update, will also not interfere with the implementation of this feature. The nodes of the tree simply contain a boolean and a Boolean(I am referring to the class java.lang.Boolean), that determine, weither the part of the ship contains a PlexStorage, and if they are empty, partially filled, or completely filled.(the Boolean allows 3 states{true, false and null}, while the boolean only has 2 states{true and false}) Based on that information, the LoadingDockingModule skips all sections of the ship, that do not contain a PlexStorage or only contain completely filled PlexStorages.
As you can see, this suggestion would not only have a big effect, but would also be easy to implement.
Cargo docking modules behave like normal docking modules, except they don't allow chain docking. They only behave different if both the docked ship and the mothership have at least one PlexStorage on board.
I suggest having 2 types of cargo docking modules: the LoadingDockingModule and the UnloadingDockingModule.(both can be extended using a CargoDockExtender or maybe a normal docking extender)
The LoadingDockingModule takes items from PlexStorages on the mothership and places them in a PlexStorage on the docked ship. This process could use energy for every transported item.
The UnloadingDockingModule reverses the process and takes items from the PlexStorages in the docked ship and places them in the mothership. Again at a certain energy cost.
This would allow semi-automated cargo transport based on existing features(docking, energy use, PlexStorages). In combination with other upcoming features(like salvagers, that put the salvaged items in PlexStorages) this would allow the whole cargo and salvaging sector of the StarMade-economy to grow extremely. Huge cargo containers and container transporters would be usable without causing much lag, since the cargo could be transported without having to keep the content of all PlexStorages permanently loaded, nor having to load all PlexStorages simultanously for loading and unloading. The current problem with big cargo storages on ships is, that, whenever one opens one's inventory, all PlexStorages(which can easily go up to 20k on cargo containers) are loaded and added to the GUI, causing an about 10 second or longer lasting framefreeze and maybe a crash.
The following quote-block contains some details about how exactly the octree can be used to implement this feature without many performance issues. If you neither know, how an octree works, nor know some details about java, this will not contain any relevant information to you.
The octree, which will be implemented within the next update, will also not interfere with the implementation of this feature. The nodes of the tree simply contain a boolean and a Boolean(I am referring to the class java.lang.Boolean), that determine, weither the part of the ship contains a PlexStorage, and if they are empty, partially filled, or completely filled.(the Boolean allows 3 states{true, false and null}, while the boolean only has 2 states{true and false}) Based on that information, the LoadingDockingModule skips all sections of the ship, that do not contain a PlexStorage or only contain completely filled PlexStorages.
As you can see, this suggestion would not only have a big effect, but would also be easy to implement.