Jump to content

[Vorschlag] Technicians Electricity


idk.cpp
 Share

Recommended Posts

Hallo Leute,

ich hatte letztens eine Idee. Wer schon mal mit BC, UE oä gearbeitet hat, dem fiel vielleicht auch auf, dass es offenbar in Minecraft keine Stromkreise in dem Sinn gibt.

Jetzt habe ich mir gedacht, dass mein ein Framework resp. eine API schreiben könnte die eine realistische Elektrik implementiert und dann schaut ob man andere Modder dazu bringen kann diese API zu unterstüzen.

Im Sinn hatte ich:

  • Stromkreise die geschlossen sein müssen (inkl. Nullleiter, Phase, Erde und so)
  • Stromzähler (f. Multiplayer oder so)
  • Messtechnik (Einheiten wie Volt, Watt, Amprere, Ohm, Culomb und Messgeräte dafür)
  • optional auch Sicherungen oder Strombegrenzung um die Verteilung zu steuern

Natürlich sollte man im Zuge dessen auch mehrphasige Kabel und verschiedene Litzenfarben und so was einbauen.

Ich würde mich über Rückmeldungen freuen.

\Edit

Auch würde ich mich über Devs freuen die mir gern bei dem Projekt helfen würden...

LG,

idk.cpp

Edited by idk.cpp
Link to comment
Share on other sites

Klingt sehr interessant, jedoch braucht das eine immense Rechenleistung. Ich meine für jedes Kabel den aktuellen Stromfluss realistisch mit Verlust zu berechnen ist doch sehr anspruchsvoll. Und das 20 mal / Sekunde.

Ja, man kann es auch zB alle 10 Ticks machen, aber ob es dann schnell genug ist ist die andere Frage.

Für kleine Server kaum größer als 10-30 Spieler mit einem sehr leistungsstarken Xeon auf mind 3.5 GHz *könnte* es gerade noch zu schaffen sein.

Eine Idee: Versuche doch, wenn dann, die Berechnungen asynchron in 2-4 Threads zu halten und dann bei jedem Tick die aktuellen Werte vom Asynchronen Thread in den Serverthread zu übernehmen. Ja, diese Aufgabe zu bewältigen ist sehr anspruchsvoll für den Programmierer. Aber das Ergebnis wird überzeugen, vor allem die Server-Admins werden sich freuen :)

Edited by boomer41
Link to comment
Share on other sites

Ich würde bei jedem BlockUpdate schauen ob das Grid geändert wurde, dann ein Spice model (oä zum simulieren) und so mal die Ströme und Spannungen zu errechnen. Die Ladungen würde ich nicht echtzeit berechnen sonder mit Zeitpunkten...

Link to comment
Share on other sites

Klingt prinzipiell interessant, dürfte aber platztechnisch ein Albtraum werden. Wenn ich die Kabel nicht in einem Strang legen kann, sondern wegen der einzelnen Phasen auch noch einzeln, dann wird selbst ein kleiner Stromkreis sehr schnell zu einem riesen Gebilde (Ich brauche dann ja für ein Kabel die dreifache Breite).

Alternativ ließe sich das evtl. wie bei Rednet lösen, denn hier wird über ein Kabel bis zu 16 verschiedene Signale übertragen, die über einen Rednet Controller programmiert werden können und dann unterschiedlichen Zuständen zugeordnet werden können. Angeschlossen wird dann zwar immernoch einfach, aber die Logik wäre vorhanden.

Wichtig ist natürlich, dass dieser mod mit allen applied energetics Mods kompatibel sein muß, sonst wird das ein nischenmod bleiben.

Link to comment
Share on other sites

Das mit den mehrphasigen Kabel mach ich wahrscheinlich so wie Rednet. Da wird es auch einen Schaltkastenblock geben wo man zB litzen kreuzen oder Sicherungen/Zähler einbauen kann...

Bez. AE:

Ich weiß nicht ob mir der Algorithmus von Applied Energistics gefällt... Der ist nämlich der Ansatz eines Programmieres und nicht der eines Elektronikers.

Wenn man sich zB die IEnergySource von AE anschaut:

/** * Extract power from the network. * * @param amt extracted power * @param mode should the action be simulated or performed? * @return returns extracted power. */ public double extractAEPower(double amt, Actionable mode, PowerMultiplier usePowerMultiplier);

In welcher Einheit ist amt? Volt, Watt, Ampere, Amperesekunden?

Ich glaub nicht dass man das adaptieren kann....

Link to comment
Share on other sites

AE nutzt ja die Einheiten der angeschlossenen Mods. Thermal Expansion benutzt RF, Buildcraft EU (oder waren es MJ?) und Galacticraft Kilowatt und dazu gibt es dann entsprechende Umrechnungsfaktoren, die eine RF Maschine mit EU laufen lassen und umgekehrt.

Die Idee von AE ist ja eben die sonst inkompatiblen Mods miteinander zu verbinden. Wenn du das wieder aufbrichst wird der Mod nicht sehr populär werden, denn heutzutage ist in quasi jedem Modpack AE Standard.

Edited by BrowserXL
Link to comment
Share on other sites

Hier hab ich ein Problem (mal abgesehen davon dass der Mod nicht populär wird):

EU sind Electrical Units (soweit ich mir das gemerkt habe) also wahrscheinlich eine Ladung.

RF ist Redstone Flux, das ist eine komplett nichtssagende Einheit

MJ sind Minecraft Joule

Ladung ist C (Coulomb) hat im SI die Einheit As (Ampere * Sekunde)

Joule ist kg * m^2 / s^2 oder auch VAs oder auch CV (Coulomb * Volt) oder auch Ws (Watt * Sekunde)

Kilowatt sind einfach nur Watt

Wie genau sollte man zwischen denen bitte mit einem Faktor umrechnen können?

Als kleiner Vergleich:

Mein Auto hat 95 PS Höchstgeschwindigkeit bei 6,5 km/h auf 100 ccm

Mein Plan ist nicht eine Kompatibilität herzustellen sondern die Möglichkeit von sinnvollen elektrischen Netzwerken einzubauen.

Link to comment
Share on other sites

AE hat einen festen Umrechnungsfaktor für die einzelnen Eiheiten, die im übrigen alle komplett ausgedacht sind, nicht umsonst sagen einige die Einheit heist in Wirklichkeit RastaFaris oder oder Michael Jacksons ... und es gibt noch diverse andere je nach Let's Player.

Ich bin kein Elektriker und in E Technik nicht unbedingt bewandert, von daher entschuldige meine Ignoranz ein wenig ;)

Ich kenne halt die entsprechenden Mods und weiß wie sie funktionieren. Wenn du mit solchen Mods interagieren willst, dann brauchst halt ein kompatibles System, oder du hast Stromkreise ohne Verbraucher am Ende, bzw. mußt die Mods alle umschreiben, bzw. eigene Maschinensätze herstellen.

Beispiel. Ich habe ein Thermal Expansion Energiegewinnungssetup und will damit ein paar Maschinen anschließen.

Die Energiegewinnung in Thermal Expansion erfolgt über Dynamos, die allesammt 80RF/s liefern. Dies kann ich über verschiedene Leitungen mit Bandbreiten von 80RF/s, 400RF/s und 2000RF/s distributieren. Mit gleichen Input und Outputraten bzw. wachsenden Speicherkapazitäten gibt es dann noch Energiezellen um die Energie zu lagern.

Diese Energie wird nun wiederrum von Maschinen konsumiert. Wenn ich also mehrere Maschinen an einem (ich nenne es jetzt einfach mal so) Bus anschließen will, dann brauche ich wenn ich bei voller Effizienz der Maschinen und verlustfrei von der Generierung arbeiten will genug Bandbreite auf den Leitungen und muß genug produzieren um das leisten zu können, bzw. brauche eine entsprechend großen Speicher, der Lastspitzen abfangen kann.

Dies entspricht sicher nicht dem realitätsnahen Modell wie Energiewirtschaft funktioniert, aber so funktioniert es in Minecraft und den jeweiligen Mods.

Die Umrechnungsfaktoren in AE sind nun dafür da, das ich einen Thermal Expansion Maschinenpark mit Industrial Craft Energie befeuern kann.

Die Umrechnungsverhältnisse sind im übrigen:

RF zu MJ: 10 zu 1

RF zu EU: 4 zu 1

RF zu KW: 1 zu 4

(ich nehme immer RF als Basisgröße, weil mir TE als Energiegewinnungsmod am besten gefällt ;))

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B
B