-
Notifications
You must be signed in to change notification settings - Fork 0
Consumer Mods Integration Guide
Rifaditya edited this page Aug 9, 2026
·
1 revision
Guide for third-party developer integration with Better Bats and DasikLibrary APIs.
Add DasikLibrary to your third-party mod build.gradle and fabric.mod.json:
dependencies {
modImplementation "net.dasik.social:dasik-library:1.8.9+26.2"
}"depends": {
"dasik-library": ">=1.8.2"
}Third-party mods can read bat genetics using DasikAnimalGeneticsAPI:
import net.dasik.social.api.genetics.DasikAnimalGeneticsAPI;
import net.minecraft.world.entity.ambient.Bat;
public class BatInspector {
public static void inspectBat(Bat bat) {
// Read scale trait multiplier (Default baseline: 1.0f)
float scale = DasikAnimalGeneticsAPI.getTrait(bat, "scale", 1.0f);
// Read movement speed trait (Default baseline: 0.0f)
float speedBonus = DasikAnimalGeneticsAPI.getTrait(bat, "movement_speed", 0.0f);
// Read attack damage multiplier trait (Default baseline: 2.0f)
float attackDamage = DasikAnimalGeneticsAPI.getTrait(bat, "attack_damage", 2.0f);
System.out.println("Bat scale: " + scale + ", Damage multiplier: " + attackDamage);
}
}To trigger panic flight programmatically on any bat entity:
import net.vanillaoutsider.betterbats.BatStateAccessor;
import net.minecraft.world.entity.ambient.Bat;
import net.minecraft.world.phys.Vec3;
public class BatSoundEmitter {
public static void scareBat(Bat bat, Vec3 soundOrigin) {
if (bat instanceof BatStateAccessor accessor) {
accessor.betterbats$panic(soundOrigin);
}
}
}Read active Better Bats GameRules from any server world instance using DynamicGameRuleManager:
import net.dasik.social.api.gamerule.DynamicGameRuleManager;
import net.vanillaoutsider.betterbats.BetterBatsFabric;
import net.minecraft.world.level.Level;
public class BatRuleChecker {
public static void checkRules(Level level) {
int maxSwarm = DynamicGameRuleManager.getInt(level, BetterBatsFabric.BAT_SWARM_SIZE);
boolean pestControl = DynamicGameRuleManager.getBoolean(level, BetterBatsFabric.BAT_PEST_CONTROL);
int guanoTimer = DynamicGameRuleManager.getInt(level, BetterBatsFabric.BAT_GUANO_THRESHOLD);
}
}Better Bats Wiki โข Copyright ยฉ 2026 Dasik (Rifaditya) โข Licensed under GNU GPLv3
๐ The documentation in this Wiki reflects the current source code state in the repository.
- Bat Ecology & Photophobia
- 3D BOIDs Flocking & Math
- Guano Crop Fertilization
- Phototaxis & Light Orbiting
- Pest Control Combat
- Echolocation & Panic
- Chiroptera Genetics
- Dynamic GameRules
- Ambient Spawning Rules
- HUD & Client GUI Config
- Commands & Advancements
- Sounds & Particle Effects
- Troubleshooting & FAQ