- Add Beneath nether fertilizer and lost page builders to the
TFCEvents.data
event if it is installed - Register the previously missing dispenser behaviors for custom
tfc:fluid_container
items - Fix the
#withPreExisting
method not working as intended in custom ground cover blocks - Yet more custom crop fixes (hopefully for the last time)
- Fix custom fauna registrations causing certain mods to crash because they do not use Forge's event
- Changes to
TFCEvents.registerFaunas
- Deprecate
.register
, identical function provided by.replace
- Add
.replace
,.and
, and.or
methods, these perform the operation their name implies on any existing spawn placements with the fauna based on created through it- Have the exact same args as the now-deprecated
.register
method - Also have a version with a nullable string arg added after the entity type, this is suffixed to the registered fauna's id with a
/
- Have the exact same args as the now-deprecated
- Deprecate
- Fix not being able to define portions in the meal ISP modifier
- Fix custom crops having an empty loot table by default
- Fix custom lamps not retaining their fluid when broken
- Register custom blocks with block entities to TFC's own block entities instead of creating a duplicate block entity type
- Custom grass, farmland, and path blocks now use their parent dirt block's texture as their base by default
- Add an event for modifying default worldgen values, including the world's rock layers
- Change
TFCEvents.rockSettings
's method fromdefineLayer
todefineRock
to match terminology used here
- Change
- Add axle block builder, which has methods for creating corresponding windmills, water wheels, gear boxes, clutches, and bladed axles
- Add encased axle block builder
- Add extremely basic EntityJS compat
- Has
mammal
,oviparous
,wooly_animal
, anddairy_animal
types currently
- Has
- Add event for registering a fauna definition to any entity type in the game
- Add methods for getting the fuel, drinkable, fertilizer, lamp fuel, pannable, and sluicable definitions to the misc sub-binding
- Update to TFC 3.2.6 and FirmaLife 2.1.6
- Add recipe handlers for new FL recipe types
- Allow custom windmill blades to specify the texture they use
- Non-wild crops now no longer have an item by default
- Now use Kube's
dev.properties
file instead of a configdebugMode
->debugInfo
(default property)- Add
tfc/insertSelfTestsIntoConsole
property that will put TFC's self tests into the Kube console if enabled (defaults to true)
- Add anvil block builder
- Groundcover block builders can now use preexisting items as their item similar to TFC's sticks
- Custom farmland and connected grass blocks now have some of TFC's functional tags by default
- Added event for registering custom 'interactions', see the wiki page for
TFCEvents.registerInteractions
- Fully remove legacy container limiting system/event
- Add more methods in the misc sub-binding
- Update to TFC 3.2.3
- Add
tfc:inventory
BE attachment, identical to kube's default inventory attachment but allows for filtering allowed items by TFC size & weight - Fix the register representatives event, now takes a
Block[]
instead of aList<ResourceLocation>
- Fix the
replacementMap
param in the soil disc worldgen data event's JSDoc - The
TFC.misc.wood
object is now aMap<String, NamedRegistryWood>
, identical to before but the returned objects now have agetMod()
method which returns the mod they originate from - Fix events that should have
cancel()
called in them - Add some methods to miscellaneous bindings
- Fix crop builders' seed items
- Fluid and block ingredient js builders can now take regex inputs
- Update to TFC 3.2.1
- Add custom support block and windmill blade item builders
- Add sewing recipe support
- Update to TFC version 3.1.9
- Update to KubeJS version
2001.6.4-build.121
+, fix collapse, landslide, and chisel recipes being broken with said kube versions - Add misc sub-binding
- Has many things! Check the wiki
- Events for custom birthdays, item stack modifiers, and adding prospecting representative blocks
- Add item builders
- TFC fishing rod
- Precision Prospecting's item types
- Jars
- Glassworking items
- FirmaLife's watering can
- Add block builders
- Lamp
- FirmaLife's cheese wheel
- Stationary berry bushes
- Spreading berry bushes
- Dirt blocks which will also create a grass block and optionally a path, farmland, and rooted dirt variant
- Crops
- Wild
- Spreading
- Double
- Default
- Flooded
- Pickable
- Rework container limiting functionality
- Fix type description for isp components
TFC.isp
can now be used in place ofTFC.itemStackProvider
to access item stack provider bindings- Add methods for FirmaLife's isp modifiers to
ItemStackProviderJS
if FL is present - Add methods to add custom molds to TFC Casting With Channels' mold table if TFCCC is present
- Add recipe handlers for FirmaLife and ArborFirmaCraft if they are present
- Update custom javelin models
- Add support for more feature types in the worldgen data event
- Ship method param names for ProbeJS hints
- Update to TFC 3.1.3-beta
- Remove config option to disable Kube's async recipes (it didn't seem to work anyway)
- Rework how custom food traits are made
- the
tfc:raw_rock
block builder should now not complain about missing mirrored models - Fix fertilizers adding
phosphorous
instead ofphosphorus
- Add missing
use_durability
andchance
parameters to heating recipes
- Fix an issue with delegate recipe types attempting to reference their id when generating their id
- Add douse fire event
- Rework how rock layers are defined
- The event has been renamed from
registerRockSettings
to justrockSettings
- The
defineLayer
method now takes each block individually instead of altogether as a consumer defineLayer
now returns theRockSettings
object created
- The event has been renamed from
- Initial 1.20.1 port
- Requires TFC 3.1.2-beta and KubeJS 2001.6.4-build.95
- Port recipes to new schema system
- Delegate crafting recipe types no longer accept the same arguments as their base crafting type, now only support a single recipe argument
- Block, item, and fluid (stack) ingredients now use TFC's own native classes
- Rework bindings
- Going forward everything provided by this mod will be accessible through the
TFC
object or, for events, theTFCEvents
object
- Going forward everything provided by this mod will be accessible through the
- Added JSDoc annotations to everything, meaning ProbeJS should have explanations in its hints
- Split custom spring water healing and particle stuff into its own fluid builder type
- Add common config to automatically turn off async recipes at instance start to prevent problems with TFC's knapping and alloy recipe types
- Note: This does not edit the file and only applies once, reloading KubeJS' common config (i.e. with one of KubeJS' reload commands) will revert the instance back to the setting present in the file
- This problem should theoretically be resolved in a future TFC release, see my recent chats w/ Alc in the #development channel of TFC's discord
- Add
tfc:hammer
custom item type - Minimize usage of consumers where possible
- Events
- Custom rock layers can still be created, but they cannot be added to the world, nor can existing ones be edited or removed anymore
- Custom climate models now have a callback for the wind vector, callbacks referencing TFC's default implementation can now be accessed
- Fully remove custom data and worldgen feature creation from Kube's datapack events
- Known (possible) problems/ untested things
- The autogenerated models for custom javelins may not entirely correct
- The wiki does not currently contain some information, but the pages for recipes and data (and worldgen soon hopefully) should be accurate
- I will work on it when I have the time
- Moss growing block types are not fully tested
- Custom fluid containers filled translation component has not been tested
- TFC's crafting recipe types do not have any way to set the
mirror
,group
, orconditions
parameters at this moment
- Add
tfc.data
andtfc.worldgen.data
events to replace a mixin intoDataPackEventJS
- Deprecate the data builder methods currently present in the
server.datapack.*
events, they are now available in the above mentioned events - Add the ability to register custom food traits
- Fix potential problems with certain client-possible events trying to call server code
⚠️ This update has major breaking changes, see below ⚠️
- Add
tfc.collapse
server event - Events fired on the server (
tfc.climate_model.select
,tfc.start_fire
,tfc.prospect
,tfc.logging
, andtfc.animal_product
) are now able to be handled in server scripts - The
tfc.prospect
event now has a method to get itsProspectResult
- Add
tfc:tool
item type- Has
.hammer()
and.knife()
methods
- Has
- Minimum TFC version is now
2.2.29
- The
tfc.logging
event now provides aLevelJS
andBlockContainerJS
, instead of a rawLevelAccessor
,BlockState
, andBlockPos
- Data builders in the
server.datapack.*
events now have an optionalResourceLocation
as a final argument- Unfortunately, this means that several once optional arguments are no longer optional
- For item heat definitions: The forging and welding temps are no longer optional, but nullable
- For metal definitions: The tier is no longer optional
- For panning definitions: The model stages are no longer a
String...
, but aList<String>
, just wrap your model names in square brackets to update
- Unfortunately, this means that several once optional arguments are no longer optional
- Add data builders for climate ranges and fauna
- Worldgen builders in
server.datapack.*
events can now specify the namespace of the name (allows overwriting default features), if no colon is found, the namespace will default tokubejs_tfc
as it did before - Add the ability to access TFC player data (nutrition, chisel mode, intoxication) through
PlayerJS#getData()
- Modification and removal of default rock layers now fires as late as possible