aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
AgeCommit message (Collapse)Author
2022-06-19Add Plasma Forge (Endgame multi) (#1076)Connor-Colenso
* Basis of changes. * Fix item stack and fluid vanishing. * Add new plasma forge UI, change tooltip and fix recipe map. * Fix corrupted fluid registry. * Fix fluids in recipes. Items still need adjusting. * Working. * Liquid spacetime and rename multi to D.T.P.S. so it can fit in GUI properly. * Make animation of spacetime fluid slower. * Fix recipe map (again). * Remove screwdriver junk. Clean up code slightly. * More cleaning. * Comments * Add hatch limitations and add some additional information. Also update NEI GUI. * Add proper recipes and change SpaceTime to a fluid not a gas. * Remove depreciated coil check (since I stole the IDs). * Remove depreciated coil check (since I stole the IDs). Add more comments. * Change temp of SpaceTime. * Add catalyst recipes + support for 16:16 fusion recipes. * Add comments. * Scala fix maybe? * Change plasma forge GUI. * Uncap temperature of materials. (Short -> Int) * Add chunkloading support (when multi is active). * Fix NEI merge issues. * fix used ids in kevlar * Add fluid support for laser engraver. * fix sh***t (cherry picked from commit 01851c100c52fd8292028cf6dda2cb136c617afc) * Add new intermediate materials to facilitate crafting. Also fix fusion typo. * Fix heat/fluid quantity display to be formatted correctly. * Change recipes to be more balanced. * Change residue fluid texture. * Restore better naming for multiblock. * Fix recipe typo. * Fix text not wrapping in multi controller. * Give laser engraver internal fluid storage. * Add IMC NEI support. * Update material properties. * Remove old dev comments. * Fix NEI texture. Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
2022-06-10Adjust NEI recipe pages (#1077)Connor-Colenso
* Add config support for changes. * Change ticks config to default OFF. * Usage -> Voltage for some cases. Also fix language translations. * Remove comment. * Remove redundant null check. * Bring back null checks (crashes). Move config to client. Adjust priorities so that if OC is detected it will display usage instead of voltage. * Remove null checks again (but for realsies this time). * Add language localisation. * Update language localisation. Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
2022-05-28optimize `isOre()` (#1069)Yang Xizhi
2022-05-28Fix method signature for findRecipe in GT_Recipe_Map_FormingPress (#1067)miozune
2022-05-26Fix crash with multi amperage recipe & improve Mass Fabricator NEI (#1053)miozune
2022-05-12Don't save unchanged file several hundred times per second (#1047)Glease
* Don't save unchanged file several hundred times per second * Revise implementation It turns out Configuration#hasChanged is a nontrivial method, especially in a huge configuration file such as language file
2022-04-26Fix items not moved into the other double chest when the first is full (#1036)Glease
2022-04-24Use proper method for emptying container item (#1034)miozune
* Use proper method for emptying container item * Add javadoc
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-04-13Fix NPE in item moving code (#1010)Glease
* Fix NPE in item moving code * fix erroneously adding an empty slot to filtered item stack destination list * only remove from free slot list if this is no longer a free slot * briefly document this huge function
2022-04-12Fix recipe optimization ignoring chanced outputs (#1021)miozune
2022-04-09Allow sifter the fluid io slots (#1017)Elisis
2022-04-08Allow soldering to be inserted into toolbox and used for maintenance (#1002)miozune
* Suppress warnings "unmappable character" * Allow soldering to be inserted into toolbox and used for maintenance * Clearfy tooltip * Address reviews
2022-04-08add 4 input and 4 output slots to ebf (#1004)Martin Robertz
(cherry picked from commit 131d67ab7a58a5b0c00a6e711ab4e7558e036d78)
2022-04-07Remove ADVANCEDENTROPICPROCESSING (#1005)miozune
2022-04-07Disable generation of oredict equivalents for circuits in NEI if Custom ↵miozune
Diagram is loaded (#1003)
2022-04-04Add an override to assline recipe sanity check (#1008)Glease
* Add an override to assline recipe sanity check * Make it actually log the bugged recipe
2022-03-30Optimize item transfer and inventory sorting (#992)Jakub
* Optimize conveyors, input busses, chest buffers * More checks * More checks and fixes * Check for slot validity when sorting * Fix NPE * More optimization * Fix disable sort not working * Enable order in input bus, Some fixes
2022-03-28Add a sanity check to catch invalid assline recipes (#995)Glease
2022-03-14save config late (#982)Glease
2022-03-05Fix localized names at server in obfuscated environment (#969)repo-alt
* Fix localized names at server in obfuscated environment
2022-02-23Minor bugfix/cleanup (#941)pariator
* Fixes slime spawn handling variances After testing, I was able to see 2 separate problems. 1: event.getResult() was occasionally returning ALLOW for some of the world spawned slimes. Slime spawn denial is done regardless of the ALLOW/DENY flag. This does not impact slimes spawned via eggs or powered spawners or slimes spawning after a slime is killed which apparently return DEFAULT for getResult(). 2: Slimes don't seem to properly handle a getResult() value of DENY. The checkSpawn event is not cancellable. To fix this, the entity is also destroyed by setting isDead to true. This does occasionally cause slimes to appear on the minimap briefly before disappearing. Lastly, with a forge update this could be handled much better by using the EntitySlime.spawnReason enum. That is not present in the current forge version, so I would consider this a temporary workaround and this method could/should be reworked if/when forge is updated. * Make repellators stop slimes. While testing, this was used to name the slimes as they were being generated. It turns out to also make the slimes behave properly in addition to the other changes. * Minor Cleanup Moved the slime handling out of the rest of the method and takes an approach of setting it to DEFAULT of it is ALLOW and then also adding a custom name tag if it doesn't have one. If it does have a custom name tag and ALLOW, then the slime spawn will be allowed. * Moved the setCustomNameTag method This method is still required to properly stop ALL slime spawns but it should only alter the customNameTag when a slime is intended to be stopped from spawning. * Fixed likely exception Check for instance of EntitySlime before casting it. This method is only required to stop slimes from spawning so is only being called against slimes. Co-authored-by: Randy Braunm <randy@unseencolor.com>
2022-02-14Server side metaitems localization (#938)repo-alt
fixes https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/8778
2022-02-12Fix separatorl. (#932)Colen
2022-02-10Fixes slime spawn handling variances Issue 7298 (#905)pariator
* Fixes slime spawn handling variances After testing, I was able to see 2 separate problems. 1: event.getResult() was occasionally returning ALLOW for some of the world spawned slimes. Slime spawn denial is done regardless of the ALLOW/DENY flag. This does not impact slimes spawned via eggs or powered spawners or slimes spawning after a slime is killed which apparently return DEFAULT for getResult(). 2: Slimes don't seem to properly handle a getResult() value of DENY. The checkSpawn event is not cancellable. To fix this, the entity is also destroyed by setting isDead to true. This does occasionally cause slimes to appear on the minimap briefly before disappearing. Lastly, with a forge update this could be handled much better by using the EntitySlime.spawnReason enum. That is not present in the current forge version, so I would consider this a temporary workaround and this method could/should be reworked if/when forge is updated. * Make repellators stop slimes. While testing, this was used to name the slimes as they were being generated. It turns out to also make the slimes behave properly in addition to the other changes. * Minor Cleanup Moved the slime handling out of the rest of the method and takes an approach of setting it to DEFAULT of it is ALLOW and then also adding a custom name tag if it doesn't have one. If it does have a custom name tag and ALLOW, then the slime spawn will be allowed.
2022-02-07Large Boiler Whitelist and NEI Large Boiler Tab Update (#910)Steelux
* Whitelist for Advanced Boilers - Added a whitelist system to check allowed fuels for the Titanium and Tungstensteel Boilers (thanks glow for the code); - Removed fuel value checks for the advanced boilers, none are needed because the whitelist check does it all; - Changed the boiler tooltip to clarify that the advanced boilers won't work if there is a fuel in the input bus that is not allowed to be burned. * NEI Large Boiler Tab Updated - Changed the burn times to reflect the speed at which the boilers now consume fuels; - Changed the TItanium and Tungstensteel Boiler info to display "Not Allowed" on the fuels that aren't accepted by them. * Re-added Previous Constructor as a Default Case - Implemented the previous addRecipe constructor without the boolean, applying to all non-solid fuels, with a default value; - Changed the boiler code to make the advanced Boilers ignore the fluid recipes (they're only supposed to burn the allowed solid fuels); - Small NEI clarifications. * Unnecessary Burn Time Calculation - Removed the burn time calculation on the NEI handler for the fuels that can't run in the advanced boilers. * Shortened Tungstensteel Boiler Line - Made text shorter to not overflow past the NEI display. * Properly implement solid fuel whitelist for Large Titanium/Tungsten Boilers Co-authored-by: glowredman <fredcraft00@gmail.com>
2022-02-06Provide a runtime solution for number rendering. (#922)Daniel
* Provide a runtime solution for number rendering. This should adapt based on locale selected by user instead of the system locale. Also fixes 'nbsp' issue in some locales like pl_PL. * Add missing imports * Add missing imports
2022-02-04Texture Shenanigans (#915)Jason Mitchell
* Texture Shenanigans - Get rid of all the TODOs and run everything through the new Texture API in a backwards compatible way. * allow bw runclient to run * Add obf name Co-authored-by: bombcar <github@bombcar.com>
2022-02-04Translation related fixes (#920)Glease
* Translation related fixes * Rename trans to transItem
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-26Make Repellator stop slimes spawning (#896)Alkalus
2022-01-23AE2 Cable facade as cover (#887)Glease
* initial work on facade covers * fix colorMultiplier also removed derp * Clean up drop cover texture reset code What was I thinking actually? Send a packet to reset client states? * Fix cover display stack
2022-01-11The tooltips your mod wishes it had (#858)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 * Propagate needsSteamVenting to UIs * Note special slot usage Determine whether a machine's recipe list ever makes use of the special slot * Add 2 configurable tooltip verbosity levels * Readability pass * New tooltip cache for flexibility It loads a configurable amount of lines per key based on the user's chosen verbosity levels * Let GT_GuiTooltipJava to use verbosity and LSHIFT * "Smart" auto-hiding tooltips * GT_GUIContainerMetaTile_Machine tooltip support * Rework Basic Machine tooltips * Wordy tooltips -> extended tooltips (clearer) * Fixed off-by-one error on power slot tooltips * Cleanup
2022-01-05Normalize Fluid Canner fluid handling and looks (#847)YannickMG
* Normalize Fluid Canner fluid handling and looks - By disabling sharedTank (on this, the only machine that uses the feature) the fluid canner gains a proper output tank. - Fixes UI interactions with the taking fluids out of the invisible fluit output slot with cells - Harmonizes UI with the look in NEI and with other basic machines * Removed unused FluidCannerNEI.png
2022-01-04Add a bunch of minor optimizations (#848)Glease
2021-12-31Basicmachine gui slots highlight fix (#841)YannickMG
* Updated build script Also set developmentEnvironmentUserName = Developer * Added .vscode to .gitignore * Properly hide unused slots in basic machines - Adds methods to GT_Recipe_Map to determine whether it contains fluid inputs or outputs - Adds methods to GT_Slot_Holo to support turning it "off", which also turns off highlighting it on mouse-over - Uses those changes in GT_GUIContainer_BasicMachine to "turn off" slots unused by a machine - Some code clarification/deduplication in GT_GUIContainer_BasicMachine * Hide unused Replicator fluid output slot
2021-12-30Refactors for easier reading (#839)Jason Mitchell
* Refactors * Common functionality to base classes * GT Pre/Postload broken into more modular pieces * Extract common (mainly cover related) functionality from BaseMetaTileEntity & BaseMetaPipeEntity
2021-12-24tt support for pa (#833)Yang Xizhi
* tt support for pa * remove anti pattern. clear up duplicated code fragments * fix copy pasting error * add vanilla energy hatch back Co-authored-by: Glease <4586901+Glease@users.noreply.github.com>
2021-12-23Rc blast furnace integration remove (#834)Martin Robertz
* remove RC Blasfurnace copy recipes during gt load * fixed wrong outcommented code
2021-12-23Remove no longer needed smelting cache (#831)Glease
2021-12-18Ignore stack size in collision checking (#825)Glease
2021-12-18Fix derp in BaseMetaPipeEntity during git merge (#824)Glease
Also added a bunch of fallback overrides to GT_Cover_None in the case of my stupid programming errors again
2021-12-17Add allow multistack to client preferenceGlease
Default to false
2021-12-15Fix assline recipe rejection (#810)Glease
Also slightly improved the data stick updating
2021-12-15Move cache registration out of constructor (#806)Glease
2021-12-15turn on the stacksize chaeck by default (#804)Yang Xizhi
2021-12-15Fix TT assline recipe not being recognized (#805)Glease
2021-12-15Fix math to work on potato servers. (#802)Jason Mitchell
2021-12-13add unlocalizedname fluid map (#796)Yang Xizhi
* add unlocalizedname fluid map * change the lock name into fluid name
2021-12-13Yeet unused compat, including GT adding a bunch of RC rock crushing recipes ↵Jason Mitchell
:-/ (#798)