aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
AgeCommit message (Collapse)Author
2023-10-15Fix memory leak of player instances in CoverBehavior (#2333)tth05
* Use weak references to store last player in cover behavior * Remove duplicate lastPlayer field from GT_CoverBehavior
2023-10-12average per tick counter for cable voltage and amperage (#2321)iamblackornot
* - a workaround fix to https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/14431 - code clean-up of unused variables related to the issue - portable scanner infodata is cleaned too since some of the data is related to mentioned before "ghost" variables * - PR review changes * "Current Amperage" -> "Amperage" * - updated gradle build script * - sync fork * added AveragePerTickCounter class, which helps getting [current tick] value and [average] value for Amperage and Voltage of energy cable blocks updated cable scanner info to show these values * - lowercase the first letter of new methods to follow the guidelines - added one comment to explain code segment's logic --------- Co-authored-by: iamblackornot <nkzshinnnik@gmail.com>
2023-10-11GT_BaseCrop Modularisation (#2330)Guillaume Mercier
- Add layout.json from idea to gitignore - Modularizes the code for the isBlockBelow check - No functionality changes should appear to the end user
2023-10-11new way to add item data for recycling (#2306)chochem
2023-10-09Allows covers to be configured to tick more slowly (#2307)querns
* Right clicking covers with a jackhammer will now make them tick more slowly * Interim commit, switching tasks * Finishes tick rate button in cover UIs * Change tick rate multiplier to a tick rate addition * Missed one number in the multiplier -> addition conversion * Hold Ctrl to adjust tick rate by 5 steps per click, move button closer to corner of cover GUI * Adjust how holding Ctrl computes tick rate change, remove gray formatting option for tick rate formatter * Cover tick rate addition can now be prevented per-cover-behavior, minor code tweaks
2023-10-09Fix insufficient power result not being persisted (#2328)miozune
2023-10-07- fixes ↵iamblackornot
https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/14559 (#2325) - had to change 2 unit test to address the mentioned above OC calculation fix Co-authored-by: iamblackornot <nkzshinnnik@gmail.com>
2023-10-04Code cleanup (#2309)boubou19
* guard clause technique on GT_ItemIterator * removing oredict for ars magica 2 items * removing oredict for mystcraft items * convert big if ladder into a swtich statement * enhanced switch * clean non GTNH compat and identify other compats * spotlessApply (#2310) Co-authored-by: GitHub GTNH Actions <> * more guard clauses * reordering condition * removing dead code * removing optional block * deprecating mIC2Classic * spotless apply * deprecate modloaded variables * spotlessApply --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
2023-10-05fix assline util not loading 16th item input from the stick (#2323)Glease
2023-09-28Fix non-cell recipes not being generated for Vacuum Freezer (#2317)miozune
2023-09-23Update buildscript (#2305)boubou19
* update buildscript * yeet wildcard imports
2023-09-23Deprecate GT_MetaTileEntity_MultiBlockBase#isValidMetaTileEntity (#2267)miozune
* Deprecate GT_MetaTileEntity_MultiBlockBase#isValidMetaTileEntity * Explicit brackets --------- Co-authored-by: Martin Robertz <dream-master@gmx.net>
2023-09-22Cleanup noXXXYYY methods round 2 (#2302)miozune
2023-09-22obliterate RA1 (#2206)boubou19
* obliterate RA1 (1/2) * fix wrong recipe map * guard clauses * null check * spotless apply * redo null check properly * update BS --------- Co-authored-by: chochem <40274384+chochem@users.noreply.github.com>
2023-09-20Remove recipe modifying code for matching stacks (#2296)Serenibyss
2023-09-16Fix Cell-less recipe converter not always setting new arrays (#2294)miozune
2023-09-13Adds Metrics Transmitter Cover and Advanced GT Sensor Card for Information ↵querns
Panels (#2289) * Adds several UI elements to multiblock drills * Adds metrics transmitter cover and associated sensor card * Fixes item icons and item name * Adds tooltips for adv. sensor card and metrics panel, fixes card/overlay icons, adds recipe for metrics cover * Refactor cover tab sync to send much smaller ISerializable payloads * Remove unused variable * Additional master merge cleanup * Adds interface for custom metrics export, adds oil drill support * Adds support for metrics covers retaining attached machine name for tooltip, metrics * * Adds discrete coordinates to Metrics Cover data * Adds machine to advanced sensor card tooltip * Adds cycle time and minimum energy hatch tier to multiblock ore drill tooltips * Moves many tooltip strings to i10n * Remove old GT_DisabledWhileActiveButton.java file that crept in during a messy merge * Spotless * Improve oil and ore drill metrics, more i18n * Addresses PR review concerns, adds more situations for self-destructing sensor cards * Remediates further PR concerns
2023-09-09Less aggressive System.nanoTime() (#2269)miozune
* Less aggressive System.nanoTime() * Address reviews
2023-09-09Deprecate GT_RecipeBuilder#noXXXYYY methods (#2284)miozune
* Deprecate GT_RecipeBuilder#noXXXYYY methods * Remove existing references
2023-09-07Make heater upgrade more precies aswell (#2275)Jakub
2023-09-06Adds item and charging info to Locker WAILA panel (#2245)querns
* Adds item and charging info to Locker WAILA panel * Refactor Locker WAILA tip entries to happen more on client side
2023-09-06mini fix (#2204)chochem
2023-09-05Deprecate PA by removing its controller recipe (#2273)BlueWeabo
2023-09-05Proper recipe selection for output overflow in LCR and other multiblocks (#2247)SKProCH
* Implement Stream<FindRecipeResult> findRecipesWithResult for GT_RecipeMap * Change ProcessingLogic.process to actually use new findRecipesWithResult * Change ProcessingLogic.process to start finding something only for OUTPUT_FULL result * Refactor ProcessingLogic.process to make logic more readable * Replace while with for loop, remove NOT_FOUND return in end of findRecipesWithResult * Apply spotless * Make findRecipe use findRecipes, add annotation to GT_Recipe and FindRecipeResult for processRecipe and make method protected, replace wildcard imports * Remake isRecipeWithOutputFullFound * Add @Nonnull to methods * Apply spotless * Remove Stream version of findRecipeWithResult, replace with predicate one. Add GT_Predicated_Recipe_Map class for utilizing this method. Changes some existent recipe maps to inherit from base class. * Remove GT_Predicated_Recipe_Map, add Predicate directly to GT_Recipe_Map#findRecipeWithResult. Add AdvancedRecipeValidatorPredicate and FindRecipeWithAdvancedValidatorResult to allow store validation calculations for further use and proper errors displaying. * Fix InsufficientVoltage errors * Changes according to review comments. Integrate FindRecipeWithAdvancedValidatorResult to FindRecipeResult, rename AdvancedRecipeValidatorPredicate, encapsulate AdvancedRecipeValidatorPredicate fields, fixes some typos, etc * Moves InsufficientVoltage check to GT_ParallelHelper. Removes FindRecipeResult#State#INSUFFICIENT_VOLTAGE * Return an old findRecipeWithResult * Renames things, call old methods for singleblocks * Renames things, makes FindRecipeResult ctor private * Apply spotless * Move RecipeValidator, fix comments typos
2023-09-04Fix cutter recipes not being added (#2271)Jakub
2023-09-02Fix renaming recipe check might ignore NBT equality (#2261)miozune
2023-08-30Fix pcb factory not applying its roughness multiplier when it doesn't OC (#2258)BlueWeabo
* fix PCB Factory not applying its roughness multiplier when it doesn't do any overclocks * spotless
2023-08-26fix ulv recipes being broken again when under 1 tick calculation is taken ↵BlueWeabo
(#2254)
2023-08-23Update the conditionals buttons and tooltips on covers to reflect their ↵Guillaume Mercier
actual effects (#2244) * Update redstone buttons and tooltips to better reflect actual use * Spotless Apply * Update GT_Cover_FluidRegulator.java * Update GT_Cover_FluidRegulator.java * Typo fix, Icon Improved and interactive blocking ui - Fixed a typo in the world machine - Fixed double button situation for conveyor belts. - There was never any issue, the testing methodology gave me invalid results. - Conveyor behaviour is in line with all the other covers affected by this PR/Branch. - Updated icon for the machine state to be a miniature machine controller cover. - Made the block/allow input section more interactive in order to better reflect the actual effect of these buttons. - In import mode, it actually blocks the machine from outputting from that side. * typos I can't write to save myself sometimes * Better text alignment - Better text alignment * fix typos I swear I can't write to save myself. --------- Co-authored-by: Martin Robertz <dream-master@gmx.net>
2023-08-19Fix GT_RecipeConstants.Fuel (#2243)Jakub
2023-08-16add ability to remove item data and use it for clay (#2229)chochem
2023-08-13Fix overclock calculator calculating eu/t use for ulv recipe wrong on ↵BlueWeabo
certain parallel (#2225) * fix overclock calculator calculating eu/t use for ulv recipe wrong on certain parallel * make formula into its own method
2023-08-11Blacklist AE2FC drop and packet, and Chisel stones from Recycler (#2222)miozune
* Fix recycler blacklist being sensitive to NBT * Blacklist AE2FC drop and packet, and Chisel stones * fix class loader issue
2023-08-10Fix PAs overclocking ulv recipes too much (#2220)BlueWeabo
* fix PAs overclocking ulv recipes too much * make sure we save the returned value
2023-08-07try to fix AL logging (#2214)chochem
2023-08-05Check if it is allowed to put into slot (#2207)Jakub
2023-07-30fix GT_ParallelHelper adding 0.01% to chanced outputs (#2194)BlueWeabo
2023-07-30Fix Overclock Calculator Making Too many parallels and wrong eut consumption ↵BlueWeabo
(#2190) * fix overclock calculator making too many parallels and wrong eut consumptions * fix duration increase when trying to do a noOverclock calculator * spotless * add correct api for no overclock * address review
2023-07-28Less hostile user interfaces (Buffer/Filter/Input bus) (#2165)Yannick Marcotte-Gourde
* Made Emit Energy button a CycleButtonWidget * Made Emit Redstone button a CycleButtonWidget * Made Invert Redstone button a CycleButtonWidget * Made Stocking Mode button a CycleButtonWidget * Spotless apply * Made Invert Filter button a CycleButtonWidget * public bInvertFilter -> protected invertFilter * Deduplicated filter code * Made Allow NBT button a CycleButtonWidget * Made Ignore NBT button a CycleButtonWidget * public bNBTAllowed -> private allowNbt * public bNBTAllowed -> private ignoreNbt * Grey extended tooltips * Don't hardcode multiline tooltips * Document hidden functionality * Cleaned numeric constants * Fixed string constant declaration * Named constants in filter * Unify filter redstone behavior * Fix cover filter mode being inverted so that the displayed mode is the active one * Less magic numbers * Allow right clicking recipe filter * Display only machine type in recipe filter and cycle through compatible machines * Buffer tooltips show output voltage to clarify their role as passthroughs * Added more info to Emit EU/Redstone buttons * Added Sorting mode button to buffers/filters * Added Sorting mode button and stack limit button to input buses * Don't cycle prefixes when clicking with itemstack * Fixed tooltips to work off of the inventory * Fix RecipeFilter losing filter * Support multiblock machines * Use ModularUi syncers to sync state with client Thanks minecraft7771! * Grey text for recipe filter helper text * AnimatedTooltipHandler -> EnumChatFormatting * Explicited RecipeFilter filter building * Specify color for empty slot tooltip * Don't cache new uses of GT5U.MBTT.MachineType. Also corrected MachineType::description * Removed unused getItemExtraTooltip * Multiple returns in getItemStackMachineRecipeMap
2023-07-28Add more API to ParallelHelper and rework OverclockCalculator (#2185)BlueWeabo
* refactor OC calc * somewhat refactor parallel helper * fix PA not OCing correctly no clue why it wasn't using super and then setting the duration again. * make use of new api to make fusion cleaner * make batch mode actually dynamic * add another reason for 0 parallel * move variables around to try and group them together * address reviews * add overclocking past 1 tick by adding parallels * add null check and make a basic calculator to prevent npe * check null recipeMap supplier * address reviews * addressing of reviews * make it possible to call some OverclockCalculator methods through static methods * address reviews * make sure one doesn't get too many OCs when calculatin under 1 tick * add api for custom duration under one tick and fix batch mode doing 0 ticking * fix not calculating duration under 1 tick correctly * spotless * try to have correct eut consumption * address review * make sure mk5 fusion is said in nei * fix eutCalculating under one tick way too much and address reviews * remove roundUp voltage
2023-07-26Remove "Ore Byproduct List" NEI in favor of custom diagram mod (#2183)miozune
2023-07-24Make Parallel Helper do better chanced output calculation for paralleled ↵BlueWeabo
chanced recipes (#2130) * better calculation * roll for each parallel * skip rolling for recipes with chance at 100% * address not setting as null when stcksize is 0
2023-07-24fix implosion compressor requiring wrong amount of output (#2168)Glease
2023-07-22Fix recipe check broken by fluid registry (#2161)miozune
2023-07-22Exposed recipe consumption via method (#2162)Maxim
* Exposed recipe consumption via method
2023-07-19Migrate fusion reactor to proper generic processing logic (#2145)Maxim
* Migrate fusion to generic processing logic * Adjusted OC calculator to allow max number of OCs * Fixed typo * Fix buffer consumption logic * Fix oversight * Addressed reviews
2023-07-18Fix GT_ParallelHelper always doing batch mode parallels instead of focusing ↵BlueWeabo
on normal parallels (#2147) * fix * make sure normal parallels are ran before batch mode
2023-07-18Added machine type on single block tooltips (#2138)boubou19
* change tooltips * put machine types together * Added constructor to accept multi line tooltip on sbs * sorting machine registering methods * update MachineType * migrate machines to multiline description * add new constructor for matter amplifier * migrate matter amplifier to multi line tooltip * spotless apply * Capitalize machine types * breakdown large run methods into themed methods * migrate TE IDs to an enum (1/?) * spotless apply * migrate TE IDs to an enum (2/?) * migrate TE IDs to an enum (3/?) * migrate TE IDs to an enum (4/?) * spotless apply * sorting crafting recipes by type + fix meta id typo * migrate TE IDs to an enum(5/?) * spotless apply * merge master (#2143) * Make structure tooltips more colorful (#2133) * default color changes * add colored casing amount builders * oversight * address reviews * GPL Special Item access (#2134) * Added getters to allow a machine to set the special item for recipe checking * Changes to ore factorys running mode description (#2135) * Changes the integrated ore factory mode description to match what its actually doing. * Some tooltip grammar changes. That would have annoyed me :) * Enable void protection for PA (#2136) * Added ofNoOverclock builder that accepts eut and duration (#2140) * Fix findRecipe might limit stack size by 64 (#2139) * Fix potential issue with applecore ItemFoodProxy (#2137) * Fix potential issue with applecore ItemFoodProxy * Fix the worst class loader issue ive ever encountered --------- Co-authored-by: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Co-authored-by: Maxim <maxim235@gmx.de> Co-authored-by: Lyfts <127234178+Lyfts@users.noreply.github.com> Co-authored-by: miozune <miozune@gmail.com> Co-authored-by: Serenibyss <10861407+serenibyss@users.noreply.github.com> * Moved machine type and descriptions to lang files * Removed redundant visibility modifier * Only expose translated descriptions * Using prefix gt.recipe for NEI compatibility * Deprecate use of LanguageManager in GT_Recipe_Map * Unify GT_Recipe and MachineType localization * Electromagnetic Polarizer consistency with Separator * Added Packager MachineType * Added Scanner MachineType * Added Rock breaker MachineType * Added Mass Fabricator MachineType * Added Replicator MachineType * Added "Machine Type" tooltip to steam machines * public modifier unnecessary * Spotless apply --------- Co-authored-by: minecraft7771 <maxim235@gmx.de> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Co-authored-by: Lyfts <127234178+Lyfts@users.noreply.github.com> Co-authored-by: miozune <miozune@gmail.com> Co-authored-by: Serenibyss <10861407+serenibyss@users.noreply.github.com> Co-authored-by: YannickMG <yannickmg@gmail.com>
2023-07-17Fix division by zero error with VoidProtectionHelper (#2144)miozune
2023-07-17Fix findRecipe might limit stack size by 64 (#2139)miozune