aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/gui
AgeCommit message (Collapse)Author
2023-05-26Fix warnings about ModularUI methods that can only be overridden (#2022)chill
* address ModularUI methods that can only be overridden A call of super was safely deleted. A call of draw() is legit, but it's labeled as OverrideOnly in ModularUI, so IntelliJ considers it incorrect to call draw(). This warning was suppressed. On top of that, IntelliJ incorrectly says that this suppression is redundant, so that was addressed too. Fixing the issue without suppressing the warning entails changing the ModularUI mod, which is too much work for one warning. However, if there are many warnings like that, it might be reasonable to change ModularUI. The whitespace change is Spotless, although it did not detect it before the changes to the file. * remove suppression on RedundantSuppression The mark of OverrideOnly suppression as RedundantSuppression could not be reproduced. Therefore the suppression of RedundantSuppression is not needed.
2023-05-08Migrate to FluidSlotWidget from FluidDisplaySlotWidget (#1963)miozune
2023-05-01bs+saMartin Robertz
2023-04-21Recipes ra2 (#1872)boubou19
* Recipes RA2 fixes * Use \uXXXX for non-ASCII characters * Misc cleanup (#1888) * migrate away from addThermalCentrifugeRecipe * split recipes of GT_Block_Stones_Abstract * migrate away from addForgeHammerRecipe * migrate away from addChemicalBathRecipe * remove "DisableOldChemicalRecipes" and its usage, as it's disabled by default in NH and it increases recipe complexity for nothing * Remove underground biomes ore classes, as it's not present in NH * migrate away from addFluidCannerRecipe * migrate away from addFluidExtractionRecipe * migrate away from addChemicalRecipe * migrate away from addMultiblockChemicalRecipe * deprecate addChemicalRecipeForBasicMachineOnly * migrate away from addCentrifugeRecipe * spotlessApply * fixing wrong merge conflict solving * Add Tengam materials (#1891) * Add Tengam materials * Change new recipes to consume 15/16 Amp * Remove now redundant `break` statements * fix comb chances? * fix centrifuge code not working --------- Co-authored-by: glowredman <35727266+glowredman@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
2023-04-10Update spotless config to 0.2.2Raven Szewczyk
2023-04-01Jabel, Generic injection and mostly automatic code cleanup (#1829)Raven Szewczyk
* Enable Jabel&Generic injection, fix type error caused by this * add missing <> * Infer generic types automatically * Parametrize cast types * Use enhanced for loops * Unnecessary boxing * Unnecessary unboxing * Use Objects.equals * Explicit type can be replaced with `<>` * Collapse identical catch blocks * Add SafeVarargs where applicable * Anonymous type can be replaced with lambda * Use List.sort directly * Lambda can be a method reference * Statement lambda can be an expression lambda * Use string switches * Instanceof pattern matching * Text block can be used * Migrate to enhanced switch * Java style array declarations * Unnecessary toString() * More unnecessary String conversions * Unnecessary modifiers * Unnecessary semicolons * Fix duplicate conditions * Extract common code from if branches * Replace switches with ifs for 1-2 cases * Inner class may be static * Minor performance issues * Replace string appending in loops with string builders * Fix IntelliJ using the wrong empty list method * Use Long.compare * Generic arguments: getSubItems * Generic arguments: getSubBlocks * Raw types warnings * Fix remaining missing generics * Too weak variable type leads to unnecessary cast * Redundant type casts * Redundant array length check * Redundant vararg arrays * Manual min/max implementations * A couple missed inspections * Goodbye explosion power ternary ladder * Apply spotless * Get rid of the other two big ternary ladders * Binary search explosion power * Don't overcomplicate things
2023-04-01update spotless formatting (#1827)boubou19
2023-01-30[ci skip] spotlessApply with the new settingsJason Mitchell
2023-01-08emergency fix for NPE in #1641 (#1643)Glease
2023-01-08allow filtering what is accepted in a fluid slot (#1641)Glease
2022-12-30Improve NEI customizability (#1583)miozune
* Move descriptions to recipemap * Move tooltips to recipemap * Move overlays to recipemap * Use shared code for generating grid positions * 2 fluid inputs for freezer recipes * Add deprecation javadoc
2022-12-17another attempt at lag fixing (#1556)Glease
* another attempt at lag fixing Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> * fix tests Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> * fix tests 2/2 Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> * address review Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> * get rid of GT_Test Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2022-12-02Fix item input positions for basic machines (#1531)miozune
2022-11-25Rewrite GUIs with ModularUI (#1381)miozune
* Base work for ModularUI compat * Remove useless interface * Add almost all the widgets * Invert method * Refactor NEI stack placement positions * NEI handlers on ModularUI * Add some more docs * AdvDebugStructureWriter * Fix NEI progressbar not working * PrimitiveBlastFurnace * clean * derp * clean * spotlessApply * Boilers * Buffers * clean * N by N slots containers * Fix boilers not having bucket interaction Put opening UI to individual MetaTEs * Maintenance Hatch * clean * spotlessApply * Add dependency * IndustrialApiary * Adapt to ModularUI change * Base work for covers & fix crash with MP * Fix crash with server * Rewrite base work for covers * Send initial cover data on cover GUI open so that the time of showing incorrect data will be eliminated * Covers part 1 * Rename package: ModularUI -> modularui * Rename class: GT_UIInfo -> GT_UIInfos * Fix build * Covers part2 * Fix missing client check with tile UI & fix title overlap * CoverTabLine * Move cover window creators to inner class * Fix crash with null base TE * Close GUI when tile is broken * Color cover window with tile colorization * Change signature of addUIWidgets * FluidFilter cover, FluidDisplaySlotWidget, BasicTank, BasicGenerator, Output Hatch, MicrowaveEnergyTransmitter, Teleporter, DigitalChest, DigitalTank * Add title tab * Move package: modularui -> modularui/widget * Programmed circuit + IConfigurationCircuitSupport * clean * VolumetricFlask * Remove integrated circuit overlay from recipe input slots * Input Hatch & Quadruple Input Hatch * Multiblock * Deprecate old cover GUI * BasicMachines * Finish BasicMachine & NEI * Expand DTPF NEI to 9 slots * Fix ME input bus on MP * Move AESlotWidget to public class * Move GT_Recipe_Map constructors with mNEIUnificateOutput to setter method * Move SteamTexture.Variant to outer enum * Switch to remote repository * oops * Update MUI * Update MUI * Minor refactor for change amount buttons * Display items and fluids that exceed usual count * blah * use +=, why didn't I do this * Update MUI * Move ModularUI to Base (#1510) * Move ModularUI to Base * Move most of the ModularUI functionality to `BaseTileEntity` (and `CoverableTileEntity`) * `CommonMetaTileEntity` delegates ato the MetaTileEntity * Added several interfaces (with defaults) to indicate if a tile/metatile override/implement certain behaviors. * Moved `IConfigurationCircuitSupport` interface such that it will work with BaseTileEntity or a MetaTileEntity * Address reviews Co-authored-by: miozune <miozune@gmail.com> * Update MUI * Minor changes to NEI * Return :facepalm: * IGetTabIconSet override * Some more changes to NEI * Merge texture getter interfaces to new class GUITextureSet * Remove BBF structure picture as it's auto-buildable now * Make unified title tab style of texture angular * Expose some boiler texture getters for addon * Fix crash with cover GUI on pipe * Lower the number of recipe per page for DTPF & update MUI * Update MUI * Fix crash with middle-clicking slot on circuit selection GUI * Fix circuit selection window not syncing item from base machine * Merge GT_NEI_AssLineHandler into GT_NEI_DefaultHandler * Update MUI * Add in TecTech multi message * Allow changing the way of binding player inventory * Update MUI * Update MUI * Update MUI * Update MUI * Update MUI * Make MUI non-transitive to allow addons to use their own version * Force enable mixin * Format fluid amount tooltip * Add GUITextureSet.STEAM * Add guard against null ModularWindow creation * Add constructors for Muffler Hatch with inventory * Fix output slot on digital chest and tank allowing insertion * Don't log null ModularWindow * Add default implementation for IHasWorldObjectAndCoords#openGUI * Make openGTTileEntityUI accept MultiTE & cleanup Co-authored-by: Jason Mitchell <mitchej@gmail.com>
2022-10-12Add interface to implement Bee effects that can be accelerated (#1460)Jakub
* Add IAlleleBeeAcceleratableEffect * Still feeling the rainbow * Use float * NBT * No more gendustry * Production modifier is counted from 0 now * Extract bee cycles length * spotless
2022-10-09Apply new Bees formula in Industrial Apiary and move all gendustry upgrades ↵Jakub
to Gregtech (#1447) * Update forestry * Apply new formula (+uncap the chance) * Yeet gendustry upgrades * Conversion recipes * Add upgrade frame * Remove recipes * Gendustry way * Yeet gendustry * Fix
2022-10-09digital chests improvements (#1450)Glease
* unify super chest and quantum chest code base * add item info to waila * add an input filter to digital chests
2022-10-01no-more-duplicate-key (#1424)iouter
2022-09-11Adv debug structure writer (#1362)Maxim
* Added advanced debug structure writer * Applied spotless * Removed testing variables * Added client only to rendering * Added one client side annotation too much * Included requested changes * Applied spotless * Introduced variables for tooltip keys
2022-09-08fix GT_Packet_SetLockedFluid not setting lock mode (#1356)Glease
* fix GT_Packet_SetLockedFluid not setting lock mode also fixed drag and drop from NEI handler got called when drag and drop from main inventory * fix lockFluid overwriting mMode == 8 * add markDirty() call
2022-09-02Add Drag-And-Drop support for digital tank (#1333)miozune
* Add Drag-And-Drop support for digital tank * lockedFluidName is null in old save
2022-08-27Update buildscript & apply spotless (#1306)Raven Szewczyk
* Update dependencies * Update buildscript, apply spotless
2022-08-26Fix Stocking ME Input bus item amount client side display on dedicated ↵repo-alt
server (#1304)
2022-08-23Refactored built-in integrated circuit support (#1284)repo-alt
* Refactored built-in integrated circuit support Added built-in integrated circuit to input buses * fix spacing
2022-08-20Some fixes for the new input bus (#1278)repo-alt
* Fix a circuit slot position "Borrow" item size rendering from AE2 * Add existing type check
2022-08-19ME input bus, gives the multiblock direct access to the 16 selected item ↵repo-alt
types (#1271) * ME input bus, gives the multiblock direct access to the 16 selected item types * Reworked GUI to match the normal interface * Don't need to duplicate shadow slots Sync can (better) be done in `endRecipeProcessing`, in case some multi doesn't call `updateSlots` or does it at the wrong time * Clarify name, to distinguish from the (future) Buffering and Crafting buses * Make the GUI 4x4 again * Make the 4x4 GUI actually work * Make ghost item show item amount * Remove unimplemented code remnants Co-authored-by: Sampsa <sampo.vanninen@aalto.fi>
2022-08-15Overriding GUI colors with .mcmeta (#1261)Albi
* Implemented gui textcolor override with .mcmeta files * cleanup * Added shared class to reduce code duplication * Moved #drawLine back to GT_NEI_DefaultHandler
2022-08-12Added means of customizing GUI colors for resource packs (#1203)Albi
* Added means of customizing GUI colors through lang file * Color values are now stored in json file instead of the lang file * Made json only load upon resource reload and ensured server compatibility Co-authored-by: Martin Robertz <dream-master@gmx.net>
2022-08-10Industrial Apiary Fixes (#1225)Jakub
* Upgrade slot tooltip * Fix Hellish biomes temperature * Princess -> Queen process is always automated
2022-08-04Industrial Apiary Changes (#1197)Jakub
* Start with lower energy without acceleration upgrades * Pollen collection is an upgrade... I didnt know. * Implement Queen Pollination * Fix battery slot not working * Dont try to pollinate when there is no chance to success
2022-08-02Fusion fixes (#1181)miozune
* Allow storing `long` energy * Fix hardcoded voltage limit for searching recipe * Fix reactor might run without consuming energy * Fix weird charging rate limit
2022-07-27Move Industrial Apiary to gregtech (#1107)Jakub
* Industrial Apiary * Make Forestry not required. * Add support for gendustry upgrades and lower energy demand * Add item validation to input slots and fix battery + special slots * Automation upgrade support and bug fixes * Better canWork check and flower detection * GUI work * Better detection of modifier update * Add button to cancel process * Add textures * Tooltip changes * Add convert crafting * Make top and sides glow * Bug fix * New textures * Add bee effects * Make all tooltips translatable * Implement GT Apiary Upgrades * Prevent inserting too many upgrades * Just require gendustry instead of checking it everywhere * Add blacklist (bug fix) and use hashsets instead of arrays * Cache beemember to do effects * Make blacklist automatic * Add acceleration upgrades for all tiers (LV -> UV) * Lock the machine to maxspeed by default * Correct required energy in info tooltip * Use isUpgrade method instead of manually checking * Lower amperage to 4 * Save locked speed to nbt
2022-07-02Par, var, begone! (#1104)YannickMG
* Renamed parameters of ItemBlock subclasses * Renamed damageDropped and getDamageValue method parameters of Block subclasses * Removed trivially superfluous overrides of Block::quantityDropped, Block::isOpaqueCube and Block::renderAsNormalBlock * Removed trivially superfluous overrides of Block::getItemDropped * Cleaned up a few more block subclass method parameters * Cleaned up obsolete Javadoc * par1 -> block in ItemBlock Constructors * Renamed arguments to drawGuiContainerForegroundLayer * Cleaned up redundant casts * Renamed arguments to drawGuiContainerBackgroundLayer * Renamed arguments to Slot subclass constructors * Renamed arguments to World subclass GT_DummyWorld * Renamed parameters of updateProgressBar * Renamed the rest of the par* parameters outside of GT_MinableOreGenerator which should be deleted * Renamed most var1-var10 and a few more in generally non-dead code * Renamed last varSomething variables * Removed 3 fully dead classes used nowhere in the codebase, with obsolete unused code
2022-05-03Remove dragged stack when locked fluid slot is clicked (#1046)miozune
2022-04-09Allow using FluidDisplay stack to lock fluid in output hatch (#1015)miozune
2022-03-18fix set locked fluid not working via drag n drop (#979)Glease
2022-02-03Basic Machine NEI Power Tiers (#914)YannickMG
* Add IntelliJ .shelf folder to .gitignore * Fixing GT_GuiTooltip bug I introduced * Deprecated superfluous String trans methods. * Add Power class to compute and describe power usage * trans -> GT_Utility.trans Removed absent param from Javadoc * Add Power to BasicMachine and use it for power calculations * Steam BasicMachine rework Have Bronze and Steel tier override Power with appropriate SteamPower Make Bronze machines explicitly tier 1 Make Steel machines explicitly tier 2 Defined recipe list and bricked status for each machine Unified checkRecipe uses machine's recipe list and Power * Raised NEI dependency to 2.2.5 * Defining NEI transfer rect in individual UIs Using a new interface called from GT_RectHandler * Code cleanup & minor refactor * Add power field to NEI Default Handler Add method to create Power object from the recipe map * Display power tier in NEI handler name * User Power to draw NEI Handler description * Enable filtering handler recipes using Power * Repurposing aBricked parameter into aHighPressure To fix my previous faulty method of setting mTier * Must call getCache to get recipes properly. * Better communicate NEI Overclock info
2022-01-14Add recipe filter block (#870)Glease
* add recipe filter block * Add tooltip to recipe filter GUI & improve type filter UI interaction now you can click special slot in type filter UI to directly set the oreprefix based on the stack held on the cursor
2022-01-10Cover tabs (#856)YannickMG
* Add network support for chanining GT Tile GUIs * Implemented Cover Tabs for IGregTechTileEntity See GTNewHorizons/GT-New-Horizons-Modpack#9367 for details * Added IGuiIcon For easier addon extensibility of GT_GuiIcon Also fixed Ghost Circuit tab tooltip overlapping right-side cover tabs * Typo fix * Fixed unintended scala import * Tabs -> Spaces on the files I've touched
2022-01-03Allow drag and drop from NEI to set output hatch locking (#845)Glease
* Allow drag and drop from NEI to set output hatch locking also cleaned up the output hatch networking code * Add not locked indicator
2021-12-13add unlocalizedname fluid map (#796)Yang Xizhi
* add unlocalizedname fluid map * change the lock name into fluid name
2021-12-02add select circuit gui for machine and circuits itself (#773)Martin Robertz
also fixed some issue with basic machine gui introduced in 9d42b299def1c41bbc7a1f01efe445be28f54399 also retrofitted volumetric flask to use the new INetworkUpdatableItem and GT_Packet_UpdateItem, deprecating MessageSetFlaskCapacity in the meanwhile. To open the gui for machine, shift-left-click the circuit slot To open the gui for circuit, click any block (need to be sneaking if it's chest, furnace, etc) with the circuit held in hand. Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: Glease <4586901+Glease@users.noreply.github.com>
2021-11-10Fix output hatch locked fluid display for placeable fluids.repo_alt
Fix scanner to report locked fluid even when the hatch is not locked https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/8801
2021-10-25Fix style problemGlease
2021-10-25Fix teleporter and microwave flickeringGlease
2021-10-25Fix super chest stored item count flickeringGlease
2021-10-09add GUI for output hatch fluid lockGlodBlock
2021-07-24Fix typoD-Cysteine
2021-07-24Add missing (- 100) to GUI calculationsD-Cysteine
2021-07-24Update single-block boiler GUI to use getCapacity()D-Cysteine
Update single-block boiler GUI to use GT_MetaTileEntity_Boiler.getCapacity() for computing water and steam fill percentages. Also change lava boiler to have 32000 capacity (from 16000).