aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
AgeCommit message (Collapse)Author
2022-02-23Minor bugfix/cleanup (#941)pariator
* Fixes slime spawn handling variances After testing, I was able to see 2 separate problems. 1: event.getResult() was occasionally returning ALLOW for some of the world spawned slimes. Slime spawn denial is done regardless of the ALLOW/DENY flag. This does not impact slimes spawned via eggs or powered spawners or slimes spawning after a slime is killed which apparently return DEFAULT for getResult(). 2: Slimes don't seem to properly handle a getResult() value of DENY. The checkSpawn event is not cancellable. To fix this, the entity is also destroyed by setting isDead to true. This does occasionally cause slimes to appear on the minimap briefly before disappearing. Lastly, with a forge update this could be handled much better by using the EntitySlime.spawnReason enum. That is not present in the current forge version, so I would consider this a temporary workaround and this method could/should be reworked if/when forge is updated. * Make repellators stop slimes. While testing, this was used to name the slimes as they were being generated. It turns out to also make the slimes behave properly in addition to the other changes. * Minor Cleanup Moved the slime handling out of the rest of the method and takes an approach of setting it to DEFAULT of it is ALLOW and then also adding a custom name tag if it doesn't have one. If it does have a custom name tag and ALLOW, then the slime spawn will be allowed. * Moved the setCustomNameTag method This method is still required to properly stop ALL slime spawns but it should only alter the customNameTag when a slime is intended to be stopped from spawning. * Fixed likely exception Check for instance of EntitySlime before casting it. This method is only required to stop slimes from spawning so is only being called against slimes. Co-authored-by: Randy Braunm <randy@unseencolor.com>
2022-02-14Server side metaitems localization (#938)repo-alt
fixes https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/8778
2022-02-12Fix separatorl. (#932)Colen
2022-02-10Fixes slime spawn handling variances Issue 7298 (#905)pariator
* Fixes slime spawn handling variances After testing, I was able to see 2 separate problems. 1: event.getResult() was occasionally returning ALLOW for some of the world spawned slimes. Slime spawn denial is done regardless of the ALLOW/DENY flag. This does not impact slimes spawned via eggs or powered spawners or slimes spawning after a slime is killed which apparently return DEFAULT for getResult(). 2: Slimes don't seem to properly handle a getResult() value of DENY. The checkSpawn event is not cancellable. To fix this, the entity is also destroyed by setting isDead to true. This does occasionally cause slimes to appear on the minimap briefly before disappearing. Lastly, with a forge update this could be handled much better by using the EntitySlime.spawnReason enum. That is not present in the current forge version, so I would consider this a temporary workaround and this method could/should be reworked if/when forge is updated. * Make repellators stop slimes. While testing, this was used to name the slimes as they were being generated. It turns out to also make the slimes behave properly in addition to the other changes. * Minor Cleanup Moved the slime handling out of the rest of the method and takes an approach of setting it to DEFAULT of it is ALLOW and then also adding a custom name tag if it doesn't have one. If it does have a custom name tag and ALLOW, then the slime spawn will be allowed.
2022-02-07Large Boiler Whitelist and NEI Large Boiler Tab Update (#910)Steelux
* Whitelist for Advanced Boilers - Added a whitelist system to check allowed fuels for the Titanium and Tungstensteel Boilers (thanks glow for the code); - Removed fuel value checks for the advanced boilers, none are needed because the whitelist check does it all; - Changed the boiler tooltip to clarify that the advanced boilers won't work if there is a fuel in the input bus that is not allowed to be burned. * NEI Large Boiler Tab Updated - Changed the burn times to reflect the speed at which the boilers now consume fuels; - Changed the TItanium and Tungstensteel Boiler info to display "Not Allowed" on the fuels that aren't accepted by them. * Re-added Previous Constructor as a Default Case - Implemented the previous addRecipe constructor without the boolean, applying to all non-solid fuels, with a default value; - Changed the boiler code to make the advanced Boilers ignore the fluid recipes (they're only supposed to burn the allowed solid fuels); - Small NEI clarifications. * Unnecessary Burn Time Calculation - Removed the burn time calculation on the NEI handler for the fuels that can't run in the advanced boilers. * Shortened Tungstensteel Boiler Line - Made text shorter to not overflow past the NEI display. * Properly implement solid fuel whitelist for Large Titanium/Tungsten Boilers Co-authored-by: glowredman <fredcraft00@gmail.com>
2022-02-06Provide a runtime solution for number rendering. (#922)Daniel
* Provide a runtime solution for number rendering. This should adapt based on locale selected by user instead of the system locale. Also fixes 'nbsp' issue in some locales like pl_PL. * Add missing imports * Add missing imports
2022-02-04Texture Shenanigans (#915)Jason Mitchell
* Texture Shenanigans - Get rid of all the TODOs and run everything through the new Texture API in a backwards compatible way. * allow bw runclient to run * Add obf name Co-authored-by: bombcar <github@bombcar.com>
2022-02-04Translation related fixes (#920)Glease
* Translation related fixes * Rename trans to transItem
2022-02-03Basic Machine NEI Power Tiers (#914)YannickMG
* Add IntelliJ .shelf folder to .gitignore * Fixing GT_GuiTooltip bug I introduced * Deprecated superfluous String trans methods. * Add Power class to compute and describe power usage * trans -> GT_Utility.trans Removed absent param from Javadoc * Add Power to BasicMachine and use it for power calculations * Steam BasicMachine rework Have Bronze and Steel tier override Power with appropriate SteamPower Make Bronze machines explicitly tier 1 Make Steel machines explicitly tier 2 Defined recipe list and bricked status for each machine Unified checkRecipe uses machine's recipe list and Power * Raised NEI dependency to 2.2.5 * Defining NEI transfer rect in individual UIs Using a new interface called from GT_RectHandler * Code cleanup & minor refactor * Add power field to NEI Default Handler Add method to create Power object from the recipe map * Display power tier in NEI handler name * User Power to draw NEI Handler description * Enable filtering handler recipes using Power * Repurposing aBricked parameter into aHighPressure To fix my previous faulty method of setting mTier * Must call getCache to get recipes properly. * Better communicate NEI Overclock info
2022-01-26Make Repellator stop slimes spawning (#896)Alkalus
2022-01-23AE2 Cable facade as cover (#887)Glease
* initial work on facade covers * fix colorMultiplier also removed derp * Clean up drop cover texture reset code What was I thinking actually? Send a packet to reset client states? * Fix cover display stack
2022-01-11The tooltips your mod wishes it had (#858)YannickMG
* Add network support for chanining GT Tile GUIs * Implemented Cover Tabs for IGregTechTileEntity See GTNewHorizons/GT-New-Horizons-Modpack#9367 for details * Added IGuiIcon For easier addon extensibility of GT_GuiIcon Also fixed Ghost Circuit tab tooltip overlapping right-side cover tabs * Typo fix * Fixed unintended scala import * Tabs -> Spaces on the files I've touched * Propagate needsSteamVenting to UIs * Note special slot usage Determine whether a machine's recipe list ever makes use of the special slot * Add 2 configurable tooltip verbosity levels * Readability pass * New tooltip cache for flexibility It loads a configurable amount of lines per key based on the user's chosen verbosity levels * Let GT_GuiTooltipJava to use verbosity and LSHIFT * "Smart" auto-hiding tooltips * GT_GUIContainerMetaTile_Machine tooltip support * Rework Basic Machine tooltips * Wordy tooltips -> extended tooltips (clearer) * Fixed off-by-one error on power slot tooltips * Cleanup
2022-01-05Normalize Fluid Canner fluid handling and looks (#847)YannickMG
* Normalize Fluid Canner fluid handling and looks - By disabling sharedTank (on this, the only machine that uses the feature) the fluid canner gains a proper output tank. - Fixes UI interactions with the taking fluids out of the invisible fluit output slot with cells - Harmonizes UI with the look in NEI and with other basic machines * Removed unused FluidCannerNEI.png
2022-01-04Add a bunch of minor optimizations (#848)Glease
2021-12-31Basicmachine gui slots highlight fix (#841)YannickMG
* Updated build script Also set developmentEnvironmentUserName = Developer * Added .vscode to .gitignore * Properly hide unused slots in basic machines - Adds methods to GT_Recipe_Map to determine whether it contains fluid inputs or outputs - Adds methods to GT_Slot_Holo to support turning it "off", which also turns off highlighting it on mouse-over - Uses those changes in GT_GUIContainer_BasicMachine to "turn off" slots unused by a machine - Some code clarification/deduplication in GT_GUIContainer_BasicMachine * Hide unused Replicator fluid output slot
2021-12-30Refactors for easier reading (#839)Jason Mitchell
* Refactors * Common functionality to base classes * GT Pre/Postload broken into more modular pieces * Extract common (mainly cover related) functionality from BaseMetaTileEntity & BaseMetaPipeEntity
2021-12-24tt support for pa (#833)Yang Xizhi
* tt support for pa * remove anti pattern. clear up duplicated code fragments * fix copy pasting error * add vanilla energy hatch back Co-authored-by: Glease <4586901+Glease@users.noreply.github.com>
2021-12-23Rc blast furnace integration remove (#834)Martin Robertz
* remove RC Blasfurnace copy recipes during gt load * fixed wrong outcommented code
2021-12-23Remove no longer needed smelting cache (#831)Glease
2021-12-18Ignore stack size in collision checking (#825)Glease
2021-12-18Fix derp in BaseMetaPipeEntity during git merge (#824)Glease
Also added a bunch of fallback overrides to GT_Cover_None in the case of my stupid programming errors again
2021-12-17Add allow multistack to client preferenceGlease
Default to false
2021-12-15Fix assline recipe rejection (#810)Glease
Also slightly improved the data stick updating
2021-12-15Move cache registration out of constructor (#806)Glease
2021-12-15turn on the stacksize chaeck by default (#804)Yang Xizhi
2021-12-15Fix TT assline recipe not being recognized (#805)Glease
2021-12-15Fix math to work on potato servers. (#802)Jason Mitchell
2021-12-13add unlocalizedname fluid map (#796)Yang Xizhi
* add unlocalizedname fluid map * change the lock name into fluid name
2021-12-13Yeet unused compat, including GT adding a bunch of RC rock crushing recipes ↵Jason Mitchell
:-/ (#798)
2021-12-09Add threshold support to item and fluid covers (#785)D-Cysteine
* Add threshold support to item and fluid covers * Switch to storing in NBT * Add handling for migration path * Adjust item threshold max value
2021-12-08Fix assline oredict support (#786)Glease
* Fix assline oredict support * Fix assline hash generation depending on transient states
2021-12-08Distillation circuit (#784)Martin Robertz
* add input slots to Distillation Tower * borrow Large chemical reactor code to make it show up in Nei * add itemstack to Distillation multi machine code (cherry picked from commit e6e4203979340fc21f8ef4e1d6e9d0376afd3ef6) * remove unnecessary checks Co-authored-by: Glease <4586901+Glease@users.noreply.github.com>
2021-12-07Startup loading status reporting rewrite (#782)ElNounch
2021-12-05mitigate BLS's pedantic screen update problem (#777)Glease
For now, we attempt to not send more than 30 updates per second to make it happy
2021-12-02add select circuit gui for machine and circuits itself (#773)Martin Robertz
also fixed some issue with basic machine gui introduced in 9d42b299def1c41bbc7a1f01efe445be28f54399 also retrofitted volumetric flask to use the new INetworkUpdatableItem and GT_Packet_UpdateItem, deprecating MessageSetFlaskCapacity in the meanwhile. To open the gui for machine, shift-left-click the circuit slot To open the gui for circuit, click any block (need to be sneaking if it's chest, furnace, etc) with the circuit held in hand. Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: Glease <4586901+Glease@users.noreply.github.com>
2021-11-30fix wrong Arrays being used in assline datasticksGlease
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-11-30Bug fix pass in UO and PollutionGlease
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-11-28Merge pull request #757 from GTNewHorizons/patch-pollutionMartin Robertz
Fix pollution ticking and reading
2021-11-28remove tiny dust in ore processGlodBlock
2021-11-28Fix pollution ticking and readingGlease
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
2021-11-26fix GT_Recipe_Map_FormingPress for PArepo_alt
https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/8875
2021-11-21Add comment about GTppRecipeHelperD-Cysteine
2021-11-20Rename variables and add some commentsD-Cysteine
2021-11-20Fix recipe input checkD-Cysteine
2021-11-20Merge pull request #743 from D-Cysteine/fix-gtpp-semifluidMartin Robertz
Fix GT++ semi-fluid generator
2021-11-20Merge pull request #732 from D-Cysteine/lock-single-recipeMartin Robertz
[Proof of concept] Allow locking multi-block machines to a single recipe, to reduce server cost
2021-11-20Merge pull request #735 from GTNewHorizons/AssLine-Data-Stick-FixMartin Robertz
Assembly line data stick fix
2021-11-20Fix GT_Recipe_Map_Fuel not handling fuel recipes correctlyD-Cysteine
This fixes the GT++ semi-fluid generator
2021-11-18Factor in stack sizes for Hashing.Alkalus
2021-11-18Actually add items to the Input Array that is hashed.Alkalus