@@ -162,13 +162,13 @@ public void CInit(DynamicMachine machine){
162162 machine .addMachineEventHandler (ControllerGUIRenderEvent .class , event -> {
163163 var ctrl = event .getController ();
164164 var data = ctrl .getCustomDataTag ();
165- var speed = data .getFloat ("speed" );
165+ var speed = data .hasKey ( "speed" ) ? data . getFloat ("speed" ) : 1.0f ;
166166 var energyStored = data .getString ("energyStored" ).isEmpty () ? "0" :data .getString ("energyStored" );
167167
168168 String [] info = {
169169 "§b/////////// 梦之管理者 ///////////" ,
170- "§b能量储存:§a" + formatNumber (energyStored ) + " RF" ,
171- "§b输入输出值:§a" + formatNumber ((long ) (defaultTransferAmount * speed )) + " RF/t" ,
170+ "§b能量储存:§a" + formatNumber (getBigInt ( energyStored ) ) + " RF" ,
171+ "§b输入输出值:§a" + formatNumber ((long ) (defaultTransferAmount * speed ), 1 ) + " RF/t" ,
172172 "§b一分钟内平均交互速度:§a" + change (ctrl ) + " RF/t" ,
173173 "§b///////////////////////////////////"
174174 };
@@ -243,11 +243,14 @@ private String change(TileMultiblockMachineController ctrl){
243243 FixedSizeDeque <String > energy = getEnergyInfo (ctrl .getWorld (),ctrl .getPos ());
244244 var newtime = energy .getFirst ();
245245 var oldtime = energy .getLast ();
246- var newbig = getBigInt (newtime );
247- var oldbig = getBigInt (oldtime );
248- var changel = newbig .subtract (oldbig );
249-
250- return formatNumber (changel .compareTo (BigLongMax ) >= 0 ? longmax : Long .toString (changel .longValue () / (1200L / MinuteScale * energy .size ())));
246+ var newbig = newtime == null ? BigInteger .ZERO : getBigInt (newtime );
247+ var oldbig = oldtime == null ? BigInteger .ZERO : getBigInt (oldtime );
248+ if (newbig .equals (oldbig )) {
249+ return "0" ;
250+ } else {
251+ var changel = newbig .subtract (oldbig );
252+ return formatNumber (newbig .subtract (oldbig ));
253+ }
251254 }
252255
253256 private static FixedSizeDeque <String > getEnergyInfo (World world ,BlockPos pos ) {
0 commit comments