A harder pipe system/United pipes idea

  • Hello,

    I recently got a mod idea I would like to work on. First of all, let me give you a little background on who I am. I am from Germany and I call myself sirati (with a small 's' :'D). I started programming when I was 9 years old and it took my some years to understand what OOP is and how good code looks like. I started to use Java around 5 to 6 ago and for around 3 years I used it for multiple hours a day. Lately, I did not had much time because of the now written part of my finals. But now i am free, yeha!
    In addition, I already have a lot of experience with modding Minecraft server-side. Actually, I used the bukkit and craftbukkit API to the full extend and also know NetMinecraftServer well. With some friends I had opened a nonprofit minecraft server which offered kit-/ability-/souppvp. Nearly every plugin the user interacted with was self made (permissions, chat, worldprotection, spawnmanagement , multilanguage support, the pvp and more). As it added many items and because of the localisation it became more and more difficult to keep track on which was used while only using craftbukkit/spigot methods. Because of this I wrote some patches which allowed me to add new items server-side, while keeping the vanilla client. Later I refactored the code and wrote my own fork of spigot which offered an API to modify items, enchantments, inventories, crafting, enchanting and anvils on NMS level. It only needs some minor tweaks, bugfixes and an merge with the upcoming spigot 1.12 (to update it to 1.12) to finally be released :D. Now back to the minecraft server: While being hosted in Germany it got also very poplar in Portugal and Brasil and there where even some big youtubers (100k - 1m) who played on it. It had an average of 150 players on it the record was around ~450. I am not sure if I am still able to find the screenshot. After school killed my motivation it slowly started to die and I closed it last year.

    That said, you obviously released that Forge is missing. And yes I have close to no knowledge about the Forge Modding API. And that is also the main reason why I am writing this post. My plan to develop such a big mod (I am telling you soon. No worries) will only be successful in an find a couple developers, who are similarly experienced with java and also know Forge well. The goal is to program the mod together. So you also need to know Git. (And be able to help a little with gradle, I used maven so far) Compared to other forums I think this forum has a good community and I hopefully will find someone.

    So what is my mod about? An ultrarealistic pipe system to rule them all (yay references). Now let me try to break it down for you (you might need to also have basic knowledge to understand particle physics, to get everything without further googling or explanation as the mod's goal is to be realistic):

    There are 5 different types of specialisations for pipes. Items, fluids, energy, data and specific for this mod (for example entangled particles). Data pipes can transport redstone signals, Computercraft and OpenComputers communication and also data for other mods as ae2. In addition it also is used and needed for communication between midgame to endgame devices attached to the pipe, which allow precise control of the flow. Items as well fluids will also need special treatment based on there mass, density, viscosity and temperature. That also means that we will need to write dynamic methods to assign this value to every item and fluid as realistic as possible.

    Pipes are generally build out of a base which defines it behaviour, abilities and limitations as well as the type that can be transported. Some bases will also require others the function (mainly endgame). Later pipes are divided into sub-pipes and therefore can transport multiple types as once. Earlygame pipes offer no control over the flow and allow simple branching. Later some require modules to be attached to branches to work at all. In addition, there are optional modules which add all the functionality and more which are known from other mods who add pipes (collecting drops, extracting items from inventories, filters, routing). In the early game modules are also required every x pipes to accelerate the item/fluid or repeat the data. Most modules require energy to work, which can be provided externally or over a sub-pipe. Some modules also require a data sub-pipe.
    In the early endgame fluids will be transported over an item channel and therefore require a module that translates them. These also require casings to be available. Then in the late endgame items and liquids are teleported to the destination via quantum physics. (This is also available in late middlegame, but it is done via ender-technology and uses up molten ender. Thereby it is very costly and not that practical. Moreover, it should instead be used for actual teleportation, when there are no pipes connecting two points). To accomplish this 3 things are needed: The entry- and exitpoint have enough entangled photons and degenerated matter to allow the teleportation. Both have enough energy. The digital routing device first assign an route, tells it the entry- and exitpoint and then sends the data from the collapsed entangled photons to actually allow the teleportation. Thereby it requires an energy, data and photon subpipe and a supply of degenerated matter.
    All possible ways of transportation are in some way capped. Early game is very slow and offers close to no control. Midgame requires you to have different containers and endgame needs coolant and other materials that can be generated only by energy. On the other hand energy consumption will be quite low and constant in the endgame and the player is granted infinite range and speed.

    Other things the player has to deal with:
    All measure of transport which physically move an item or fluid will take gravity into account. That means even if you have friction-less transportation, you will lose velocity when going uphill as this requires energy. In the early- and midgame he has to deal with friction and electrical resistance. That means items and fluids need to be accelerated periodically. Data signals can only be carried a limited distance before they need to be repeated and energy is lost. Some materials also have specific limitations. Wooden pipes for example cannot transport hot items and fluids or they will start to burn and then drop their good. Glass (from sand) see-through pipes will have problems with cold liquids and has a chance to shatter. Also liquid pipes are contaminated and need the be cleaned if another liquid should be send through them. This is impossible for pipes our of organic matter.

    As you see this mod makes it much harder to use pipes. So its kinda the gregtech of pipes. Because of this we need to replace the pipes of other mods.

    If you know another forum where i could find a developer, please tell me. I hope that I find someone, but in need I would also do it on my own.

  • I really like this idea. Unfortunately, I'm not well versed in the Forge API, either. I would still like to help with this mod though any way I can ^^

    First of all, I am happy that you like the idea. I really started to doubt whether it was a good idea to post this.

    Obviously not everything that needs to be done is forge related. I think the main challenge is to actually design algorithms which precalculate expensive task and keep the mod as efficient as possible.