aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/GT_Client.java
AgeCommit message (Collapse)Author
2023-05-01bs+saMartin Robertz
2023-04-23Forge direction (#1895)Jason Mitchell
* ForgeDirection Also refactor the clusterfuck that was `getCoordinateScan` Co-authored by: Jason Mitchell <mitchej@gmail.com> * Fix rendering of Frame Boxes Frame boxes needed their own implementation of getTexture with int connexion mask, which is returning an error texture for the MetaTileEntity, because pipes (FrameBox **is** a pipe) do use this method to return different textures based on connexion status. --------- Co-authored-by: Léa Gris <lea.gris@noiraude.net>
2023-04-22MuTE overhaul and ACR (#1883)Maxim
* complex controller start * Added methods to get input fluids and items * Added logic to complex parallel mute * Added ACR and fixed many, many, many, many bugs * Added void protection setting to checkRecipe * do not init nbt, if mteID and mteRegistry are the same * Improved GUI design * Force structure check when pressing power switch * ACR Textures * Added T1 structure * Added perfect OC * Added WAILA * fix mutes resetting their nbt * Fix ACR GUI * fix npe * Added void protection for MuTEs * Fixed ACR starting recipe while another one is ongoing * nbt saving * maybe fix structure breaking * Fix complex machine disabling on startup * correctly update input tanks * move casings over * Changed logic of casings to change mode and facing in one go by sneaking * Fixed the casing target not resetting * Added side only annotations * don't leave it empty * Added power logic and tiered blocks to ACR * Change facing to wrench side if casing mode is currently none * lasers anyone? * Added ACR item chaining * Remove unncessary item lists * Use HashSet for process whitelists * Optimize list capacities * Fix potential recipe voiding bug * Rename methods for consistancy * Fix NPE * Duct tape fix structure check * allow MuTEs to connect to cables * Added separate tank inventories for input separation (#1887) * Fixed unregistering tank function * Fixed input busses not being automatable * Added fluid chaining * Fixed saving of input tanks * Forbid inventory registering with empty name * Display all input tanks in controller GUI * Fixed fluid hatch GUI height * Reset casing lists when checking the structure * Make inventory GUI size consistant * Make use of the tooltip cache * rename thing clean up * Forgot to put tooltip into map * Added tooltip to ACR * Reset whitelists when one whitelist window was opened * Refined scanner string * Fixed progress times * Fixed MuTE not consuming fluids * Properly register controller inventories * switch to ForgeDirection * switch to new Renderer * Added missing contains check on registerInventory * Fixed output tanks not registering * Fixed upgrade tank loading * fix machines not having active/inactive textures * fix overlays not loading correctly * Don't register controller directly * Remove magic strings all * fix active not setting to inactive * allow glow * item renderer * fix glow * MuTE improved hatch GUI and fluid output locking (#1889) * Allow output hatches to be fluid locked * Reworked hatch GUI * Check target before trying to open GUI * Make ACR GUI easier to look at * fix covers not rendering on mutes * fix covers not displaying above the item/fluid in/out * new folder texture structure * Reduce network traffic caused by covers * Fixed WAILA fluid locking display * Don't save everything to the itemstack NBT * Added possibility to save NBT of MuTE to its itemstack * fix textures, but make sacrifices * mah textures * Removed the need for all textures to be present * Added glow texture for active coke oven * Removed unncesssary upgrade casing textures * shorten nbt tags --------- Co-authored-by: BlueWeabo <76872108+BlueWeabo@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-10Update spotless config to 0.2.2Raven Szewczyk
2023-04-04Modid work (#1833)boubou19
* add all mods founds in NHCore * depracte old strings * add ars magica 2 * more enum work * use a switch * spotless * more mod id rework * more mod id rework * more mod id rework * should be last * spotless * rename to make more sense * add path attribute * add getResourcePath to enum * spotless
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-04-01Recipe Adder v2 (#1770)Glease
* add everything * fixes * migrate plasma forge recipes * syntax update * make chances array length differ a fatal error * time constants + long eut overload * migrate extruder recipes * migrate electromagnetic separator recipes * migrate wiremill recipes * migrate forming press recipes * migrate bender recipes * add doc to clarify the three itemInputs * migrate alloy smelter recipes * migrate arc furnace recipes * added ModIDs enum * sort ModIDs * migrate autoclave recipes * migrated some assembler recipes * split a bit more assembler recipes * migrate canner recipes * migrate brewing recipes * ic2 mod check in canner recipes * use some loops to reduce the amount of recipes to migrate * add requested helper methods * migrate vacuum freezer recipes * migrate thermal centrifuge recipes * format smelter recipes only, doesn't go through normal GT recipe * migrated slicer recipes * migrated sifter recipes * Use proper enum now * remove more constants * cleaning cutting recipes before migration * remove tons of dead commented recipes * migrate pyrolyse recipes * use ModIDs enum more * migrate printer recipes * add a less confusing way to specify value of specialItem * migrate pulverizer recipes * less confusing special item specification * even more ModIDs enum usage * fix auto * import confusing Minecraft enum value with Minecraft client object * migrated blast furnace recipes * migrated Centrifuge recipes * migrated assembler recipes * migrated implosion compressor recipes * migrated extractor recipes * migrated mixer recipes * remove useless code * mgrate universal chemical recipes * refactor chemical recipes * migrate single block only chem reactor recipes * migrate chem reactor recipes * reworked circuit assembler recipes before migrating them * migrated circuit assembler recipes * fix merge conflict for assembler recipes * remove leftover of the merge conflicts * fix weird translation glitch * example of assembly line recipe using RA2 * bugfixes for assline * remove specialValue usage in blast furnace recipes * fix more bugs * add nooptimize to where it make sense * add recipe descriptions * Materials.Superconductor -> Materials.SuperconductorUHV * remove useless Object creations * remove explicit long casts * migrate assemblyline recipes * migrate chemical bath recipes * migrate compressor recipes * move smelting recipe where it belongs * migrated cutting machine recipes * migrated fermenter recipes (unhide alcohol) * remove explicit long casts * migrate fluid canner recipes * migrate fluid heater recipes * migrated fusion recipes * migrated lathe recipes * migrated laser engraver recipes * migrated packager recipes * migrated forge hammer recipes * migrated TPM recipes * exit early and reduced indents * migrated fluid extractor recipes * migrated fluid solidifier recipes * migrated electrolyzer recipes * migrated crop processing recipes * migrated default polymerization recipes * migrate distillery recipes * migrate matter amplifier recipes * add metadata identifier for fusion ignition threshold * migrate fuel recipes * update bs (cherry picked from commit c2d931c9b6caa0376e9d50591894cd849021104d) * spotless (cherry picked from commit 1060f5357fb95e28bfae1f052025f55dabc21a0f) * guard against null itemstacks * wrong translation * fix empty arrays being accessed * add 0 duration and 0 EU/t for fuel recipes * fix typo in matter amplifier recipes * spotless apply --------- Co-authored-by: boubou19 <miisterunknown@gmail.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
2023-02-19Make material renderer available for arbitrary item (#1753)miozune
* Make material renderer available for arbitrary item * pass render pass
2023-02-17Add Hodgepodge compat (#1752)miozune
* Add Hodgepodge compat * cleanup * Fix for fluid inside large cell
2023-01-30[ci skip] spotlessApply with the new settingsJason Mitchell
2023-01-26Only print meta TE IDs when a debug flag is on. (#1689)Raven Szewczyk
2023-01-20MTE Inventory updates (#1496)Jason Mitchell
* MTE Inventory updates * Separate Input/Output inventory * Use a LinkedHashMap to ensure inventory orders are deterministic * Input/Output work on either Input/Output inventories * MTE Inventory * Add GT_Packet_MultiTileEntity * More dyanmic packet with packetFeatures * Add IMTE_HasModes for MultiBlockPart * Help with MTE Inventory (#1613) * convert inventory to use ItemStackHandler * Update MUI * inventories * move Iteminventory to its own method Co-authored-by: miozune <miozune@gmail.com> * Update MUI * Update MUI * Add IMultiBlockPart * Mte fluid inventory (#1639) * first work on fluid inventory * make gui work with numbers not dividable by 4 * use math.min * add outputfluids saving * actually working * Update MUI Co-authored-by: miozune <miozune@gmail.com> * Ticking Covers! * Parts now register covers with the controller * Controllers now tick covers on parts * Break cover ticking out into `tickCoverAtSide` Fix some inventory methods on MultiBlockController * Filter on tickable covers * Improve GUIs for MTEs (#1650) * working controller GUI * locked inventory selection work * input and output locking of inventories Co-authored-by: miozune <miozune@gmail.com> * spotless * CoverInfo refactor (#1654) * Add `CoverInfo` and deprecate the old fields to hold cover information * Disable MTE registration * Fix NPE - Return EMPTY_INFO for SIDE_UNKNOWN Temporarily add back old NBT saving in case of a revert so covers aren't lost. * Actually save the old NBT data, instead of empty Co-authored-by: BlueWeabo <76872108+BlueWeabo@users.noreply.github.com> Co-authored-by: miozune <miozune@gmail.com>
2022-12-29Fix plasma turbine EU output (#1607)Connor-Colenso
* Revert "Turbine efficiency helper (#1562)" This reverts commit 3c852a0143cbfa864da59bdd0b2edab1fa4bf146. * Restore efficiency helper * Spotless Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
2022-12-28Allow resource packs to override individual progressbar textures (#1596)miozune
* Allow resource packs to override individual progressbar textures * spell: every + singular * Fix potential crash on server with FallbackableSteamTexture
2022-12-18Turbine efficiency helper (#1562)Connor-Colenso
* Add value to automatically determine highest possible turbine efficiency. * spotlessApply (#1563) Co-authored-by: Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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-11-30Make AL recipes always visible (#1529)miozune
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-07disable buggy cosmic item renderer (#1354)Glease
* disable buggy cosmic item renderer * spotlessApply (#1355) Co-authored-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-06Fix overly large sprites being used causing some users FPS lag (#1347)Glease
* fix sprite abuse * Spotless apply for branch fix/sprite-abuse for #1347 (#1348) Co-authored-by: Glease <4586901+Glease@users.noreply.github.com> * convert gaia spirit Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-27Update buildscript & apply spotless (#1306)Raven Szewczyk
* Update dependencies * Update buildscript, apply spotless
2022-08-19Meta Generated Items renderer overhaul (#1269)Vladislav Laetansky
* Meta Generated Items renderer overhaul * Adjust naming * Force alpha test * Properly render overlay
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-13switch to gson (#1247)Glease
* switch to gson * json loader code cleanup
2022-08-10Process MT additions when joining to a server (#1237)Jakub
* Process MT additions when joining to a server * Run only in multiplayer * Keep explicit imports
2022-07-23add(api/enums): particle and sound effect enumerations (#1154)Léa Gris
* add(api/enums): particle and sound effect enumerations - Adds new GregTech API enumerations: - `ParticleFX`: Enumerates known EntityFX particles. - `SoundResource`: Enumerates known sounds with, id and ResourceLocation. - Refactors code to use the new enumerations instead of string literals. - Uses `ParticleFX` and `onRandomDisplayTick` to improve or implement new particle effects for these machines: - BBF: Adds random flames in front of the firebox. - Steam machines: Changes pressure-exhaust particles to white vapour, rather than dark smoke. - Magic Energy Absorber: Adds random effect, of absorbed magical purple particles, by the EnderDragon Egg siphon. - Forge Hammer: Adds sparse random sparks, ejected from the main face.
2022-04-18Multitileentity precursor (#963)Jason Mitchell
* Refactors * Refactor CoverableTileEntity a bit more, pull out a CommonMetaTileEntity * Add an IDebugableTileEntity interface instead of checking various subclasses * Move more redstone related things to CoverableTileEntity * Add IGTENet * Final and dead code removal * Address a few comments, fix a few comments, remove some more dead code, and add some more finals. * fix bad rebase
2022-02-23Base work adding 3 new tiers of coils. (#885)Alkalus
* Base work adding 4 new tiers of coils. * Remove OPV tier. Remove nonsensical coil tier tags. (Awak = UIV, really? No thanks) Add proper texture for Hypogen, Infinity and Eternal coils. * Revert avaratia dep via import by Alk. If someone can implement cosmic rendering here then great but that is well beyond me. Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
2022-01-15add a cover copy/paste tool (#872)Yang Xizhi
* add a cover copy/paste tool * check server side
2022-01-06Add in game GUI to configure client preference (#852)Glease
* Add in game GUI to configure client preference * Fix backslash
2021-12-16fix rgb overflow (#814)Yang Xizhi
fix https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/9104
2021-10-18Cache sorted recipe list in NEI handlersGlease
2021-07-30Minor clean up in GT_ClientGlease
ARR is taboo :kekw: Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-07-30remove debug codeGlease
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-07-30make rotation marker a lot more fancierGlease
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-07-30make rotation marker a bit fancier, fix fusion textureGlease
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-07-30draw flipped textures & flipping markersGlease
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-07-30Fix rebase derpGlease
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-07-30migrate even more multis overGlease
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-07-30Fix rotate front face highlightGlease
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-07-30allow gt wrench to rotate the front of controllerGlease
also cleaned up GT_Client.java a little bit. Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-05-25Allow client send preference to serverGlease
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-05-24feat(glow): iconset machines glow supportLéa Gris
- Add glow support for all sides and states of iconset machines (same as with basicmachines). Automated code cleanup with IDEA of: - Optiimise all imports (remove unused, sort) - Reorder all modifiers to the canonical preferred order (as stated in the Java Language Specification) - Add all missing @Override annotations
2021-05-18Fix NPE in GT_ClientGlease
2021-05-15Allow client to proactively request fluid display updatesGlease
Currently client will only request update on blocks being looked at. Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-04-04fix(rendering): multiple rendering fixes and refactor (#494)Léa Gris
* fix(rendering): multiple rendering fixes and refactor - Fix rendering gregtech machines in inventory with correct orientation and lighting. - Fix rendering of pipes connected through covers, no longer z-fight at a distance. - Fix updating of textures when un/holding a soldering-iron. - Refactor of the GT_Renderer_Block class with properly named constants replacing raw literals.
2021-03-11Implemented Builder Patternbartimaeusnek
2021-03-10Implemented Requestsbartimaeusnek
2021-03-10Refactor World Eventsbartimaeusnek
World events have way to many parameters, so the code gets unreadable, this commit fixes that behavior.