11package github .kasuminova .novaeng .client .gui ;
22
3+ import com .github .bsideup .jabel .Desugar ;
34import github .kasuminova .novaeng .NovaEngineeringCore ;
45import github .kasuminova .novaeng .client .gui .misc .TechLevelText ;
56import github .kasuminova .novaeng .client .gui .widget .GuiScrollbarThin ;
@@ -118,8 +119,7 @@ private static void updateResearchingData(Object2DoubleOpenHashMap<ResearchCogni
118119
119120 public static boolean isMouseOver (final int startX , final int startY ,
120121 final int endX , final int endY ,
121- final int mouseX , final int mouseY )
122- {
122+ final int mouseX , final int mouseY ) {
123123 return mouseX >= startX && mouseX <= endX && mouseY >= startY && mouseY <= endY ;
124124 }
125125
@@ -131,8 +131,7 @@ public static void renderItemStackToGUI(final Minecraft mc,
131131 final RenderItem ri ,
132132 final int x ,
133133 final int y ,
134- final ItemStack stack )
135- {
134+ final ItemStack stack ) {
136135 RenderHelper .enableGUIStandardItemLighting ();
137136 ri .renderItemAndEffectIntoGUI (stack , x , y );
138137 ri .renderItemOverlays (mc .fontRenderer , stack , x , y );
@@ -230,7 +229,7 @@ protected void drawScreen(int mouseX, int mouseY) {
230229 GlStateManager .popMatrix ();
231230
232231 startResearch .drawButton (mc , mouseX , mouseY , Animation .getPartialTickTime ());
233- if (!current .isLocked ()) {
232+ if (!current .locked ()) {
234233 toggleResearchDesc .drawButton (mc , mouseX , mouseY , Animation .getPartialTickTime ());
235234 drawToggleResearchDescBtnHoverText (mouseX , mouseY );
236235 }
@@ -251,7 +250,7 @@ protected void drawStartBtnOverlayAndHoveringText(final int mouseX, final int mo
251250 List <String > warnTip = new ArrayList <>();
252251 List <String > errorTip = new ArrayList <>();
253252
254- ResearchCognitionData data = current .getData ();
253+ ResearchCognitionData data = current .data ();
255254 ResearchStationType stationType = PktTerminalGuiData .getResearchStationType ();
256255 double consumption = ComputationCenterCache .getComputationPointConsumption ();
257256 double generation = ComputationCenterCache .getComputationPointGeneration ();
@@ -278,12 +277,12 @@ protected void drawStartBtnOverlayAndHoveringText(final int mouseX, final int mo
278277 errorTip .add (I18n .format ("gui.terminal_controller.screen.info.start.error.database_space" ));
279278 }
280279
281- if (!current .isLocked ()) {
280+ if (!current .locked ()) {
282281 drawButtonOverlay (44 , 22 );
283282 hoveredTip .add (I18n .format ("gui.terminal_controller.data.unlocked" ));
284283 } else if (errorTip .isEmpty ()) {
285284 hoveredTip .add (I18n .format ("gui.terminal_controller.screen.info.start" ));
286- long tickRequired = (long ) ((data .getRequiredPoints () - current .getProgress ()) / data .getMinComputationPointPerTick ());
285+ long tickRequired = (long ) ((data .getRequiredPoints () - current .progress ()) / data .getMinComputationPointPerTick ());
287286// long tickRequired = (long) (data.getRequiredPoints() / Math.max(0.1F, (generation - consumption)));
288287 hoveredTip .add (TimeUtils .formatResearchRequiredTime (tickRequired * 50 ));
289288 hoveredTip .addAll (warnTip );
@@ -295,7 +294,7 @@ protected void drawStartBtnOverlayAndHoveringText(final int mouseX, final int mo
295294 hoveredTip .add (I18n .format ("gui.terminal_controller.screen.info.reset" ));
296295 }
297296 EntityPlayerSP player = Minecraft .getMinecraft ().player ;
298- if (current .isLocked () && player != null && player .isCreative ()) {
297+ if (current .locked () && player != null && player .isCreative ()) {
299298 hoveredTip .add (I18n .format ("gui.terminal_controller.screen.info.start.instant" ));
300299 }
301300
@@ -322,7 +321,7 @@ protected void drawButtonOverlay(int textureX, int textureY) {
322321 }
323322
324323 protected void drawDataInfo () {
325- ResearchCognitionData data = current .getData ();
324+ ResearchCognitionData data = current .data ();
326325
327326 fontRenderer .drawStringWithShadow (data .getTranslatedName (), 115 , 46 , 0xFFFFFF );
328327
@@ -332,12 +331,12 @@ protected void drawDataInfo() {
332331 float descDrawOffsetY = 60 / FONT_SCALE ;
333332
334333 List <String > lines ;
335- if (current .isAvailable () && (current .isLocked () || showLockedResearchDesc )) {
334+ if (current .available () && (current .locked () || showLockedResearchDesc )) {
336335 lines = data .getDescriptions ()
337336 .stream ()
338337 .flatMap (desc -> fontRenderer .listFormattedStringToWidth (desc , (int ) (SCREEN_TEXT_MAX_WIDTH / FONT_SCALE )).stream ())
339338 .collect (Collectors .toList ());
340- } else if (!current .isLocked ()) {
339+ } else if (!current .locked ()) {
341340 lines = data .getUnlockedDescriptions ()
342341 .stream ()
343342 .flatMap (desc -> fontRenderer .listFormattedStringToWidth (desc , (int ) (SCREEN_TEXT_MAX_WIDTH / FONT_SCALE )).stream ())
@@ -505,7 +504,7 @@ protected void updateSearchTextField() {
505504 (o1 , o2 ) -> {
506505 float a = o1 .getTechLevel ();
507506 float b = o2 .getTechLevel ();
508- if (a == b ){
507+ if (a == b ) {
509508 return 0 ;
510509 } else {
511510 return a > b ? 1 : -1 ;
@@ -593,14 +592,14 @@ protected void drawResearchData(final ResearchDataContext dataContext, final int
593592 if (darkMode ) {
594593 GlStateManager .color (0.7F , 0.7F , 0.7F , 1.0F );
595594 }
596- if (dataContext .isLocked ()) {
595+ if (dataContext .locked ()) {
597596 if (darkMode ) {
598597 GlStateManager .color (1.0F , 0.85F , 0.45F , 1.0F );
599598 } else {
600599 GlStateManager .color (1.0F , 0.9F , 0.6F , 1.0F );
601600 }
602601 }
603- if (!dataContext .isAvailable ()) {
602+ if (!dataContext .available ()) {
604603 GlStateManager .color (1.0F , 0.6F , 0.6F , 1.0F );
605604 }
606605 if (isMouseOver (8 , offsetY ,
@@ -615,8 +614,8 @@ protected void drawResearchData(final ResearchDataContext dataContext, final int
615614 this .mc .getTextureManager ().bindTexture (TEXTURES_TERMINAL_ELEMENTS );
616615 drawTexturedModalRect (8 , offsetY , 0 , 0 , TERMINAL_ELEMENT_WIDTH , TERMINAL_ELEMENT_HEIGHT );
617616
618- ResearchCognitionData data = dataContext .getData ();
619- double researchProgress = dataContext .getProgress ();
617+ ResearchCognitionData data = dataContext .data ();
618+ double researchProgress = dataContext .progress ();
620619 if (researchProgress > 0 ) {
621620 GlStateManager .color (0.6F , 1.0F , 0.6F , 1.0F );
622621 double progress = researchProgress / data .getRequiredPoints ();
@@ -632,7 +631,7 @@ protected void drawResearchData(final ResearchDataContext dataContext, final int
632631 float textRenderOffsetY = (48 + (offsetY - 44 )) / FONT_SCALE ;
633632 fontRenderer .drawString (data .getTranslatedName (), (int ) textRenderOffsetX , (int ) textRenderOffsetY , 0x404040 );
634633
635- if (dataContext .isLocked ()) {
634+ if (dataContext .locked ()) {
636635 if (researchProgress >= 0 ) {
637636 if (researchProgress == 0 ) {
638637 fontRenderer .drawString (
@@ -645,7 +644,7 @@ protected void drawResearchData(final ResearchDataContext dataContext, final int
645644 (int ) textRenderOffsetX , (int ) textRenderOffsetY + 12 , 0x404040 );
646645 }
647646 } else {
648- if (dataContext .isAvailable ()) {
647+ if (dataContext .available ()) {
649648 fontRenderer .drawString (I18n .format ("gui.terminal_controller.data.locked" ),
650649 (int ) textRenderOffsetX , (int ) textRenderOffsetY + 12 , 0x404040 );
651650 } else {
@@ -694,17 +693,16 @@ protected void mouseClicked(final int mouseX, final int mouseY, final int mouseB
694693 if (isMouseOver (searchTextField .x , searchTextField .y ,
695694 searchTextField .x + searchTextField .width ,
696695 searchTextField .y + searchTextField .height ,
697- x , y ))
698- {
696+ x , y )) {
699697 searchTextField .setText ("" );
700698 searchTextCache = "" ;
701699 updateRenderingData ();
702700 }
703701 }
704702
705703 if (startResearch .mousePressed (mc , x , y )) {
706- if (mouseButton == 0 && current != null && current .isLocked () && canStartResearch (current .getData ())) {
707- NovaEngineeringCore .NET_CHANNEL .sendToServer (new PktResearchTaskProvide (current .getData ()));
704+ if (mouseButton == 0 && current != null && current .locked () && canStartResearch (current .data ())) {
705+ NovaEngineeringCore .NET_CHANNEL .sendToServer (new PktResearchTaskProvide (current .data ()));
708706 startResearch .playPressSound (mc .getSoundHandler ());
709707 return ;
710708 }
@@ -714,15 +712,15 @@ protected void mouseClicked(final int mouseX, final int mouseY, final int mouseB
714712 return ;
715713 }
716714 EntityPlayerSP player = Minecraft .getMinecraft ().player ;
717- if (mouseButton == 2 && current != null && current .isLocked () && player != null && player .isCreative ()) {
718- NovaEngineeringCore .NET_CHANNEL .sendToServer (new PktResearchTaskProvideCreative (current .getData ()));
715+ if (mouseButton == 2 && current != null && current .locked () && player != null && player .isCreative ()) {
716+ NovaEngineeringCore .NET_CHANNEL .sendToServer (new PktResearchTaskProvideCreative (current .data ()));
719717 startResearch .playPressSound (mc .getSoundHandler ());
720718 return ;
721719 }
722720 }
723721
724722 if (toggleResearchDesc .mousePressed (mc , x , y )) {
725- if (mouseButton == 0 && current != null && !current .isLocked ()) {
723+ if (mouseButton == 0 && current != null && !current .locked ()) {
726724 showLockedResearchDesc = !showLockedResearchDesc ;
727725 toggleResearchDesc .playPressSound (mc .getSoundHandler ());
728726 return ;
@@ -743,8 +741,7 @@ protected void mouseClicked(final int mouseX, final int mouseY, final int mouseB
743741 if (isMouseOver (
744742 8 , offsetY ,
745743 8 + TERMINAL_ELEMENT_WIDTH - 1 , offsetY + TERMINAL_ELEMENT_HEIGHT - 1 ,
746- x , y ))
747- {
744+ x , y )) {
748745 if (mouseButton == 0 ) {
749746 setCurrent (data );
750747 } else if (mouseButton == 1 ) {
@@ -877,39 +874,8 @@ protected void updateAndDrawScrollbar() {
877874 GlStateManager .color (1.0F , 1.0F , 1.0F , 1.0F );
878875 }
879876
880- public static class ResearchDataContext {
881- private final ResearchCognitionData data ;
882- private final boolean locked ;
883- private final boolean available ;
884- private final double progress ;
885-
886- public ResearchDataContext (final ResearchCognitionData data ,
887- final boolean locked ,
888- final boolean available ,
889- final Double progress )
890- {
891- this .data = data ;
892- this .locked = locked ;
893- this .available = available ;
894- this .progress = progress ;
895- }
896-
897- public ResearchCognitionData getData () {
898- return data ;
899- }
900-
901- public boolean isLocked () {
902- return locked ;
903- }
904-
905- public boolean isAvailable () {
906- return available ;
907- }
908-
909- public double getProgress () {
910- return progress ;
911- }
912-
877+ @ Desugar
878+ public record ResearchDataContext (ResearchCognitionData data , boolean locked , boolean available , double progress ) {
913879 @ Override
914880 public int hashCode () {
915881 return data .hashCode ();
@@ -923,4 +889,4 @@ public boolean equals(final Object obj) {
923889 return data .equals (other .data );
924890 }
925891 }
926- }
892+ }
0 commit comments