← Назад к ресурсам

Mob Mounting Control

Control which mob can mount which vehicle

Modrinth game-mechanics mobs transportation

Описание

# Mob Mounting Control A server-side Fabric mod for Minecraft 1.20.1 that controls which entities can mount vehicles (boats, minecarts, etc.) using configurable blacklists and whitelists. ## Features - **Entity Blacklist/Whitelist Mode**: Control which entities can mount vehicles using either blacklist or whitelist approach - **Vehicle Blacklist/Whitelist Mode**: Control which vehicle types are affected by the mod using either blacklist or whitelist approach - **Dual-Layer Control**: First filter vehicles by type, then check entity permissions for those vehicles - **Player Exception**: Option to always allow players to mount vehicles regardless of other settings - **Logging**: Optional logging of mounting attempts for debugging - **Runtime Configuration**: JSON-based configuration file that can be edited while the server is running ## Installation 1. Download the latest release from the releases page 2. Place the `.jar` file in your server's `mods` folder 3. Start your server - the mod will create a default configuration file 4. Edit the configuration file if needed and restart the server ## Configuration The mod creates a configuration file at `config/mobmountingcontrol.json` with the following options: ```json { "enableMod": true, "defaultAllowMounting": true, "playersAlwaysAllowed": true, "entityBlacklist": [ "minecraft:zombie", "minecraft:skeleton", "minecraft:creeper", "minecraft:spider" ], "entityWhitelist": [ "minecraft:villager", "minecraft:horse", "minecraft:donkey", "minecraft:mule" ], "defaultAllowVehicles": true, "vehicleBlacklist": [ "minecraft:tnt_minecart" ], "vehicleWhitelist": [ "minecraft:boat", "minecraft:chest_boat", "minecraft:minecart", "minecraft:chest_minecart", "minecraft:furnace_minecart", "minecraft:hopper_minecart" ], "logMountingAttempts": false } ``` ### Configuration Options - **enableMod**: Enable/disable the mod entirely - **defaultAllowMounting**: - `true` = Entity blacklist mode (allow all entities except blacklisted) - `false` = Entity whitelist mode (deny all entities except whitelisted) - **playersAlwaysAllowed**: If true, players can always mount vehicles regardless of other settings - **entityBlacklist**: List of entity types that cannot mount vehicles (when in blacklist mode) - **entityWhitelist**: List of entity types that can mount vehicles (when in whitelist mode) - **defaultAllowVehicles**: - `true` = Vehicle blacklist mode (control all vehicles except blacklisted) - `false` = Vehicle whitelist mode (only control whitelisted vehicles) - **vehicleBlacklist**: List of vehicle types to exclude from control (when in blacklist mode) - **vehicleWhitelist**: List of vehicle types to control (when in whitelist mode) - **logMountingAttempts**: Enable logging of mounting attempts for debugging ### How the Dual-Layer System Works 1. **Vehicle Filter**: First, the mod checks if the vehicle type should be controlled based on `defaultAllowVehicles` and the vehicle lists 2. **Entity Permission**: If the vehicle is controlled, then check if the entity has permission to mount based on `defaultAllowMounting` and the entity lists 3. **Player Override**: Players bypass entity permissions if `playersAlwaysAllowed` is true ## Usage Examples ### Prevent hostile mobs from mounting boats only ```json { "defaultAllowMounting": true, "entityBlacklist": [ "minecraft:zombie", "minecraft:skeleton", "minecraft:creeper", "minecraft:spider" ], "defaultAllowVehicles": false, "vehicleWhitelist": [ "minecraft:boat", "minecraft:chest_boat" ] } ``` ### Only allow specific mobs on any vehicle except TNT minecarts ```json { "defaultAllowMounting": false, "entityWhitelist": [ "minecraft:villager", "minecraft:horse", "minecraft:cat" ], "defaultAllowVehicles": true, "vehicleBlacklist": [ "minecraft:tnt_minecart" ] } ``` ### Control all vehicles but only block zombies from everything ```json { "defaultAllowMounting": true, "entityBlacklist": [ "minecraft:zombie" ], "defaultAllowVehicles": true, "vehicleBlacklist": [] } ``` ## Building from Source 1. Clone this repository 2. Run `./gradlew build` 3. The built mod will be in `build/libs/` ## Requirements - Minecraft 1.20.1 - Fabric Loader 0.14.21 or higher - Fabric API ## License This project is licensed under the MIT License - see the LICENSE file for details. ## Support If you encounter any issues or have feature requests, please open an issue on the GitHub repository.