https://github.com/27rogi/homabric
π Little yet powerful home management mod for Fabric
https://github.com/27rogi/homabric
Last synced: about 1 month ago
JSON representation
π Little yet powerful home management mod for Fabric
- Host: GitHub
- URL: https://github.com/27rogi/homabric
- Owner: 27rogi
- License: lgpl-3.0
- Created: 2021-12-20T22:53:27.000Z (over 3 years ago)
- Default Branch: 1.19-v2
- Last Pushed: 2024-01-07T17:42:11.000Z (over 1 year ago)
- Last Synced: 2025-04-06T03:06:15.793Z (about 2 months ago)
- Language: Kotlin
- Size: 330 KB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> β οΈThis mod is in early stage of development, you can use all functions that are listed below, but they may be changed in future. Code quality might be very poor sometimes and it will be improved in future.
### Features
- β Sharing homes with players.
- β Max home limits per group or player via permissions.
- β Using GUI for teleportation and viewing all home information.
- β Editing home icons for GUI with support for modded items.
- β Ability to easily configure the mod and view player locations.
- β Teleport timeout with ability to prevent teleportation if player moved or got damaged.#### Planned features
- [ ] Ability to define teleport timeout using permissions.
- [ ] Ability to define `/home` command aliases in config.
- [ ] Rewrite code for better readability.### Languages
- π¬π§ English
- π·πΊ Russian
- π¨π³ Chinese (@Neubulae)## Commands
You can use `homabric.teleport.bypass` permission to bypass teleport timeout.
To disable limits on homes for players give them `homabric.limit.bypass` permission.### Players
- /h **OR** /home `homabric.base.use`
- /h `homabric.base.byName`
- /h set `homabric.base.set`
- /h remove `homabric.base.remove`
- /h p `homabric.base.others`
- /h list `homabric.base.list`
- /h allow `homabric.base.allow`
- /h disallow `homabric.base.disallow`
- /h setIcon `homabric.base.setIcon`### Admins
You can access to admin commands by using `/homabric`.
- /homabric `homabric.admin.use`
- /homabric reload `homabric.admin.reload`
- /homabric teleport `homabric.admin.teleport`
- /homabric set `homabric.admin.set`
- /homabric remove `homabric.admin.remove`
- /homabric list `homabric.admin.list`### Classic Commands
You can disable these commands in configuration file by setting `enableClassicCommands` to `false`.
- /sethome `homabric.base.set`
- /removehome `homabric.base.remove`
- /playerhome `homabric.base.others`
- /listhome `homabric.base.list`
- /allowhome `homabric.base.allow`
- /disallowhome `homabric.base.disallow`## Configuration
I developed this mod with simplicity in mind, I decided to store home data inside the configuration file instead of NBT in Entity or World, this allows server owners fast migration between maps without loosing data and editing them which saves a lot of time.
> β οΈ Starting from version 2.0.0 the configuration file are now split into two different ones.
### homabric.config.conf
This file stores Homabric settings.
```shell
# Do not touch this value, it allows mod to
# check if config file is outdated or not.
configVersion=3
# This option enables alternative command variants like /sethome, /removehome and etc.
enableClassicCommands=true
# Sets the maximum amount of homes per player.
homesLimit=21
# You can define permissions that will override home limit for the players if they have them.
# Permission names are transformed to permissions like 'homabric.homelimit.'
# Example permission: vip: { max-homes=6 }
permissionsHomeLimit {}
# Sets the timeout in seconds before player will be teleported home.
# You can disable this feature by setting it to 0.
teleportCooldown=5
```### homabric.homes.conf
This file contains all homes that are created by players.
```shell
players {
# Player nickname (not a DisplayName)
ExamplePlayer {
# List of player homes
homes {
# Name of the home
"village" {
# Players that can access this home
allowed-players=[]
# Icon must be an identifier, for example 'minecraft:cobblestone'
icon="minecraft:map"
# World where home is located
world="minecraft:overworld"
# Coordinates, including head position
pitch=7.15
x=160.66
y=72.0
yaw=-51.45
z=-76.45
}
# Example of home with allowed player 'Rogi27'
home {
allowed-players=[
Rogi27
]
icon="minecraft:iron_shovel"
pitch=8.25
world="minecraft:overworld"
x=1337.3
y=172.0
yaw=123.1
z=276.45
}
}
}
}
```### Migration from 1.x.x
Due to breaking changes in 2.0.0 you are required to manually edit your config file and move `players` section from original config to new one called `homabric.homes.conf`.