aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/blocks
AgeCommit message (Collapse)Author
2024-08-05Adding some stuff I removed long ago (#2702)Ryan Nasers
* Adding back in stuff I removed * Fixing connections * Idk what this was * Spotless --------- Co-authored-by: Martin Robertz <dream-master@gmx.net>
2024-08-04Packet cleanup: avoid duplicating IDs across multiple files using an enum ↵Raven Szewczyk
(#2822)
2024-08-03Waterline rework (#2577)NotAPenguin
* Add barebones PurificationPlant class * Make simple 3x3 structure to form purification plant * Add base purification unit class and dummy sifter unit MTE * Make sifter unit form * Fix accidental wildcard import * Implement basic linking of units to controller using data stick * Make linking more robust, save bidirectional links, add scanner output * add linking range, error message and unregister old controller when re-linking * Add link status of purification units to waila body * Disable maintenance issues on purification plant units * spotless * Check structure of linked purification units in main controller * Remove all star imports * Small refactor to avoid updating status from main controller * spotless * Attempt to document current code * Convert some comments to javadoc * Implement basic processing cycle, sync it with linked purification units * Make water purification plant drain power * Calculate power drain from active units and remove controller power drain * spotless * Add very barebones recipemap * Fix recipemap name in lang file * spotless * Fix purification unit recipemap name * spotless * more sane amount of max fluid outputs * add some item outputs to sifter unit * Very simple recipe processing, may be buggy * spotless * Implement recipe failure * Implement void protection for purification units * spotless * buff item output odds slightly * Add WIP grade 1 structure * spotless * Store base success chance in recipe metadata and display it in NEI * Fill sifter plant with water * Add comment * Allow construction sifter unit in survival * Implement water boost * Fix water boost allowing output chance to go over 100% * Implement failed recipes outputting lower tier water * Fix typo * Fix deformed purification unit still drawing power * Slightly refactor recipe check so base class can read result * Create empty ModularUI container for purification plant * The great gui struggle part 1 * More gui struggles, we have a button now * Adjust button text and size * gui wars: the rise of the sync * gui wars: a new hope * fix the sync * is pengu old enough to know exceeder? * Fix being able to link the same unit multiple times * Sync status string to client * Sign sifter with my name * Show status somewhat properly * Adjust sifter base chance and structure * Fully implement sifter unit * More tooltip refactoring * Add structure info to sifter tooltip. * nitpicking tooltips * Adding sound to Purification Plant Main Unit. * fix star imports * Add basic coagulator unit, add recipemap for it * Write coagulator tooltip * comma nitpicking * more tooltip work * small refactor to purification plant controller * start work on custom recipemap frontend * Fully implement coagulator * Update structure requirements in tooltips * Move controller text in structure tooltips to be consistent * fix NPE on world load * Add base ph adjustment unit MTE * Add info to main controller and energy hatch check * Fixing tooltip of Main Controller & Energy/Exotic Hatch check. * Create full pH adjustment structure * disallow any voiding on purification unit * Small custom RecipeMap frontend for ph adjustment * Generate random initial pH value * Implement inserting NaOH and HCl to adjust pH * Add easter egg * Implement pH sensor hatch * Properly consume HCl and round pH value to 2 digits * Write ph adjustment unit tooltip * Tooltip nitpicking * Try to fix some structurelib hints * More trying to fix hints * Add industrial strength concrete casing block * Add water loop sound to the game * Document random initial pH in tooltip * Add glass material base * Fix spotless formatting in Textures docs because I cannot take it anymore * Add glass texture * Try adding transparent glass * Transparent glass working * Create pH resistant glass and update pH structure to use it * Create full structure for main purification plant * Create custom water purification casing block * Properly balance ferrous wastewater reprocessing and reduce input by a factor 10 * Add pH factor to NEI tooltip and fix coagulator structure * Structure tooltip for Purification Plant base * Add GT_Block_Glass2 and properly set maxMeta * Add Tinted Industrial Glass blocks * Fix BlockCasing9 not showing custom tooltip * Register tinted glass as EV glass * Add sterile water plant casing and revert tooltip change * Mention required water in sifter tooltip * Add more textures and casings * Add more textures, sounds and add structure info for pH adjustment * Rename sifter unit to clarifier * Rename coagulation unit to flocculation unit * Add activated carbon line * Fix unintended activated carbon recipe * Add activated carbon filter * Add polyaluminium chloride + solution * Add new custom textures by @BlueHero233 * Wip recipe page with new background for flocculation * Fix flocculation background image mostly * Finally aligned the slots * angery mumbles * Finish flocculation recipe page * All the recipe pages! * Add new reworked textures * Fix ph adjustment being t3 instead of t4 * Fix invisible casing * apply chembalance to polyaluminium chloride properly * Fix ferrous wastewater -> flocculation waste liquid * Move flocculation to grade 3 * create ozonation unit with placeholder blocks * add new blocks for ozonation with placeholder textures * Add water to ozonation structure * Create ozone gas material * Add ozone recipe * Add textures for ozone unit * Add sound loop for ozonation * fix * implement ozonation mechanics * Finalize ozonation tooltip * Create dummy plasma heater multi * Update textures for plasma heater * Add grade 5 recipemap * Add hatches to plasma heater multi * Add basic plasma heating unit variables * Implement plasma heating unit mechanics * Add plasma heater tooltip * Add structure info to plasma heater tooltip * fix ozonation tooltip, add frontend * Fix positioning on ozonation tooltip and fix plasma heater crash * Add UV treatment MTE and structure without textures * Revert accidental addition of debug dependencies * Add initial version of uv unit textures * update naquadria casing, add water color gradient * Some minor cleanup and added docs * Create lens housing bus * Add lens bus to UV treatment unit * Add lens indicator hatch * Merge GT_MetaGeneratedItem_03.java * Add lens indicator hatch * Add the lens cycle, uv treatment recipe map and fix eut of flocculation recipe * Implement lens swapping mechanic * Clean up first lens swap * Fix uv recipemap lang and move lens cycle to recipe * Write uv treatment tooltip * Add sounds for uv and plasma steps * Create empty degasifier class * Create temporary debug structure for degasifier * set temp casing index for degasifier * create degasifier control hatch * create slightly less temporary but still temporary structure for degasifier * Start impl of degasifier * fix fluid consumption and nbt loading of degasifier * Degasifier implementation should work now * Rename and reformat some things and start work on degasser tooltiop * give last bit much lower chance of being on to avoid cheesing * Finish degasifier tooltip * Integrate some deleno lore * hopefully fix all moved casing meta ids after merge * Create finalized degasser structure * Integrate more deleno lore * Add even more lore * Create placeholder particle catalysts and fetch particle items from gt++ * Fix wrong casing and recipemap localization * Create parallel config menu * refactor purification recipecheck slightly * implement parallel amount on water i/o and power * add tooltip info about parallel config * fix text * update block names in structure tooltips * create structure tooltip for degasser * create textureless quark catalyst items * add the purple glass * fix lore typos * fix some casing indices * remove concrete floor from water plant and reword tooltip * fix main plant structure and add placeholder structure for t8 step * fix structurecheck for main plant and add random catalyst generation for t8 * implement basic mechanics for particle extractor (wip) * Create plasma heater frontend * implement final mechanics and bugfixes for particle extractor * add recipes for re-aligning quark catalysts * add simple recipes for catalyst alignment * initial replacement of purified water in engraver recipes * add purified water to all wafer cutting recipes * fix purified water amounts * buff quark cyclotron recipe again * extract t8 unit casings into their own icons * Write initial tooltip for t8 module * add purified water to mask recipes * Add recipe comparator to show low tier purified water recipes first * add min casing check to waterline multis * buff ozone production * update t8 structure * make purified water optional again for naq wafers * Fix blockrenderer for purification plant * fix nei previews * fix nei * really fix nei this time * add t8 lore * fix hatch recipe locking blocking automation on some steps * try to solve weirdness with grade 3 recipe * fix issues with recipecheck * fix missing null check * make ph sensor use a strict inequality check * fix min casings on t5 * significantly nerf purified water usage for beamline masks * disable void protection for waterline * small adjustments to t6 unit * more small adjustments to t6 unit to prevent easy automation cheese * fix degasser redstone output and missing return statement * remove water QFT catalyst recipes --------- Co-authored-by: Tianyou Mei <meitianyou94@gmail.com> Co-authored-by: OlliedeLeeuw <ollie.riemersma@xs4all.nl> Co-authored-by: Ollie_de_Leeuw <154506304+OlliedeLeeuw@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
2024-08-02Switch to using the vanilla fortune logic for raw ores. (#2810)Ethryan
* Switch to using the vanilla fortune logic for raw ores. * change long to int * switch random generator
2024-08-01Laser Engraver Multi (#2771)Mary
* Laser engraver boilerplate and structure * Made a rough, untextured laser renderer * Laser renderer is kind of functional * Laser renderer follows curve * Laser turns on/off when recipe is running * Sampsa laser * Color changing boilerplate * Registered all gt lenses * Fixed default renderer to white * NBT reading functional * Stole SE code to try and get TE working. It does not * Laser renderer finally functioning with more than 1 laser! * Moved tick count to TileLaser so lasers don't tick each other * Implemented laser source hatch * Structure update + spotless * Switched to the GT_Values tier list * Update tooltip and message player about rendering toggle * Allow fluid input/output * Attempting to give proper name to laser plate * Fixed laser plate name * New laser plate texture * New casing just dropped * Allow UMV glass to use any laser source * Switched laser to a simple line renderer instead of a model * Fixed hatch texture I missed earlier * Spotless * Controller textures * render: New laser renderer - Use GL quad rendering instead of line rendering to fix scaling - Set lightmap coords (Emit bloom glow with shaders) - Set opacity to 1.0 - Slight cleanup * Got rid of the old laser model * Tweaked some numbers on the renderer * Spotless * cleanup * I give up on rotation, I've spent too much time trying to get this to work * Got block item working I think * Fixed tooltip for laser and multicanner * Support bartworks lenses * Finishing touches * Removed unneeded assignment * Allow UXV lasers to do all recipes * Forgot to call super for nbt data... * Replace magic numbers * oops, spotless * Another magic voltage number * Rotations and mirror flips Now with spotless * fixed west/east * ok but actually fixed now, mixed up west/east with north/south * Updated laser source snapping to account for rotation being allowed * Cleanup rotation axis and remove unecessary nbt * Re-added nbt but actually load it properly now * Fix NEI displaying lots of hatches --------- Co-authored-by: LekKit <50500857+LekKit@users.noreply.github.com> Co-authored-by: BucketBrigade <apple12a1@hotmail.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
2024-08-01Add multi lathe (#2783)Volence
* first few files outlining new lathe multi * MultiLathe: Attempt to add tiers based on pipes * MultiLathe: Added Item Pipe Casing blocks and tiers * MultiLathe: Finished Machine and its mechanics * MultiLathe: Add recipe map and recipes for new precision lathe mode * MultiLathe: Apply Spotless * Revert recipe map changes * remove a few more recipe additions * revert to basic lathe recipe map for the multi * fix imports and make them all explicit * remove a few more * imports, update tooltip info * Update src/main/java/gregtech/common/blocks/GT_Block_Casings11.java Co-authored-by: Mary <33456283+FourIsTheNumber@users.noreply.github.com> * Added to the texture list documentation for blocks --------- Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: Mary <33456283+FourIsTheNumber@users.noreply.github.com>
2024-07-20Beamline (#2619)Raven Szewczyk
* Beamline * Remove hardcoded dreamcraft items and spotless * Remove logs and fix auto structure check * Remove logs and fix auto structure check * Fix typo and synchrotron high MF scaling * sa (cherry picked from commit b2796d95538a1b683b4a98bf6cb0f8fe21404fbd) * Add multi textures, add structuredesc info, remove test TC input, add synchrotron/input/output recipes * Spotless * Prevent mob spawning on casings * Fix LINAC glass requirement, make synchrotron structure less ugly, add last recipe * Spotless * Add placeholder particle textures * Add some mask recipes I missed * Spotless apply for branch lanth-beamline for #2619 (#2630) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Add further error messages to LINAC and Synchrotron, fix MM & LaB6 recipes * Spotless apply for branch lanth-beamline for #2619 (#2648) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Minor changes, add more multi error messages & 9x U-238 SC recipe * Spotless apply for branch lanth-beamline for #2619 (#2651) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Missed a change * Spotless apply for branch lanth-beamline for #2619 (#2652) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Update beamline desc * Remove comments, move coolant fluid check to Util class * Spotless * Spotless apply for branch lanth-beamline for #2619 (#2666) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Fix Mu-Metal recipe output amount, tool stats for MM & LaB6 * Spotless * Fix multi hatch textures * Spotless apply for branch lanth-beamline for #2619 (#2676) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Increase Synchrotron output rate eut & antenna tier scaling, in general improve output rates, buff all TC recipes' processing time * Fix misleading BL tooltip * update * remove import * Buff higher-tier wafer recipes for each IC, from a 4x to 3x increase of recipe amount per two wafer tier increases * Remove RA1 calls in beamline (#2716) * Spotless apply for branch lanth-beamline for #2619 (#2717) spotlessApply Co-authored-by: GitHub GTNH Actions <> * fix * Spotless apply for branch lanth-beamline for #2619 (#2733) spotlessApply Co-authored-by: GitHub GTNH Actions <> --------- Co-authored-by: unknown <gtandemmodding@gmail.com> Co-authored-by: Elisis <jarrad.thomson@gmail.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-18Added Water Pump (#2694)evgengoldwar
* Add Water Pump * Added check humidity * Apply spotless * Added tier 2 WaterPump * Added new textures and Fixed the display in nei * Optimizing imports * Fix tooltip * Added craft for Output hatch ULV, Wooden Casing, Water Pump * Apply spotless * sa+update deps * Delete the sky check method * sa * Rewrote WaterPump to SteamMultiBase. * Added a steam hatch to the structure and changed the tooltip * Spotless apply * Changed VoidProtection and calculate water generation * Remove star imports * Rename Wooden Casing to Primitive Wooden Casing * Remove enableMultiblock_WaterPump * Rename static variables * Change variables and tooltip * Sa --------- Co-authored-by: Dream Master <dream-master@gmx.net>
2024-07-18Add a Multiblock Electromagnetic Separator (#2726)Mary
* Built multi template with required methods in gt++. * Filled out template based on gt++ electrolyzer code * Refactored into gregtech. Not supposed to add multis to gt++, whoops! * IntelliJ "smartly" deleted all of the imports in GT_Loader_MetaTileEntities and replaced it with a wildcard import... which caused it to fail checkstyle. Thanks so much, IntelliJ. * Figured out how to make IntelliJ Stop Doing That * Added author tag and vac freezer texture for testing. * Registered casing, working on getting texture functional * Added casing texture * Fixed structure check and added processing logic. Multi now forms and can run EMS recipes * Added overlay textures * Made new Casings10 class and added EMS Casings to it. Texture mesh now functions * Made controller match casing mesh * Shifted Casings10 to an actual page number instead of magic number. Now sits on page 16, following where waterline casings will be implemented in future * Added Electromagnet Housing. Has no texture, but you can place an open its inventory * Added electromagnets and their texture files * Multi now requires EM housing and breaks if there are 2 * Electromagnet Housing has proper texture and can be wrenched. Also has a placeholder overlay * Tooltip updates. Added pollution * Electromagnet tiers modify processing logic. Some issues remaining * Prettier switch & spotlessApply * Multi now validates electromagnet before recipe check. Also added a machine casing texture * Pollution fix * Support for exotic energy hatches added. Recipe check fails if electromagnet is too weak * Stack size of 1 for electromagnets * New electromagnet textures * Final pass on EM textures. Also, EM Housing uses IV hull as base texture instead of ULV * Put in placeholder-ish recipes for controller/casings/EM housing * Placeholder recipes for electromagnets. Also fixed structure check, whoops * Renamed multi to Magnetic Flux Exhibitor * MFE can run as a polarizer * Fixed exotic warning getting stuck * Attempted to add assline recipes, not working * Fixed assembling line recipe templates. Thank you chochem <3 * Fancied up tooltips * Fixed parallel issue * Updated recipes. Will have to move them to coremod * Nerfed speed on all electromagnets * sa * Restricted MFE to multiamp non-laser. * Spotless * Animated Mag hatch * Added glow * Removed pollution. I am a gentle soul * Addition to structure check * Disabled wireless laser compatibility * sa (cherry picked from commit 155cf4dd7284ca84bd9be79f11b6f577b38a4e0d) * spotless * Removed all recipes. These have been replaced in the coremod * -Removed unnecessary structure check -MIN_CASING final -Baps author tag -Refactored mMagHatch to not be a list -Added tooltip builder in MagnetTiers * Forgot to run spotless * Last minute tooltip fix for structure accuracy --------- Co-authored-by: Dream Master <dream-master@gmx.net>
2024-05-22Implementation: Raw Ore Items as Ore Drops (#2502)Ethryan
* testing * Fix textures * Adding Drops, still need to add furnace recipe * Need to fix the multiple smelting recipes. otherwise stuff works. * part 2 * Remove wip block code I added * Moved it to a new processing file * Fix Oredict and add a stone dust chance output. And added a config option for fortune bonus. * Finally got Spotless to work * fix config system set it in gregtech config with oredropbehaviour in gregtech.cfg * Added new option and an option that returns it to the old behaviour. * Moved the raw ores to meta3 since meta1 was full. (MetaID range fix) * Fixing the MBM to only process small ores with fortune. * New config option * try to fix the recipes not working on Zeta * Implement Caedis Fortune fix * Added comment * Spotless * Fix stone dust amount from macerator * Adding Raw ore to the OreFactory (Untested) * spotless * Update this to actually drop the amount number of stack, instead of the stack set to the amount * New Random function for fortune and shapeless crushing recipes for the raw ores. * Fix * Actually make the block per dimension. * Fix an () issue. And make this actually work ingame. and not just randomly. * Change back drops Ned to look into Silk Touch more * Enable Silk Touch * Wth Spotless?, THIS made you complain?
2024-05-20Reducing allocation (#2601)Martin Robertz
* Add IAllSidedTexturedTileEntity to reduce memory overhead for ore textures (cherry picked from commit 274918800a3bf728e1db88e2d22b14cb6eb1a2e5) * Cache texture for ore, since it doesn't change during the game obviously (cherry picked from commit 45a2fe43f2cdb33fa7c0b05a4b8e4531fd2706a6) * Reduce allocations for inventory ores rendering (cherry picked from commit 5ed6526436e9b3a0586f37eac460f707636a102d) --------- Co-authored-by: SKProCH <skproch@yandex.ru>
2024-02-27Add locale code support for lang manager (#2511)miozune
* Add locale code support for lang manager * Deprecate a method with aWriteIntoLangFile
2024-02-15Allow interacting with machines instantly upon placing (#2496)Raven Szewczyk
2024-01-31Add Drone Centre (#2412)RealSilverMoon
* Add Drone Centre * Apply texture and model * Update en_US.lang * Remove import.* * Switch to block render * Balance range and break chance * Add recipe * Spotless * Update lang * Fix recipe * Rewrite connection system and UI * Remove debuff party * Spotless * Fix server class not found * A stupid enough recipe * Another bad recipe * Update tooltip & i18n * Close it! * Spotless * Disable draggable * prohibited remote control when centre is offline * Rename * Rename; Change specifiers * Update texture * spotless --------- Co-authored-by: Martin Robertz <dream-master@gmx.net>
2024-01-27GT Tool Fixes and ore balance config (#2453)Minepolz320
* Fixes/balance config Fixes that the ax and saw do not break ladders - ability to toggle ore multipliers for ore Nether and End - sneaking with a scythe/plow allows you to break only 1 block * Fix copy paste typo * Revert "Allow tools to break stuff with a lower harvest level (#2435)" This reverts commit ba1a9b290a09e39b100ff8d9f1f5e70cdc3f0fab.
2024-01-12Allow tools to break stuff with a lower harvest level (#2435)Caedis
* Allow tools to break stuff with a lower harvest level * Dont allow drops of improper tool usage
2023-12-18make quantum tanks not slow you down for later game players (#2393)Martin Robertz
Co-authored-by: bombcar <github@bombcar.com>
2023-12-05Revert "make quantum tanks not slow you down for later game players (#2392)"Martin Robertz
This reverts commit 0e7eddde13abb4e95311a3d1a9be92ed6b04e49e.
2023-12-05make quantum tanks not slow you down for later game players (#2392)bombcar
2023-12-03Refactor RecipeMap (#2345)miozune
* Remove deprecated and unused things * Move recipemap subclasses * Move GT_Recipe_Map to outside and rename to RecipeMap * Move recipemap instances to separated class & remove prepending s * Remove useless GT_Recipe constructors * Always use ModularUI * Rename IGT_RecipeMap -> IRecipeMap * Add RecipeMapBuilder * Remove more deprecated and unused things * Fix RecipeMap type parameters * Use multimap for recipe index * Fix bending recipe error in dev env * Remove mUniqueIdentifier * Update AE2FC * Less edgy texture for NEI recipe background * Add replicator fluid output slot for NEI and machine GUI * Fix fluid fuels not having fuel value in large boilers * Remove GT_RectHandler and NEI_TransferRectHost * Remove RecipeMapHandler * Move NEI energy description from RecipeMapFrontend to Power * Refactor the way to filter fusion recipes * Check restriction for some properties * Remove showVoltageAmperage * Make Power accept GT_Recipe * Fix NPE * Move NEI duration description to Power from Frontend * Directly implement IRecipeProcessingAwareHatch for GT_MetaTileEntity_Hatch_InputBus_ME * Make Power integrated with GT_OverclockCalculator * Rename Power -> OverclockDescriber * Don't modify recipe find logic until postload finishes * Reformat reserved MTE ids * Fix check for too few inputs on recipe addition * Move replicator logic to backend * Stop un-hiding assline recipes * Allow setting custom recipe comparator & implement for fusion * Update AE2FC * Rename getRecipeList and getRecipes -> getRecipeMap * Automatically register recipe catalysts * Cleanup the way to detect recipe collision * Make use of BasicUIProperties for basic machines * Make use of BasicUIProperties for UIHelper * Rename specialHandler -> recipeTransformer * Add way to automatically register handler info * Add recipe category * Add some APIs for addons * Rename blastRecipes -> blastFurnaceRecipes * Remove GT_MetaTileEntity_BasicMachine_GT_Recipe#mSharedTank and #mRequiresFluidForFiltering * Don't require setting duration and EU/t for fuel recipes * Don't require setting EU/t for primitive blast furnace recipes * Revert change to addMultiblockChemicalRecipe * Fix large boiler general desc recipe not being added * Hide duration and EU/t from large boiler * Cleanup recipe stacktrace draw * Extend metadata usage of recipe builder to recipe itself * Implement metadata handling & NEI comparator for PCB factory * Some rename around NEIRecipeInfo * Some toString implementations * Add more APIs for addons & some rename * Infer handler icon from recipe catalyst if one is not set * Also shrink recipe title when OC is not used * Remove rare earth centrifuge recipe * Use metadata for replicator backend * Adjust geothermal generator output slot * Allow having multiple transferrects * Store recipemap reference in backend * Rename vacuumRecipes -> vacuumFreezerRecipes * Add config to tweak visibility of recipe categories * Remove mHideRecyclingRecipes in favor of recipe category config * Fix typo fluidSolidfierRecipes -> fluidSolidifierRecipes * Refactor findRecipe and ProcessingLogic to use Stream * Fix BBF handler icon & remove bronze blast furnace * Add fluent API for findRecipe * Add way to stop adding progressbar * Change arg order for special texture * Avoid overwriting interesting failure with NO_RECIPE * Some changes for FuelBackend * Set space project icon * Remove localization from TT * Remove CNC recipe adder * Move recipe extractor from AE2FC * Minor internal change for ProcessingLogic#applyRecipe * More javadoc on #getAvailableRecipeMaps * Better implementation of #ofSupplier * Move replicator exponent config to GT_Proxy * Remove RC & IC2 macerator handling * Rename StreamUtil -> GT_StreamUtil * Refactor code around RecipeMetadataStorage * Revise #compileRecipe javadoc * Switch extreme diesel recipe loader to downstream recipe map * Optimize #reMap * Rename reload -> reloadNEICache * Minor tweak for drawEnergyInfo * a bit more doc * Adjust recipe catalysts * Add toString implementation for GT_Fluid for debug * Minor revision for OilCrackerBackend * Index replicator recipes by material --------- Co-authored-by: Glease <4586901+Glease@users.noreply.github.com>
2023-11-20Change to only allow connections when Redstone is needed (#2374)Ryan Nasers
* Change to only allow connections when Redstone is needed * Forgot spotless copium * Applying oneeyemaker changes
2023-11-08Migrate to non-Object version Utility methods (#2359)ghostflyby
A few calls restricted by other methods and interfaces are left untouched.
2023-10-30Update commentkuba6000
2023-10-19Fix locked fluid name not working correctly (#2341)miozune
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-09-09Deprecate GT_RecipeBuilder#noXXXYYY methods (#2284)miozune
* Deprecate GT_RecipeBuilder#noXXXYYY methods * Remove existing references
2023-06-30Fix crash by casting emptyList to ArrayList (#2103)miozune
2023-06-05Code cleanup (#2040)chill
* remove redundant suppressions * prettify commented code * improve comments The integer comment contradicted the code, so I deleted it. * delete commented-out code * update bitwise int flip from XOR to the dedicated tilda operator The flip was a 32-bit XOR, which is an int-flip. That XOR was replaced with an equivalent tilda operator. * convert a field to inline This field was used only once, so put it straight to where it is used. * remove fluid fix since no-one uses Forge version 1355 or earlier * unwrap switches where fitting In some places, we suppress IntelliJ's inspection RedundantLabeledSwitchRuleCodeBlock - we don't want to unwrap some of the suggested cases because we want to keep the consistency in a switch statement for the sake of readability. * fuse "collect" into Stream API * fix javadocs * remove unnecessary public modifiers from an interface Members of an interface are public by default. * move common parts outside of if * suppress OverrideOnly warning in a javadoc * remove unused lock * suppress warnings about unchecked casts These warnings require non-trivial fixes that are yet to arrive. For now, let's suppress them to reduce the warning-bloat. * remove outdated comment * remove final modifier from private methods Because they are private, it is hard to accidentally overwrite them. Therefore, the final modifier is redundant in this case. * refactor getIcon The first 'if' doesn't cover only tMeta == 9 && mConnectedMachineTextures, therefore the second if can be unrolled. The last switch is redundant because all tMeta values are covered by switches, but let's keep SOLID_STEEL as a fallback just in case. * explain what the casings are and why block casings are split * suppress switch-to-if suggestion * remove unnecessary null check The null is handled in doGenerateItem() * address redundant local variables * rename variables in onTick * suppress warning about accessing static member via instance * rephrase exception * rephrase javadoc * address field-can-be-final warnings * remove empty methods * enum cannot inherit, so protected is redundant * remove redundant throws * update imports to be not wildcard * remove unnecessary try-catch * update for loop * remove redundant code in order to use the diamond operator * update instanceof to use pattern variables * replace blank lines with <p> in javadocs * fix dangling javadocs * suppress warning about unreachable methods in javadocs * remove redundant operation * add the descriptions of parameters in javadocs Also fix javadocs along the way. * relax returned type in javadoc That was done in order to make the docs reflect the code more often. Otherwise, people may forget to change the returned type again with another change. * make long conversion explicit Integer multiplication can give a wrong result if one of the parts is not explicitly cast to long. Let's cast one of the parts where applicable. * remove unary plus * simplify unary minus * use addAll instead of forEach,add It was suggested by IntelliJ to replace the iteration with a bulk operation to improve performance. * replace .asList with .singletonList for consistency * simplify toArray calls Explanation from IntelliJ: There are two styles to convert a collection to an array: * A pre-sized array, for example, c.toArray(new String[c.size()]) * An empty array, for example, c.toArray(new String[0]) In older Java versions, using a pre-sized array was recommended, as the reflection call necessary to create an array of proper size was quite slow. However, since late updates of OpenJDK 6, this call was intrinsified, making the performance of the empty array version the same, and sometimes even better, compared to the pre-sized version. Also, passing a pre-sized array is dangerous for a concurrent or synchronized collection as a data race is possible between the size and toArray calls. This may result in extra nulls at the end of the array if the collection was concurrently shrunk during the operation. * split StringBuilder append Explanation by IntelliJ: Reports String concatenation used as the argument to appends. Such calls may profitably be turned into chained append calls on the existing StringBuilder saving the cost of an extra StringBuilder allocation. This inspection ignores compile-time evaluated String concatenations, in which case the conversion would only worsen performance. * annotate overriding methods with @Nonnull where needed The method that was overridden has @Nonnull so the method that is overriding should also have @Nonnull. * remove set adding itself to itself * remove null check because findField either works or blows up cpw.mods.fml.relauncher.ReflectionHelper::findField either returns a non-null value or throws a RuntimeException, so no need to check of null. * remove slot comparison with tInventory.length slot max value is 127 when tInventory.length is set to 256, which results in that the condition is always true and unnecessary. * remove aOutput2 null check As GT_Values.NI is null, there is no need to check aOutput2 for null again * suppress the suggestion to delete tMeta < 13 mConnectedMachineTextures can change, so tMeta range is not guaranteed * remove aCoverVariable % 3 < 2 the if above already limits the result of % 3 to "2", so the condition "less than 2" is always false. * unwrap "if" because bonus is unchanged Unwrap if because even if the bonus is a variable, it hasn't been changed for the past 8 years and is unlikely to be changed in the future. * reformat javadoc * improve ignoring an exception Make them either more clear or concise * fixup fix typo * update deprecated calls of newInstance() * remove testing BaseMetaTileEntity GregTech_API.constructBaseMetaTileEntity() checks the creation by itself, logging and throwing a runtime error if failed. * unwrap hatch-fill for do_SolarSalt To reach this branch, do_coolant needs to be false and we need to still be in the function, which means that do_SolarSalt was set to true in the previous top-tier "if". * remove always-false input-bus checks of MTE PlasmaForge size() is non-negative, and the values it is compared to are final and 0. * length and size are non-negative Therefore, there's no need to check their negativity * aOutput is guaranteed to be positive * tThereWasARecipe is always false when reached in its first occurrence * convert an assert into if Only tStack 2 is checked for null because if it isn't null then tStack1 also isn't null based on the "if" above. Also IntelliJ was sure that tStack is not null for some reason. On a side note, assertions work only either with a specified flag or in debug runs. Therefore, it is dangerous to rely on them. * simplify stone-gravel-cobble if tBlock != Blocks.stone because of the if at the start of the method. for the last else-if, tBlock == Blocks.gravel because of the check slightly above the change. * interDimensional is always true because of the first if * convert an example to javadoc * remove always-false statements * replace referential string equality with equals If we compare strings by "==", we compare references to them, which is not what we usually want. I wasn't sure if String Pool works here, so I played it save with equals(). * use Automatic Resource Management for AutoCloseable ByteBufOutputStream * add todo to swap from sleep to event bus * null is checked by instanceof * merge switch branches * add a TODO to use clamp() * new String declaration is redundant * use getOrDefault for a map * replace StringBuilder with concatenation where fitting Using a StringBuilder to concatenate two string will not make the program faster or more understandable, so I swapped it to concatenation. * remove unnecessary continue * flip if * remove redundant returns * unwrap ifs It's checked at the top "if" that aType == IItemRenderer.ItemRenderType.INVENTORY, so all aType.equals(IItemRenderer.ItemRenderType.INVENTORY below are always true. * remove checking all GT VERSIONs except the API one * remove version check from GT_Mod and delete respective VERSION fields Aside from GregTech_API.VERSION, these fields are not used anywhere in the project, so only GregTech_API.VERSION was kept. The idea and the usage check were done by miozune.
2023-05-17More RA2 conversion for automatic gt recipes (#2000)chochem
* fully convert all wiremill recipes and clean up unnecessary duplicate code * fully convert all polarizer recipes * fully convert all canner recipes * RA2 for oredict plank recipes * RA2 for oredict stoneCobble recipes * convert some assembler recipes to RA2 * fix * fix2 * remove recipes that were never in the game
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-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-10Added tooltip line which displays the machine color, if any (#1868)Maxim
* Added tooltip line which displays the machine color, if any * Added chat formatting color to dyes enum * Minor cleanup
2023-04-09Fix metal machine block support on break (#1859)Dakota Jones
2023-04-08Added method to add instance specific information to an MTE tooltip (#1857)Maxim
2023-04-08Add isMachineBlock support to metal blocks (#1849)Dakota Jones
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-03-18fix the machine's tooltip doesn't automatically generate when loading (#1799)iouter
* register tooltips * merge master (#1800) * Added custom click sound for the power switch (#1798) * Auto-stock for stocking input bus (#1790) * Add auto-stock for stocking input bus * Add GUI support for autostock and min input limiting. * Added support for copy+pasting config w/ data sticks * typo * correct order * fixes * update branch (#1795) * Send cover data immediately when cover is placed (#1791) * migrate ore prefixes from gt++ and bw (#1792) OrePrefixes are used in switch case a lot and this prevents it from being a valid EnumHelper target. Under the hood for huge enum switch cases, javac will generate a synthetic class with a synthetic static final int[] field to hold switch map. If the OrePrefixes is ever extended, said switch map will be smaller than actual and cause ArrayIndexOutOfBoundException. This moves all addon added ore prefixes back to main mod. This also cleans up the obnoxious comment blocks created by spotless. * Fix advanced external transmitter cover (#1793) * change tpv back to 4k * Revert "change tpv back to 4k" This reverts commit 3560a670e3d697b26014f6320e344867953684e7. * change Tungstensteel to 4k * Add regulator abilities to Steam Valve (#1785) * fix: fix Steam Valve not being configurable * Revert "fix: fix Steam Valve not being configurable" This reverts commit 505d9e273b48315fde154490e116d58fed46ffaf. * feat: add steam regulator * feat: add superheated steam to steam valve * update bs * update to subversion 42 --------- Co-authored-by: miozune <miozune@gmail.com> Co-authored-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: Matej Dipčár <492666@mail.muni.cz> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: NexusNull <p.wellershaus@googlemail.com> * fix --------- Co-authored-by: miozune <miozune@gmail.com> Co-authored-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: Matej Dipčár <492666@mail.muni.cz> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: NexusNull <p.wellershaus@googlemail.com> --------- Co-authored-by: Maxim <maxim235@gmx.de> Co-authored-by: MadMan310 <66886359+MadMan310@users.noreply.github.com> Co-authored-by: miozune <miozune@gmail.com> Co-authored-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: Matej Dipčár <492666@mail.muni.cz> Co-authored-by: NexusNull <p.wellershaus@googlemail.com> * Revert "merge master (#1800)" This reverts commit dafbaf22fd6bef1112143b80d35eae9c60880dfc. --------- Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: Maxim <maxim235@gmx.de> Co-authored-by: MadMan310 <66886359+MadMan310@users.noreply.github.com> Co-authored-by: miozune <miozune@gmail.com> Co-authored-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: Matej Dipčár <492666@mail.muni.cz> Co-authored-by: NexusNull <p.wellershaus@googlemail.com>
2023-03-15fix ghost chunk loading caused by ore blocks (#1797)Glease
* fix ghost chunk loading caused by ore blocks * style update
2023-02-28Remove extra spaces from descriptions (#1776)miozune
2023-01-30[ci skip] spotlessApply with the new settingsJason Mitchell
2023-01-30add back turbine wallsharing (#1699)Glease
* add back turbine wallsharing Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> * use new texture from @Jimbno Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> * remove unnecessary structure checks it turns out you cannot build 2 functional large turbine at these locations anyway, so why not? Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> * spotless Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> * update bs * use the original grey for empty texture these are slightly darker, and looks better Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> --------- Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
2023-01-25EOH materials + Allow materials to pick their processing tier (#1671)Connor-Colenso
* Begin addition of tiered material manipulation * Dwarf matter * Add hardcoded EU tiers for wider usage. * New material images etc * Nugget processing tiers * Move iron nugget to wrought iron smelting to the correct place * Add white dwarf shapes * Add white dwarf shapes * Additional retiering options for EU consumption on material part generation * White dwarf matter complete * Tier neutronium processing at ZPM * Spotless * More adjustments * Renaming files * Add new overlays for magneto material and more name adjustments * Add no recipes subtag * Spotless + name adjustment * Undo isCustom to maintain potential public variable references in addons. * Undo isCustom to maintain potential public variable references in addons. * Fix fluid registry corruption. * Add rotor EU override * Add rotor EU override * Make neutronium mass more reasonable * Add proper time adjustments to rotor (probably an old oversight) * Adjust enums to use VP rather than recalculate * Fix typos on EU usage * spotlessApply (#1672) Co-authored-by: Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> * Change setProcessingMaterialTierEU to accept long. * Small fix * Add space and time materials * Add new forge hammer support * Update tooltip * Expand laser engraver slots. * spotlessApply (#1673) Co-authored-by: Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> * Reserve texture page. * Modernise GT circuit usage * Add oversight in assembler frame recipe * Add missing MHDCSM overlay textures * Remove small and tiny MHDCSM dusts * Fix error in ingot texture * Fix NO_RECIPES not applying to frame boxes * Restore missing ingot * Add rod handles for materials * Fix frame box auto generating with NO_RECIPEs tag * recipe * Spotless * Add MOD_ID_GTPP as modid * spotlessApply (#1675) Co-authored-by: Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> * Remove smelting spacetime from furnace (why does this exist?) * Recipes + new storage blocks for materials * Bedrockium LuV -> EV * SpaceTime UMV -> UIV * TranscendentMetal UIV -> UEV * MagnetoThingy and dward mats UXV -> UMV * update buildscript * yeet magic number that could be * spotlessApply * Make the nanite tier 3, colen request * Up nanite tier * Comment * Change name * Change name 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> Co-authored-by: adam riondy <adampoplol@gmail.com> Co-authored-by: boubou19 <miisterunknown@gmail.com>
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>
2023-01-02add callhook for pre block destroy (#1625)Glease
* add callhook for pre block destroy Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> * spotless Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2022-12-28Add colored voltage tier display for Waila (#1598)miozune
* Add colored voltage tier display for Waila * Adapt to new methods
2022-12-13Nanite material and circuit board multi for later tiers (#1513)BlueWeabo
* 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 * add nanites as a material * spotless * start the work on the nanites multi * spotless * Change signature of addUIWidgets * FluidFilter cover, FluidDisplaySlotWidget, BasicTank, BasicGenerator, Output Hatch, MicrowaveEnergyTransmitter, Teleporter, DigitalChest, DigitalTank * Add title tab * Move package: modularui -> modularui/widget * add controller recipe and new casing * add prefix and the casing and controller to the item list * add nano forge controller to its item * add nanites to PreLoad * Programmed circuit + IConfigurationCircuitSupport * clean * add nano forge multi - complete with some recipes * new nanite textures * Apply spotless * fix nanites not registering, remove recipe lock on the nano forge, other small fixed no clue why they didn't want to register in run2. * 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 * the start of a new multi, tooltip WIP * Display items and fluids that exceed usual count * blah * use +=, why didn't I do this * add tier 2 and tier 3. add some more checks * 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 * make a single shape rotatable by 90 degrees * Minor changes to NEI * more shapes, more mechanics * 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 * small changes * 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 a new material, add some recipes, continue the work on the PCB factory. The first recipe is in! * oops spotless * update bs * rename casings * make material generate plates * add recipes to the pcb factory * nei handling * do some more work on the multi * fixes to recipes. * Update build-and-test.yml * starter work on the PCBFactory GUI. recipe check fully working * finish gui work * spotless thank god drafts don't generate spotless PRs * final touches. tooltip tomorrow * fix typos. and finish PCB multi. * spotless * changes for requests * make consumed amount a constant * fix recipes oopsie * Remove unused textures * Add nanites * fixing recipes * Fix NEI not showing * Make nanites share texture * actually fix recipes and use 2 new lenses * finally circuits work in recipe * Add trans metal block * add default offsets * spotless * make parallels actually work * Downscale nanite texture to 64x64 * improve PCB Factory GUI * finish fixing gui, fix offsets on cooler, apply a new formula for duration * Clean up PCB Factory tooltip * Spotless * Fix typo in Naquadah * make sure the roughness multiplier actually slows down the recipe XD * add a smaller limit to the roughness multipler.... lets not allow for 10x board prodction oops * fix cooler tier 2 using wrong block in its center, fix controller texture on tier 3 * update mui and uodate the button texture * fix one button and prevent null arrays * remove some math. a small rework on recipes * fix and off by 1 * save the change? never heard of it * fix tier 3 not forming * Nano forge tooltip * hopefully fix nano forge. fix neutroni nanite wrong tier in recipe * try 2 to fix structure check * fix nano forge not forming * fix nano forge data stick. we need better error messages * do some fixes. * its 12am, typos.... * never coding at midnight again * try 2 to fix nano forge and pcb factory * fix nano and pcb factory not working. address some reviews * do syncing between client and server. fix recipes asking too much power with multiple upgrades Co-authored-by: miozune <miozune@gmail.com> Co-authored-by: Jason Mitchell <mitchej@gmail.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com> Co-authored-by: Sampsa <sampo.vanninen@aalto.fi>