Age | Commit message (Collapse) | Author |
|
* disable gt obsidian long rod
* cleaner code
|
|
* fix orichalcum and shadowiron smelting
* add Alduorite and Chrysotile
|
|
* add machine type for brewery
* spotlessApply (#2197)
Co-authored-by: GitHub GTNH Actions <>
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
|
* enable subclass to allow less voiding mode being set
* fix bug
* rename
|
|
* 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
|
|
* 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
|
|
* 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>
|
|
|
|
|
|
* 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>
|
|
* 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>
|
|
* add soft subtag
* add soft subtag to Gaia Spirit
* clean code style
|
|
* 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>
|
|
|
|
|
|
|
|
|
|
* Improve Long Distance Pipe WAILA status
Also addiotional information to the NEI item tooltip
* Long Distance Pipeline texture improvements
The side textures of the pipeline start/end blocks are now aligned with
the axis through the input output face (most visible with the Item
Pipeline). This is based on the Buffer texture code.
In addition, the input and output face textures have received the
typical blue/orange coding found on multiblock hatches and busses.
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
Non-final enum fields make a global mutable state, which should be used only
when necessary. Let's make the enum fields final where possible.
|
|
|
|
* Void protection improvements
* Rename methods: isXXXButtonEnabled -> supportsXXX
* Adjust texture for forbidden
* Add MultiBlockFeatureSupportDumpers
* Fix oversight in PCBFactory
* Revert void protection support for PA
* Rename class: ControllerWithButtons -> ControllerWithOptionalFeatures
|
|
* list update for recipe in coremod
* fix
* fix
|
|
* fix charged certus quartz aname
* disable dust
|
|
* dont add the same recipe 300 times
* have custom vac freezer recipes in GT
* have custom vac freezer recipes in coremod
|
|
* TE items cant be required
* remove from itemlist
* TE does not exist
* this never worked anyway but also unecessary
* these are broken. have a working replacement already
* give valid id to fix rockbreaker fake recipes
* fix texture and text
* no NC its fake anyway
|
|
* generate nanite
* textures
* recipe
* timepiece instead
* spotlessApply (#1998)
Co-authored-by: GitHub GTNH Actions <>
* add primordial matter
* texture
* add recipe
* primordial matter instead of uum
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
|
* null checks for cables
* actually fix drillhead recycling
* revert old incorrect drill fix
* fix netherstar cables
|
|
* add eternity
* textures
* timepiece
* disable ebf + freezing
|
|
add more stuff to Material Obsidian
(cherry picked from commit dc7b0cee34e22a99d03fe8676dc616b2f69c96d5)
|
|
* backwards compat
* spotless
|
|
|
|
|
|
* disable brick autogenerated recipe
* change brick formula to a more reasonable one
|
|
|
|
* Add Charged Certus Quartz material
* Add new T9 oreveins
* Adjust color, enable ores only
|
|
* complex controller start
* Added methods to get input fluids and items
* Added logic to complex parallel mute
* Added ACR and fixed many, many, many, many bugs
* Added void protection setting to checkRecipe
* do not init nbt, if mteID and mteRegistry are the same
* Improved GUI design
* Force structure check when pressing power switch
* ACR Textures
* Added T1 structure
* Added perfect OC
* Added WAILA
* fix mutes resetting their nbt
* Fix ACR GUI
* fix npe
* Added void protection for MuTEs
* Fixed ACR starting recipe while another one is ongoing
* nbt saving
* maybe fix structure breaking
* Fix complex machine disabling on startup
* correctly update input tanks
* move casings over
* Changed logic of casings to change mode and facing in one go by sneaking
* Fixed the casing target not resetting
* Added side only annotations
* don't leave it empty
* Added power logic and tiered blocks to ACR
* Change facing to wrench side if casing mode is currently none
* lasers anyone?
* Added ACR item chaining
* Remove unncessary item lists
* Use HashSet for process whitelists
* Optimize list capacities
* Fix potential recipe voiding bug
* Rename methods for consistancy
* Fix NPE
* Duct tape fix structure check
* allow MuTEs to connect to cables
* Added separate tank inventories for input separation (#1887)
* Fixed unregistering tank function
* Fixed input busses not being automatable
* Added fluid chaining
* Fixed saving of input tanks
* Forbid inventory registering with empty name
* Display all input tanks in controller GUI
* Fixed fluid hatch GUI height
* Reset casing lists when checking the structure
* Make inventory GUI size consistant
* Make use of the tooltip cache
* rename thing clean up
* Forgot to put tooltip into map
* Added tooltip to ACR
* Reset whitelists when one whitelist window was opened
* Refined scanner string
* Fixed progress times
* Fixed MuTE not consuming fluids
* Properly register controller inventories
* switch to ForgeDirection
* switch to new Renderer
* Added missing contains check on registerInventory
* Fixed output tanks not registering
* Fixed upgrade tank loading
* fix machines not having active/inactive textures
* fix overlays not loading correctly
* Don't register controller directly
* Remove magic strings all
* fix active not setting to inactive
* allow glow
* item renderer
* fix glow
* MuTE improved hatch GUI and fluid output locking (#1889)
* Allow output hatches to be fluid locked
* Reworked hatch GUI
* Check target before trying to open GUI
* Make ACR GUI easier to look at
* fix covers not rendering on mutes
* fix covers not displaying above the item/fluid in/out
* new folder texture structure
* Reduce network traffic caused by covers
* Fixed WAILA fluid locking display
* Don't save everything to the itemstack NBT
* Added possibility to save NBT of MuTE to its itemstack
* fix textures, but make sacrifices
* mah textures
* Removed the need for all textures to be present
* Added glow texture for active coke oven
* Removed unncesssary upgrade casing textures
* shorten nbt tags
---------
Co-authored-by: BlueWeabo <76872108+BlueWeabo@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>
|
|
* 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>
|
|
* add catalyst
* pu plasma recipe
* increase plasma mixer input slots
* noOptimize + mixer recipe + voltage fix
* noOptimize + PLE recipe
* TPM recipe
* spotlessApply (#1894)
Co-authored-by: GitHub GTNH Actions <>
* add two more plasma recipes
* replace neptunium & fermium plasma
* spotless
* fix stellar plasma amount
* new materials class
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
|
* Add new mods to the enum
* Use sort content function and match names location
|
|
* Update Materials.java
* Update Materials.java
* Make zeolite chemically rebalanceable
* comment
|
|
|
|
* Added tooltip line which displays the machine color, if any
* Added chat formatting color to dyes enum
* Minor cleanup
|
|
|
|
|
|
* added RWG to mod enum
* added Universal Singularities to mod enum
* add crop load core to the enum
|