Posted
·
Edited by mooviies Added new function setUpdateSpeed
This is an emulator of the Draconic Evolution's reactor. Basically, it emulates all inputs and outputs of the reactor with great precision. It is based on the actual Draconic Evolution's code.
I made that to be able to test automatic control softwares without blowing up my base or needing to go in a creative world.
To use it you simply use a require like always. The functions all have the same name than the Draconic Evolution's API.
I also added some custom functions to control stuff like fake flux gate for example. Here they are.
fluxGates.input and fluxGates.output -- Provides access to the virtual input and output flux gate. I didn't implemented all the methods for those, only what I thought was used by an automatic control system.
setOverrideEnabled (boolean) : doesn't do anything. Just there to prevent error when calling it on a real flux gate.
getFlow () : returns the current flow of the gate
setFlowOverride (number) : set the current flow to the input
setFuel(number) : Set the fuel quantity in the reactor. This can only be changed when the reactor is cold. The minimum for the reactor to be able to start is 144 (equivalent to 1 awakened draconium ingot) and the maximum is 10368 (8 awakened draconium block)
reset() : Reset the reactor completely. Everything is set back to 0.
update() : This needs to be called in the main loop of the control software. This method manage the call so the reactor is only updated each minecraft ticks.
setUpdateSpeed(number) : Set the simulation speed. 1 is the default speed, 2 is two time the speed, etc. Increasing the speed over 100 will exponentially give inaccurate values.
To display the status simply use the fields in getReactorInfo() like with the Draconic Evolution's API.
Draconic Reactor Emulator
in Programs
Posted · Edited by mooviies
Added new function setUpdateSpeed
This is an emulator of the Draconic Evolution's reactor. Basically, it emulates all inputs and outputs of the reactor with great precision. It is based on the actual Draconic Evolution's code.
I made that to be able to test automatic control softwares without blowing up my base or needing to go in a creative world.
Here's the pastebin link https://pastebin.com/WduATMTF
To use it you simply use a require like always. The functions all have the same name than the Draconic Evolution's API.
I also added some custom functions to control stuff like fake flux gate for example. Here they are.
fluxGates.input and fluxGates.output -- Provides access to the virtual input and output flux gate. I didn't implemented all the methods for those, only what I thought was used by an automatic control system.
setFuel(number) : Set the fuel quantity in the reactor. This can only be changed when the reactor is cold. The minimum for the reactor to be able to start is 144 (equivalent to 1 awakened draconium ingot) and the maximum is 10368 (8 awakened draconium block)
reset() : Reset the reactor completely. Everything is set back to 0.
update() : This needs to be called in the main loop of the control software. This method manage the call so the reactor is only updated each minecraft ticks.
setUpdateSpeed(number) : Set the simulation speed. 1 is the default speed, 2 is two time the speed, etc. Increasing the speed over 100 will exponentially give inaccurate values.
To display the status simply use the fields in getReactorInfo() like with the Draconic Evolution's API.