Skip to content

Releases: SilkMC/silk

1.9.6

04 Mar 17:15
3641296
Compare
Choose a tag to compare
  • updated to Kotlin 1.8.10

Internal:

  • updated to Gradle 8
  • improved build setup

1.9.5

11 Dec 22:34
9a9a386
Compare
Choose a tag to compare

A small release fixing an issue with client commands, which appeared in Silk 1.9.4 due to the Minecraft 1.19.3 update.

1.9.4

07 Dec 16:20
74a40b8
Compare
Choose a tag to compare

Updated for Minecraft 1.19.3.

Even though it is only a minor version jump, this is a major minecraft update under the hood, so most mods need to be updated.
Older Silk versions for 1.19 (Silk 1.9.3 and lower) do not work for 1.19.3.

Internally Mojang changed major parts of the Registry and Command System, and there a changes all over the place since Minecraft 1.19.3 already contains several 1.20 features as opt in.

1.9.2

27 Aug 15:22
dca0339
Compare
Choose a tag to compare

Sideboard API changes

  • added updatable sideboard line
  • added emptyLine function
  • allow to pass a normal flow as a line
  • added updatingLine function as a replacement for the old lineChangingPeriodically

all deprecations have quick fixes for alternatives

  • deprecated SimpleSideboardLine and ChangingSideboardLine with replacements
  • deprecated line { }, literalLine and FlowCollector<Component>.emitLiteralText

Events Changes

  • added player login events to core (still part of the experimental events API, actual docs and info will follow)
  • added entity events namespace as a starting and extension point for core and custom entity events

Dependencies

Updated to fabric-language-kotlin 1.8.3+kotlin.1.7.10, and increased the minimum required version to 1.8.0+kotlin.1.7.0.

Temporary usage requirement

Remember that in order to use this release you have to follow this guide:
https://gist.github.com/jakobkmar/5068aa14e37b859c3246de91cac74347

1.9.1

14 Aug 16:50
60e2ef5
Compare
Choose a tag to compare

This release updates Silk to Minecraft 1.19.2, and it is also compatible with Minecraft 1.19.1.

A temporary issue is that to use this release you have to follow these steps: https://gist.github.com/jakobkmar/5068aa14e37b859c3246de91cac74347
(this is due to the fact that Silk relies on context receivers already)

Changes:

  • a pretty big change is that the event API is now included in Silk, it is still experimental though, which is also the reason for this not being a major version bump and documentation being not that good yet
  • you can now convert Minecraft random sources to Kotlin randoms and vice-versa

Sorry for the delay - it is mostly caused by holidays etc - in future releases should be much faster again.

1.9.0

24 Jun 16:36
c416030
Compare
Choose a tag to compare

Renamed to Silk:

  • the API has been renamed from FabrikMC to Silk, since it is / will be compatible with more targets
  • the base package changed from net.axay.fabrik to net.silkmc.silk, use IntelliJ Ctrl+Shift+R to replace that in all your imports
  • types with "Fabrik" in their name have been deprecated, changed to a typealias and now suggest their Silk counter part as the ReplaceWith value
  • the docs are now located at silkmc.net/silk/docs
  • the artifacts on maven central are now located in the net.silkmc namespace, therefore the core module has the following dependency notation net.silkmc:silk-core:1.9.0

Features and changes:

  • added alias function to LiteralCommandBuilder which allows you to specify alternative names for the command or subcommand @jakobkmar
  • the silk-nbt module should now be backwards compatible with old kotlinx.serialization versions by checking for both CollectionLikeSerializer and ListLikeSerializer @F0Xde
  • added executeCommand extension for MinecraftServer @btwonion
  • Sideboard now has a hideFromPlayer function @jakobkmar (suggested by @DasPhiller)
  • using the hotkey swap key on an igui no longer creates a ghost item @jakobkmar (reported by @DasPhiller)
  • the commands module no longer depends on fabric-api
  • introduced InternalSilkApi and DelicateSilkApi opt-in annotations, and used them for some parts of the API

1.8.1

10 Jun 22:35
3c64beb
Compare
Choose a tag to compare
  • now compiling against the full 1.19 release, no longer the pre release
  • added obfuscated option to literal text builder (@btwonion)
  • updated to fabric api 0.55.3 and use fabric command api v2 under the hood (fixes some issues with client commands)
    • registering client commands is now callback based as well (setupRegistrationCallback())
  • updated to Kotlin 1.7.0
  • added setSkullTexture and setSkullPlayer functions for ItemStack (@btwonion, @l4zs and @jakobkmar)
  • fabrikmc-nbt is now compatible with kotlin 1.7.0 kotlinx.serialization - but we cannot garuantee backwards compatibility with older serialization versions for sure (@F0Xde)
  • GameProfileArgument.Result is now supported as a generic argument type
  • fixed initWithServerSync (now uses fabrikCoroutineScope at first and mcCoroutineScope for executing the given block)

1.8.0

30 May 21:14
4ec8449
Compare
Choose a tag to compare
  • updated to Minecraft 1.19
    • this introduced major changes to Text / Component and commands, but they didn't require fabrikmc to change a lot
  • literalText now returns MutableComponent
  • new argument function inside command builder, which allows to create an ArgumentType from the CommandBuildContext, which gives registryAccess to the command types
  • new player.executeCommand(String) extension (server-side)
  • deprecated coroutineTask and replaced with mcCoroutineTask
    • the new function uses Duration instead of Long for delay and period, and has new scope and client arguments
  • added infiniteMcCoroutineTask function
  • added Entity.directionVector which returns a Vec3 for the exact direction the Entity is currently looking at
  • added Entity.blockPos for more consistent access for mojang mappings users
  • introduced InternalFabrikApi and DelicateFabrikApi annotations which will protect users from wrong use of certain components, but still allows them to do it if they really want
  • make markVelocityDirty more reliable
  • added Int.ticks extension which returns a kotlin.time.Duration for the amount of ticks specified
  • temporarily removed the fabrikmc-compose module, since it will be moved to a separate project
  • added Entity.modifyVelocity(Vec3) extension function
  • added UUID.toNbt() extension function to nbt conversion file
  • added initWithServerSync function which returns a Deferred<T> which will be completed when the server finished startup - this allows to initialize properties depending on the MinecraftServer in classes early

1.7.4

24 Apr 16:55
891a0f5
Compare
Choose a tag to compare

fabrikmc 1.7.4

This is a small release, which downgrades the jvm target fabrikmc uses to Java 11, so that fabrikmc can be used with Kotlin 1.5.31 - this is needed because of some inline / crossinline to anonymous object issues with Kotlin 1.6.0+, which will only be fixed in Kotlin 1.7.0.

1.7.3

19 Apr 21:24
d661d18
Compare
Choose a tag to compare

fabrikmc 1.7.3

Recompiled the project with fabric-loom 0.12 to fix some metadata remapping issues.
It will also be best if you use loom 0.12+ as well.

Kotlin version used by fabrikmc 1.7.3: Kotlin 1.6.10