KubeJS TFC

KubeJS TFC

Mod

KubeJS integration for TFC

Client and server Utility

4,611 downloads
5 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...
Filter channels...
  • 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 from defineLayer to defineRock to match terminology used here
  • 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, and dairy_animal types currently
  • 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 config
    • debugMode -> 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

Fix TFC.misc.rock and TFC.misc.rock maps being empty if called too soon

  • 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 a List<ResourceLocation>
  • Fix the replacementMap param in the soil disc worldgen data event's JSDoc
  • The TFC.misc.wood object is now a Map<String, NamedRegistryWood>, identical to before but the returned objects now have a getMod() 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 of TFC.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 of phosphorus
  • Add missing use_durability and chance 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 just rockSettings
    • The defineLayer method now takes each block individually instead of altogether as a consumer
    • defineLayer now returns the RockSettings object created
  • 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, the TFCEvents object
  • 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, or conditions parameters at this moment
  • Fix data events data being added too late for metals and worldgen to be useful in-world
  • Add tfc.data and tfc.worldgen.data events to replace a mixin into DataPackEventJS
  • 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, and tfc.animal_product) are now able to be handled in server scripts
  • The tfc.prospect event now has a method to get its ProspectResult
  • Add tfc:tool item type
    • Has .hammer() and .knife() methods
  • Minimum TFC version is now 2.2.29
  • The tfc.logging event now provides a LevelJS and BlockContainerJS, instead of a raw LevelAccessor, BlockState, and BlockPos
  • Data builders in the server.datapack.* events now have an optional ResourceLocation 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 a List<String>, just wrap your model names in square brackets to update
  • 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 to kubejs_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
  • Fix a problem introduced in 0.5.3 that caused any delegate recipe types with ItemStackProvider outputs to fail
  • Add AFC tree tapping recipe type
  • Add the ability to register custom climate models
  • Fix delegate crafting recipe types failing to capture in/outputs of json recipes
  • Add js events for climate model selection, fire start, prospecting, logging, and animal product events
  • Rename 'rock_settings.register' to 'tfc.rock_settings.register'
  • Remove deprecated things
  • Add raw rock builder

  • Add meal item stack provider modifier

  • Fix a problem where slashing damage resistance couldn't be added

-Add recipe filters and replacement methods for TFC's non-vanilla ingredient/output types -Fix a few bugs with container limiting slot ranges

  • Add container limiting functionality based off of OversizedItemInStorageArea
  • Remove @HideFromJS annotations from many methods

Initial Modrinth release; check CF release notes or the wiki for a complete list of current features


Project members

Notenoughmail

Owner

Details

Licensed MIT
Published a year ago
Updated a month ago