HomeJavaModsFentLib
FentLib
ModsJava

FentLib

by jack_glows · on CurseForge

Utility code for jack mods and vanilla/mod tweaks, such as animated server icons, or Thaumonomicon to HTML dumper.

⬇ Download on CurseForge

FentLib

A shared code library and tweak/fix mod.

logo

hub curse modrinth 67 maven forge cord

Features

public class ClientProxy extends CommonProxy {
    @Override
    public void preInit(FMLPreInitializationEvent event) {
      S00PacketServerInfoModifyService.registerDeserializeHandler((response, fentlibData, serverData) -> {
        if (fentlibData.has("server_to_client_payload")) {
          // Yoohoo we got something back!!!!
          // serverData contains stuff like server IP
        }
      });
    }
}

public class CommonProxy {
  public void preInit(FMLPreInitializationEvent event) {
    if (MiscUtil.isServer()) {
      S00PacketServerInfoModifyService.registerHandler((response, fentLibPresent) -> {
        // fentLibPresent is just a boolean indicating whether fentlib is loaded
        return "server_to_client_payload";
        // You can return a String, a S00PacketServerInfoModifyService.KeyValue, or a JsonElement. If you return
        // a non-null value, it will be passed back to the client
      });
    }
  }
}
SoundUtil.withMaxDistance(ISound sound, float maxDistance);
SoundUtil.playWithMaxDistance(ISound sound, float maxDistance);
SoundUtil.playWithMaxDistance(SoundHandler soundHandler, ISound sound, float maxDistance);
SoundUtil.playAt(ResourceLocation soundResource, double x, double y, double z, float volume, float pitch, float maxDistance);

Example:

SoundUtil.playAt(waveSound, x, y, z, 0.25F, 1.0F, 64.0F);

Fishing Loot Config

Set enableFishingLootTable=true in config/fentlib/fentlib.cfg to enable FentLib's fishing override. The loot table lives at config/fentlib/fishing-loot.json. When enabled, vanilla still decides whether a catch is fish, junk, or treasure, but the item itself comes only from this JSON.

The JSON has top-level fish, junk, and treasure lists. Each entry uses vanilla-style weight, supports count and meta ranges, can be limited to a biome whitelist with biomes or inverted into a blacklist with invertBiomes, and biome selectors can be numeric IDs, biome names, or * to match any biome. Entries can also use explicit numeric enchant IDs or useVanillaEnchantingRules for vanilla-style random enchanting.

{
  "fish": [
    {
      "item": "minecraft:fish",
      "weight": 60,
      "count": { "min": 1, "max": 1 },
      "meta": { "min": 0, "max": 0 }
    },
    {
      "item": "minecraft:fish",
      "weight": 10,
      "count": { "min": 1, "max": 2 },
      "meta": { "min": 1, "max": 1 },
      "biomes": ["ocean", "river"]
    }
  ]
}

Dependencies

Building

./gradlew build.

Credits

License

LGPLv3.

Buy me a coffee


license

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more