This is my library and utility mod.
For devs, you can get it like so:
plugins {
// Sets up Kotlin, Spotless, and various Maven repositories.
// Add ``maven.veriny.tf`` to your plugin repository.
id("tf.veriny.gradle.base-plugin").version("0.7.2")
id("fabric-loom").version("1.4.1")
}
dependencies {
modApi("tf.veriny.unova:lilligant:0.7.4")
}
Sweet berry bushes will never slow the player anymore.
The PlayerEntityAwareItem
interface can be implemented on items to give access to two extra
methods that are PlayerEntity-aware:
isSuitableFor(ItemStack, PlayerEntity, BlockState)
getMiningSpeedMultiplier(ItemStack, PlayerEntity, BlockState)
See the interface documentation for more details.
See the SimpleConfig
class and extensions. Also see ConfigContainer
, which uses Kotlin
delegates to simplify having your config objects automatically reload.
This is also done via JIJ'ing the TOML library. No extra setup required. Works on both fucking sides!
Lilligant adds a new Aerial Affinity
enchantment which can be placed on a helmet to reduce the
normal on-ground speed penalty that you get when mining. This can be disabled in the configuration.
Lilligant hooks into how enchantment levels are calculated, allowing you to pretend like a player
or an item has an enchantment (when they really don't). Implement EnchantmentEffectInterceptor
and register it with said interface in your mod initialiser.
Lilligant includes a default enchantment interceptor that allows certain enchantments to be
simulated if you have a status effect that is in a specific mob_effect
tag.
lilligant:gives_aqua_affinity
- Acts as if you have the Aqua Affinity enchantment effect. By default, this contains the Water Breathing status effect.lilligant:gives_frost_walker
- Acts as if you have the Frost Walker enchantment effect. This has no default tag entries.lilligant:gives_aerial_affinity
- Acts as if you have the Aerial Affinity enchantment effect. By default, this contains the Slow Falling status effect and the Levitation status effect.
Lilligant blocks entities from spawning at the lowest level - the entity manager - meaning that
entities are well and truly unable to spawn. This is configurable in the entity_blocker.toml
configuration file.
The snifferCooldown
parameter in the content configuration can be used to customise how many
ticks a Sniffer will be on cooldown after sniffing something up, making it easier to make Sniffer
farms for e.g. torchflowers.
Lilligant adds a small API that can prevent portals from forming based on overworld conditions.
It also includes a built-in handler that stops portals from working based on height (disabled
by default). See the NetherPortalFormationInterceptor
class for more information.
Lilligant automatically suppresses the log on startup caused by a missing libflite.so
.
Lilligant adds a new configuration option to allow forcing peaceful mode. This locks the difficulty to Peaceful both in-game and during world creation, and makes mob spawners automatically delete themselves on tick as a small micro-optimisation.
Lilligant adds a warning screen that warns the player if they've added useless (-XX:+EnableG1GC) or harmful (-XX:MaxTenuringThreshold=1) JVM args.
On peaceful mode, the ender dragon will be automatically killed. An end portal and end gateway will be generated like normal.
Lilligant patches a handful of Blaze3D methods to support booting on Wayland natively if a GLFW version built for Wayland is used (e.g. 3.4.).
Lilligant adds an extremely late language overrider that will forcibly overwrite language keys for the provided lang. Useful for when dynamic resources WON'T BEHAVE