aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity
AgeCommit message (Collapse)Author
2023-10-21Upping Tier to 13 (#2343)TheEpicGamer274
2023-10-21A new approach for block updates in BaseMetaTileEntity (#2342)iamblackornot
* - added 0,5s cooldown on BaseMetaTileEntity texture render update * - changed to RandomCooldown to make visual representation of the target object more relevant to its state * - implemented a BlockUpdateHandler, making the update cooldowns chunk-based - left commented out debug code * - now BaseMetaTileEntity tracks last time a texture update was issued and skips update if parent chunk was already updated since last update issue * - reworked BlockUpdateHandler to a singleton doing update work on client tick, this way update logic is fully encapsulated and gets rid of some comparisons needed to sync updates * - fixed a bug with crash on quitting the game - forgot to add moved sources - cleaned up debug code - added description commentary * - updated buildscript * - switched to internal tick counter, cause server time is unreliable and crashes client https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/14742 - removed subclass aliases - switched to XSTR instead of java's Random - IllegalArugmentException instead of InvalidParameterException - added client side config option to enable/disable this feature (by default is off) --------- Co-authored-by: iamblackornot <nkzshinnnik@gmail.com>
2023-10-16Item pipes now consider the tick their current transfer period started ↵BTone
before resetting their transferred items, resulting in more predictable pipe transfer rates. (#2334)
2023-10-16Add stocking input hatch (#2322)tth05
* Add stocking input hatch * Refactor stocking input hatch UI code and fix some formatting * Add new visual changes from stocking bus and some refactoring * Remove drain/fill methods and fix tooltip * Split information slots into separate array and update MUI * Use inventory of size in constructor * Add assembly line support * Add amount to info slot tooltips and update tooltips every tick
2023-10-14allow rotation on maintenance hatch (#2331)Glease
2023-10-13Fix Stocking Bus bug (#2326)miozune
* Shut down machine with message if stocking bus fail to extract items * Better way to handle message persistent on shutdown * Minor cleanup * Allow more localizations * Add network status display * Fix auto-pull mode accepting shift insert * Remove workaround for issue with multiple ME buses in a multiblock * Some tweak for appearance * Correct inconsistent variable naming in GT_UITextures * Update .gitignore * Fix typo * Remove isScheduledForResetCheckRecipeResult by using persistsOnShutdown * Apply "cannot set slot" tooltip for empty slots too
2023-10-12average per tick counter for cable voltage and amperage (#2321)iamblackornot
* - a workaround fix to https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/14431 - code clean-up of unused variables related to the issue - portable scanner infodata is cleaned too since some of the data is related to mentioned before "ghost" variables * - PR review changes * "Current Amperage" -> "Amperage" * - updated gradle build script * - sync fork * added AveragePerTickCounter class, which helps getting [current tick] value and [average] value for Amperage and Voltage of energy cable blocks updated cable scanner info to show these values * - lowercase the first letter of new methods to follow the guidelines - added one comment to explain code segment's logic --------- Co-authored-by: iamblackornot <nkzshinnnik@gmail.com>
2023-10-09Allows covers to be configured to tick more slowly (#2307)querns
* Right clicking covers with a jackhammer will now make them tick more slowly * Interim commit, switching tasks * Finishes tick rate button in cover UIs * Change tick rate multiplier to a tick rate addition * Missed one number in the multiplier -> addition conversion * Hold Ctrl to adjust tick rate by 5 steps per click, move button closer to corner of cover GUI * Adjust how holding Ctrl computes tick rate change, remove gray formatting option for tick rate formatter * Cover tick rate addition can now be prevented per-cover-behavior, minor code tweaks
2023-10-04Code cleanup (#2309)boubou19
* guard clause technique on GT_ItemIterator * removing oredict for ars magica 2 items * removing oredict for mystcraft items * convert big if ladder into a swtich statement * enhanced switch * clean non GTNH compat and identify other compats * spotlessApply (#2310) Co-authored-by: GitHub GTNH Actions <> * more guard clauses * reordering condition * removing dead code * removing optional block * deprecating mIC2Classic * spotless apply * deprecate modloaded variables * spotlessApply --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
2023-09-23Update buildscript (#2305)boubou19
* update buildscript * yeet wildcard imports
2023-09-23ME hatch`s additional connection mode and small fixes (#2291)lordIcocain
* ME hatch`s improvements (?) * ForgeDirection.UNKNOWN not allowed Better description No check before getBoolean * Add description in tooltip Chat message using localization Stocking bus data stick will copy/paste connection mode * Chinese localization * Another method localization * code style
2023-09-23Deprecate GT_MetaTileEntity_MultiBlockBase#isValidMetaTileEntity (#2267)miozune
* Deprecate GT_MetaTileEntity_MultiBlockBase#isValidMetaTileEntity * Explicit brackets --------- Co-authored-by: Martin Robertz <dream-master@gmx.net>
2023-09-22fixes uninsulated cable not damaging players (#2300)iamblackornot
* - a workaround fix to https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/14431 - code clean-up of unused variables related to the issue - portable scanner infodata is cleaned too since some of the data is related to mentioned before "ghost" variables * - PR review changes * "Current Amperage" -> "Amperage" * - updated gradle build script --------- Co-authored-by: iamblackornot <nkzshinnnik@gmail.com>
2023-09-22disable large turbine rotation or flip (#2290)Glease
also made the rotation and flip marker to not show up when the multi doesn't support rotating or flipping
2023-09-22Cleanup GT_MetaTileEntity_BasicMachine (#2268)miozune
* Remove unused machines * Add some Javadoc * Remove some unused constructors * Use ResourceLocation and SpecialEffects for newMetaEntity * Remove some non-ModularUI code * Remove mGUIParameterA and mGUIParameterB * Remove mGUIName and mNEIName * Use nonnull string * updateBuildScript
2023-09-15Add HoloInventory compat (#2292)miozune
2023-09-13Adds Metrics Transmitter Cover and Advanced GT Sensor Card for Information ↵querns
Panels (#2289) * Adds several UI elements to multiblock drills * Adds metrics transmitter cover and associated sensor card * Fixes item icons and item name * Adds tooltips for adv. sensor card and metrics panel, fixes card/overlay icons, adds recipe for metrics cover * Refactor cover tab sync to send much smaller ISerializable payloads * Remove unused variable * Additional master merge cleanup * Adds interface for custom metrics export, adds oil drill support * Adds support for metrics covers retaining attached machine name for tooltip, metrics * * Adds discrete coordinates to Metrics Cover data * Adds machine to advanced sensor card tooltip * Adds cycle time and minimum energy hatch tier to multiblock ore drill tooltips * Moves many tooltip strings to i10n * Remove old GT_DisabledWhileActiveButton.java file that crept in during a messy merge * Spotless * Improve oil and ore drill metrics, more i18n * Addresses PR review concerns, adds more situations for self-destructing sensor cards * Remediates further PR concerns
2023-09-13Make Crafting Input Bus / Hatch compatible with some non-GPL multis (#2266)Jaiden Baker
* Add crafting input bus items to getStoredInputs * Add crafting input hatch fluids to getStoredFluids * Respect internal input isolation * List.of -> Arrays.asList * Skip fluids on non-supporting bus * Fix NPE * Change return type to Optional & add Slave support
2023-09-10Deprecate GregTech_API#mAE2 (#2288)miozune
2023-09-09Less aggressive System.nanoTime() (#2269)miozune
* Less aggressive System.nanoTime() * Address reviews
2023-09-09Deprecate GT_RecipeBuilder#noXXXYYY methods (#2284)miozune
* Deprecate GT_RecipeBuilder#noXXXYYY methods * Remove existing references
2023-09-09Request drill changes, eliminates recipe info in drill GUI (#2285)querns
2023-09-08Display current recipe in GUI (#2252)Harry
* Display current recipe * 2 decimals * fixes * formatNumbers * Fix formatting * update modularui --------- Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
2023-09-06Add optional description to input hatch constructors (#2278)Jaiden Baker
2023-08-28Use real stack limit (#2256)Jakub
2023-08-28Crafting input hatches QoLs (#2200)Harry
* Fixes + Detect Inventory Slot Changes * support rename + check for updates * add back onChangeListener + fix npe * ICustomNameObject TileEntity * Fix NPEs * Use IInterfaceTerminalSupport * fix * register * dep * spotless * General Crafting Input Hatch QoL fixes (#2212) * feat: refactor naming && include circuit and catalyst in default name * feat: add 4 more slot to solve my ocd * fix: formatting * feat: migrate from 4x8 to 4x9 * spotlessApply (#2213) Co-authored-by: GitHub GTNH Actions <> * QoLs * 9 manual items * spotless * feat: open master GUI when used, without holding a data-stick (#2221) * fix destpos * optimize empty check * Fix error when fluidInventory.size() == 0 If the fluidInventory size is 0, there is no element to get. Add a check for it. * name in waila + fix int overflow * unnecssary super * update deps --------- Co-authored-by: Fox_white <39846845+foxwhite25@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Firenoo <49818773+firenoo@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
2023-08-17Fix some output slots allowing insertion (#2230)miozune
2023-08-17Remove fire display from singleblock generator (#2240)miozune
2023-08-17Fix server crash with RecipeFilter (#2231)miozune
* Fix server crash with RecipeFilter * Make client send filtered machines to server * Use mUniqueIdentifier
2023-08-16clear stale crafting input bus list (#2233)Glease
2023-08-08Add a way to enable or disable the crafting buffer on GPL multiblocks (#2218)BlueWeabo
* add a way to enable or disable the crafting buffer on GPL multiblocks * don't register the hatch either
2023-08-06Fix wireless hatch npe log spam (#2208)Harry
2023-08-01Minor cleanup for checkProcessing (#2195)miozune
2023-07-30Make recipe check less intensive with batch mode (#2198)BlueWeabo
* make recipe check less intensive with batch mode * clean up the else
2023-07-30enable subclass to allow less voiding mode being set (#2191)Glease
* enable subclass to allow less voiding mode being set * fix bug * rename
2023-07-30Fix wireless energy voiding (#2192)Harry
* Fix wireless energy voiding * avoid bigint
2023-07-28Less hostile user interfaces (Buffer/Filter/Input bus) (#2165)Yannick Marcotte-Gourde
* Made Emit Energy button a CycleButtonWidget * Made Emit Redstone button a CycleButtonWidget * Made Invert Redstone button a CycleButtonWidget * Made Stocking Mode button a CycleButtonWidget * Spotless apply * Made Invert Filter button a CycleButtonWidget * public bInvertFilter -> protected invertFilter * Deduplicated filter code * Made Allow NBT button a CycleButtonWidget * Made Ignore NBT button a CycleButtonWidget * public bNBTAllowed -> private allowNbt * public bNBTAllowed -> private ignoreNbt * Grey extended tooltips * Don't hardcode multiline tooltips * Document hidden functionality * Cleaned numeric constants * Fixed string constant declaration * Named constants in filter * Unify filter redstone behavior * Fix cover filter mode being inverted so that the displayed mode is the active one * Less magic numbers * Allow right clicking recipe filter * Display only machine type in recipe filter and cycle through compatible machines * Buffer tooltips show output voltage to clarify their role as passthroughs * Added more info to Emit EU/Redstone buttons * Added Sorting mode button to buffers/filters * Added Sorting mode button and stack limit button to input buses * Don't cycle prefixes when clicking with itemstack * Fixed tooltips to work off of the inventory * Fix RecipeFilter losing filter * Support multiblock machines * Use ModularUi syncers to sync state with client Thanks minecraft7771! * Grey text for recipe filter helper text * AnimatedTooltipHandler -> EnumChatFormatting * Explicited RecipeFilter filter building * Specify color for empty slot tooltip * Don't cache new uses of GT5U.MBTT.MachineType. Also corrected MachineType::description * Removed unused getItemExtraTooltip * Multiple returns in getItemStackMachineRecipeMap
2023-07-28Add more API to ParallelHelper and rework OverclockCalculator (#2185)BlueWeabo
* refactor OC calc * somewhat refactor parallel helper * fix PA not OCing correctly no clue why it wasn't using super and then setting the duration again. * make use of new api to make fusion cleaner * make batch mode actually dynamic * add another reason for 0 parallel * move variables around to try and group them together * address reviews * add overclocking past 1 tick by adding parallels * add null check and make a basic calculator to prevent npe * check null recipeMap supplier * address reviews * addressing of reviews * make it possible to call some OverclockCalculator methods through static methods * address reviews * make sure one doesn't get too many OCs when calculatin under 1 tick * add api for custom duration under one tick and fix batch mode doing 0 ticking * fix not calculating duration under 1 tick correctly * spotless * try to have correct eut consumption * address review * make sure mk5 fusion is said in nei * fix eutCalculating under one tick way too much and address reviews * remove roundUp voltage
2023-07-26Allow using ME output hatches for fusion reactor (#2184)miozune
2023-07-26Texture & Bug fixes for Crafting Input Hatches (#2182)Harry
* crafting input textures * texture v2 * texture v3 * texture * various fixes * lazy pattern update * fix dtpf * fix removing pattern * spotless * fix lag in recipe checks * fix * increase tier so they look pretty
2023-07-26Reset outputs after outputting them (#2181)Maxim
2023-07-24Add a config to enable seeing average ns per tick in waila (#2173)BlueWeabo
* add averageNS * add ns to line * add lang and space on unit
2023-07-24Add Crafting Input Buffer (ME) (#2160)Harry
* Crafting input buffer * persist data * rename and stuff * no more waiting for multis to start * rearrange ui * spotless * fixes * refactor * Crafting Input Slave * getCrafterIcon * crafting input bus * spotless * Update GT_MetaTileEntity_MultiBlockBase.java * Update GT_Loader_MetaTileEntities.java * Update GT_Loader_MetaTileEntities.java * Update GT_MetaTileEntity_MultiBlockBase.java * Update GT_MetaTileEntity_MultiBlockBase.java * Update GT_Loader_MetaTileEntities.java --------- Co-authored-by: Martin Robertz <dream-master@gmx.net>
2023-07-20Fix PA destroying itself (#2159)Maxim
2023-07-20Generic processing logic GTPP API (#2155)Maxim
* Added getter for speed bonus and eut discount, making the migration of gtpp machines easier * Added getter for current parallel * Added method that exposes recipe finding * Extract setup of processing logic like in super * Added controller slot to input list of processing logic * Adressed review
2023-07-18Added machine type on single block tooltips (#2138)boubou19
* change tooltips * put machine types together * Added constructor to accept multi line tooltip on sbs * sorting machine registering methods * update MachineType * migrate machines to multiline description * add new constructor for matter amplifier * migrate matter amplifier to multi line tooltip * spotless apply * Capitalize machine types * breakdown large run methods into themed methods * migrate TE IDs to an enum (1/?) * spotless apply * migrate TE IDs to an enum (2/?) * migrate TE IDs to an enum (3/?) * migrate TE IDs to an enum (4/?) * spotless apply * sorting crafting recipes by type + fix meta id typo * migrate TE IDs to an enum(5/?) * spotless apply * merge master (#2143) * Make structure tooltips more colorful (#2133) * default color changes * add colored casing amount builders * oversight * address reviews * GPL Special Item access (#2134) * Added getters to allow a machine to set the special item for recipe checking * Changes to ore factorys running mode description (#2135) * Changes the integrated ore factory mode description to match what its actually doing. * Some tooltip grammar changes. That would have annoyed me :) * Enable void protection for PA (#2136) * Added ofNoOverclock builder that accepts eut and duration (#2140) * Fix findRecipe might limit stack size by 64 (#2139) * Fix potential issue with applecore ItemFoodProxy (#2137) * Fix potential issue with applecore ItemFoodProxy * Fix the worst class loader issue ive ever encountered --------- Co-authored-by: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Co-authored-by: Maxim <maxim235@gmx.de> Co-authored-by: Lyfts <127234178+Lyfts@users.noreply.github.com> Co-authored-by: miozune <miozune@gmail.com> Co-authored-by: Serenibyss <10861407+serenibyss@users.noreply.github.com> * Moved machine type and descriptions to lang files * Removed redundant visibility modifier * Only expose translated descriptions * Using prefix gt.recipe for NEI compatibility * Deprecate use of LanguageManager in GT_Recipe_Map * Unify GT_Recipe and MachineType localization * Electromagnetic Polarizer consistency with Separator * Added Packager MachineType * Added Scanner MachineType * Added Rock breaker MachineType * Added Mass Fabricator MachineType * Added Replicator MachineType * Added "Machine Type" tooltip to steam machines * public modifier unnecessary * Spotless apply --------- Co-authored-by: minecraft7771 <maxim235@gmx.de> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Co-authored-by: Lyfts <127234178+Lyfts@users.noreply.github.com> Co-authored-by: miozune <miozune@gmail.com> Co-authored-by: Serenibyss <10861407+serenibyss@users.noreply.github.com> Co-authored-by: YannickMG <yannickmg@gmail.com>
2023-07-14GPL Special Item access (#2134)Maxim
* Added getters to allow a machine to set the special item for recipe checking
2023-07-10Generic processing logic (#2096)Maxim
* Added enumeration for check recipe result * Rework processing logic to work with MTEs too * Switched first few multiblocks to new checkRecipe method * Applied generic logic to EBF * Added support for long power base and applied generic processing logic to more machines * Address some feedback * Added more setter to further configure the processing logic * Change internal checkRecipe to work with checkRecipeResult, to allow the injection of custom failure messages * Suppress warning, change access * Merge recipeMap and mapSupplier * Move calls to setMetaTEController and setRecipeMap to base classes * Make processingLogic final * Make results non-null * Rename `ProcessingLogic#checkRecipe` -> `#validateRecipe` Otherwise it's confusing with `GT_MetaTileEntity_MultiBlockBase#checkRecipe` * oops * Added recipe locking to generic processing logic * Rename: getWorldObject -> getIHasWorldObjectAndCoords * Annotate missing overrides * Renamed recipeLockableController -> recipeLockableMachine * Migrated Cleanroom * Migrated pyrolyse oven * Migrated driller * Migrated charcoal pit * Migrated DT * Rename: controller -> machine * Make recipemaps override base `findRecipe` and mark others final * Remove unused maps * Add FindRecipeResult * Remove IHasWorldObjectAndCoords parameter from findRecipe This removes argument for printer recipemap to pass for GT_ModHandler.getAllRecipeOutput, but I don't think there's any mod that adds world-specific coloring recipe. * Added method to set processing logic power so machines can override it on demand * Restructure CheckRecipeResult, show voltage required and move package * Reword: insufficient voltage -> power * Change text color: dark gray -> gray * Added findRecipeResult for insufficient heat * Migrated PCB factory * Fix result not being reset on shut down * Show coil tier for heat * clean * Reverted migration of driller base * Migrated TPM * Moved getting of parallel supplier, to accomodate TPM * Migrated power gen multiblocks * Migrated Assembling Line * Migrated fusion * Migrated multi smelter * Migrated boiler * Migrated DTPF * Migrated ore factory * Migrated heat exchanger * Make checkRecipe() final, javadoc, minor cleanup * Fix overclock behavior with multiple hatches, javadoc, minor cleanup * Minor fix for javadoc * Fixed creation of OC calculator not factoring in batch mode correctly * Make GT_ParallelHelper#setRecipe nonnull * Rework SimpleCheckRecipeResult to not require registration * Migrate charcoal pit and cleanroom * Fix result not being reset when turning off machine * Add API for BW to make recipemap sensitive to special slot on recipe search * Migrated PA * Migrated driller base * Make ProcessingLogic#duration int * Minor cleanup * missing recipe locking for long multi * Fix NPE * Show crash message and turn off machine * minor javadoc fix * Fixed power setting for extended power base * Integrate SingleRecipeCheck into ProcessingLogic, fix duration overflow, fix duration for batch mode, migrate PA for GT_MetaTileEntity_ExtendedPowerMultiBlockBase * Fixed ME stocking busses * Minor PA fixes * Cleanup item collecting logic & apply to normal multi as well * Oversight * Derp * Multiple voltage instead of amperage with recipe map amperage, since usually amperage is intended for parallel, not for recipe checking * Fix missing EU modifiers on PCB factory OC calculator * Removed left over OC method * Fixed duration calculation of PCB not applying roughness multiplier * Fixed OC parameters * Make createOverclockCalculator nonnull & more nonnull annotations * Fixed input processing voltage * Round down voltage for other machines too * Revert Nano Forge, return correct long voltage * Use region / endregion --------- Co-authored-by: miozune <miozune@gmail.com>
2023-07-09More frequent recipe checks after machine just shuts down (#2125)Harry
* More frequent recipe checks after machine just shuts down * spotless * modify checking interval
2023-07-09More quad input hatches (#2121)TheEpicGamer274
* Saving * Saving * Spotless + Import fixes * Attempt to fix review request * Spotless * spotlessApply (#2126) Co-authored-by: GitHub GTNH Actions <> * Fixing Requested Changes * Update src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_QuadrupleHumongous.java Co-authored-by: Maxim <maxim235@gmx.de> * Update GT_MetaTileEntity_Hatch_QuadrupleHumongous.java --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: Maxim <maxim235@gmx.de>