aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/blocks
AgeCommit message (Collapse)Author
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>
2022-11-26Initial Commit (#1524)MadMan310
2022-10-31Add solenoid coils for cyclotron (#1494)Connor-Colenso
* Add solenoid coils for cyclotron. * Fix? * Push * Spotless apply for branch cyclotron_coils for #1494 (#1495) * Change stack size (#1484) * Replace TSS Coils with Titanium-Platinum Ones (#1211) * Replace TSS Coils with Titanium-Platinum Ones - Created a new material, TPV-Alloy, made from Titanium, Platinum and Vanadium (3/3/1); - Replaced the Tungstensteel Coil Block with a TPV one, to make it properly included in EV while adding a Platinum sink in that tier; * Simplified Metal Proportion for TPV * change tpv ebf temp to 3k to be even with TSS (cherry picked from commit 52dda9f666d8e1b2d220a0b2d9e24513ad8a4490) * add TPV mixer recipe (cherry picked from commit 30b6cf62c14165add271a1ecc4a322ab0ce609d1) * add tpv as metal via tag (cherry picked from commit 75dba7283e26b6e2f717a3230d6369e4cbe20c8e) * Spotless apply for branch EV_Coil_Change for #1211 (#1482) * Remove convert gendustry bees code (#1187) * Remove convert gendustry bees code * fix derp. run BS update Co-authored-by: Martin Robertz <dream-master@gmx.net> * Added check to API if the block should drop its inventory on break (#1479) * Added check to API if the block should drop its inventory on break * Apply spotless * Changed should drop flag to take index argument * spotlessApply Co-authored-by: DianeXD <64360468+DianeXD@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: Maxim <maxim235@gmx.de> Co-authored-by: Steelux <70096037+Steelux8@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> * move TSS and TPV to ev (Mixer recipe) (cherry picked from commit 74dc0da61db49102cc3e073f5c506e8c494c508f) * add info to Nei * Spotless apply for branch EV_Coil_Change for #1211 (#1483) * Remove convert gendustry bees code (#1187) * Remove convert gendustry bees code * fix derp. run BS update Co-authored-by: Martin Robertz <dream-master@gmx.net> * Added check to API if the block should drop its inventory on break (#1479) * Added check to API if the block should drop its inventory on break * Apply spotless * Changed should drop flag to take index argument * spotlessApply Co-authored-by: DianeXD <64360468+DianeXD@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: Maxim <maxim235@gmx.de> Co-authored-by: Steelux <70096037+Steelux8@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: DianeXD <64360468+DianeXD@users.noreply.github.com> Co-authored-by: Maxim <maxim235@gmx.de> * Recipe fixes 2022/10/25 (#1489) * Fix quad input hatch voiding (#1487) fixes https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/11728 * Add constructor for Energy Hatch with inventory (#1488) * Force Industrial Apiary to suck 4 amps (#1492) * Fixed annoying cover message bug (#1490) * Fixed annoying cover message bug * Spotless * make the cleanroom to accept 2 doors so alastor is happy (#1493) * spotlessApply Co-authored-by: Phineasor <80113803+Phineasor@users.noreply.github.com> Co-authored-by: Steelux <70096037+Steelux8@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: DianeXD <64360468+DianeXD@users.noreply.github.com> Co-authored-by: Maxim <maxim235@gmx.de> Co-authored-by: miozune <miozune@gmail.com> Co-authored-by: Guinea Wheek <guineawheek@users.noreply.github.com> Co-authored-by: Jakub <53441451+kuba6000@users.noreply.github.com> Co-authored-by: johnch18 <42650497+johnch18@users.noreply.github.com> Co-authored-by: RIONDY 'POPlol333' Adam <76914762+POPlol333@users.noreply.github.com> Co-authored-by: Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> * Random magic numbers 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: Phineasor <80113803+Phineasor@users.noreply.github.com> Co-authored-by: Steelux <70096037+Steelux8@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: DianeXD <64360468+DianeXD@users.noreply.github.com> Co-authored-by: Maxim <maxim235@gmx.de> Co-authored-by: miozune <miozune@gmail.com> Co-authored-by: Guinea Wheek <guineawheek@users.noreply.github.com> Co-authored-by: Jakub <53441451+kuba6000@users.noreply.github.com> Co-authored-by: johnch18 <42650497+johnch18@users.noreply.github.com> Co-authored-by: RIONDY 'POPlol333' Adam <76914762+POPlol333@users.noreply.github.com>
2022-10-23Replace TSS Coils with Titanium-Platinum Ones (#1211)Steelux
* Replace TSS Coils with Titanium-Platinum Ones - Created a new material, TPV-Alloy, made from Titanium, Platinum and Vanadium (3/3/1); - Replaced the Tungstensteel Coil Block with a TPV one, to make it properly included in EV while adding a Platinum sink in that tier; * Simplified Metal Proportion for TPV * change tpv ebf temp to 3k to be even with TSS (cherry picked from commit 52dda9f666d8e1b2d220a0b2d9e24513ad8a4490) * add TPV mixer recipe (cherry picked from commit 30b6cf62c14165add271a1ecc4a322ab0ce609d1) * add tpv as metal via tag (cherry picked from commit 75dba7283e26b6e2f717a3230d6369e4cbe20c8e) * Spotless apply for branch EV_Coil_Change for #1211 (#1482) * Remove convert gendustry bees code (#1187) * Remove convert gendustry bees code * fix derp. run BS update Co-authored-by: Martin Robertz <dream-master@gmx.net> * Added check to API if the block should drop its inventory on break (#1479) * Added check to API if the block should drop its inventory on break * Apply spotless * Changed should drop flag to take index argument * spotlessApply Co-authored-by: DianeXD <64360468+DianeXD@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: Maxim <maxim235@gmx.de> Co-authored-by: Steelux <70096037+Steelux8@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> * move TSS and TPV to ev (Mixer recipe) (cherry picked from commit 74dc0da61db49102cc3e073f5c506e8c494c508f) * add info to Nei * Spotless apply for branch EV_Coil_Change for #1211 (#1483) * Remove convert gendustry bees code (#1187) * Remove convert gendustry bees code * fix derp. run BS update Co-authored-by: Martin Robertz <dream-master@gmx.net> * Added check to API if the block should drop its inventory on break (#1479) * Added check to API if the block should drop its inventory on break * Apply spotless * Changed should drop flag to take index argument * spotlessApply Co-authored-by: DianeXD <64360468+DianeXD@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: Maxim <maxim235@gmx.de> Co-authored-by: Steelux <70096037+Steelux8@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: DianeXD <64360468+DianeXD@users.noreply.github.com> Co-authored-by: Maxim <maxim235@gmx.de>
2022-10-22Added check to API if the block should drop its inventory on break (#1479)Maxim
* Added check to API if the block should drop its inventory on break * Apply spotless * Changed should drop flag to take index argument
2022-10-09digital chests improvements (#1450)Glease
* unify super chest and quantum chest code base * add item info to waila * add an input filter to digital chests
2022-09-26Add chemical formula to ore tooltip (#1413)Glease
* Add chemical formula to ore tooltip * Spotless apply for branch feature/ore-tooltip for #1413 (#1414) Co-authored-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-03merge in ASM-ed in changes from gt++ (#1339)Glease
* merge in ASM-ed in changes from gt++ * Spotless apply for branch gtpp-asm-merge for #1339 (#1340) Co-authored-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-27Update buildscript & apply spotless (#1306)Raven Szewczyk
* Update dependencies * Update buildscript, apply spotless
2022-08-24Remove Hermetic Casing XV (OpV) (#1295)miozune
2022-08-18no more magical texture index (#1249)Glease
* no more magical texture index * add a reverse map for fxxk sake
2022-08-09fix(#10881) persist fire on netherrack bound ores (#1230)Léa Gris
2022-07-31Better Endgame Wireless EU (#1144)Connor-Colenso
* Basis of changes * Adjust voltage tiers to remove OpV * Better textures, move IDs around etc. * Format cleanup * Log level change * Dynamos * More stuff * More OpV purging. * Fixes * Remove wire support. * Textures * IDs * Update hatch/dynamo * New number formatter * Add default method * Add save method on world close * Cleanup old comments/debug * Author * Author * Author * Author * Restructuring of code * Unit tests * More unit tests + cleanup * Fix ID shift + add spares Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
2022-07-31comment (#1153)Jakub
2022-07-31fix small ore and cass ore (#1150)Yang Xizhi
2022-07-23add(api/enums): particle and sound effect enumerations (#1154)Léa Gris
* add(api/enums): particle and sound effect enumerations - Adds new GregTech API enumerations: - `ParticleFX`: Enumerates known EntityFX particles. - `SoundResource`: Enumerates known sounds with, id and ResourceLocation. - Refactors code to use the new enumerations instead of string literals. - Uses `ParticleFX` and `onRandomDisplayTick` to improve or implement new particle effects for these machines: - BBF: Adds random flames in front of the firebox. - Steam machines: Changes pressure-exhaust particles to white vapour, rather than dark smoke. - Magic Energy Absorber: Adds random effect, of absorbed magical purple particles, by the EnderDragon Egg siphon. - Forge Hammer: Adds sparse random sparks, ejected from the main face.
2022-07-18feat(tile): onRandomDisplayTick (#1138)Léa Gris
Adds onRandomDisplayTick method to the IGregTechTileEntity interface that can proxy randomDisplayTick from block. This allows to delegate block particles to the tile, with a client-side-only processing. Includes reference implementation for the Bronze Boiler
2022-07-08Add Advanced Gas Turbine and Limit Original LGT (#1106)Steelux
* Add Advanced Gas Turbine and Limit Original LGT - Added an Advanced LGT, made out of HSS-S, that only accepts gas fuels with a fuel value above 800k per bucket; - Capped the EU/t output of the regular LGT at 8192 EU/t, regardless of dynamo (it will never explode); * Changed Texture Ordering, Byte to Int and Texture Order - Reverted the change to existing texture placements in the array to not break already existing multis; - Changed the output value type of getTextureCasingIndex to int, to support the intended texture. Co-authored-by: Martin Robertz <dream-master@gmx.net>
2022-07-05Small Fixes (#1113)Connor-Colenso
* Localisation of inf coils * Make GT storage blocks a valid beacon. * Improved infinity textures (again), thanks Jimbno. * Adjust author colour Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
2022-07-02Par, var, begone! (#1104)YannickMG
* Renamed parameters of ItemBlock subclasses * Renamed damageDropped and getDamageValue method parameters of Block subclasses * Removed trivially superfluous overrides of Block::quantityDropped, Block::isOpaqueCube and Block::renderAsNormalBlock * Removed trivially superfluous overrides of Block::getItemDropped * Cleaned up a few more block subclass method parameters * Cleaned up obsolete Javadoc * par1 -> block in ItemBlock Constructors * Renamed arguments to drawGuiContainerForegroundLayer * Cleaned up redundant casts * Renamed arguments to drawGuiContainerBackgroundLayer * Renamed arguments to Slot subclass constructors * Renamed arguments to World subclass GT_DummyWorld * Renamed parameters of updateProgressBar * Renamed the rest of the par* parameters outside of GT_MinableOreGenerator which should be deleted * Renamed most var1-var10 and a few more in generally non-dead code * Renamed last varSomething variables * Removed 3 fully dead classes used nowhere in the codebase, with obsolete unused code
2022-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>