PowerHomes [1.8 - 1.20] | Public & Private Homes | Invites | Blacklists | SQL support | Home safety icon

PowerHomes [1.8 - 1.20] | Public & Private Homes | Invites | Blacklists | SQL support | Home safety -----

Multi-home support, public and private homes, invite players and blacklist them from homes



[​IMG]
PowerHomes is the ultimate homes solution for your SMP server. Built to be scalable, fast, powerful, yet simple, lightweight and easy to use by any user.

With PowerHomes, your players can set specific waypoints (homes) and go back to them whenever they desire. They can also share their homes and invite players, or make the home public and blacklist certain players from accessing it.

[​IMG]

Multi-home support
  • Each player can have multiple homes (configurable using permissions or the config.yml), each identified with a name to use at any time
Invite players to your home
  • Players can invite other players to their homes to give these players access to use their home at any time.
Make your home public
  • Players can make their home public to allow anyone to access it, acting as a warp that belongs to them.
  • Players with public homes can blacklist other players from accessing the public home.
Blacklist players from accessing a home
  • Players can set their homes to be public, yet at the same time blacklist certain players from
Configurable amount of homes
  • You can set a default max number of homes in the config.yml.
  • It is possible to override this number for VIP players by giving them the powerhomes.homes.max.<number> permission
Home safety
  • Warps are checked for lava, TNT, solid blocks and breathing area, and players are warned beforehand when a home is unsafe.
  • It is possible to disable safety checks, or enable only specific ones.
Powerful and native command completion
  • All commands include relevant auto-completions and suggestions to make the process faster and easier
  • PowerHomes leverages Minecraft 1.13+'s new command system, therefore providing native-like command execution process, command tooltips, and colorful arguments
Supports multiple storage types
  • PowerHomes supports up to 5 different storage types, all of which are highly performant and compact
    • SQLite (default)
    • H2 (experimental)
    • MySQL
    • PostgreSQL
    • MariaDB
Heavily optimized for large servers
  • PowerHomes implements efficient caching, batch updating, and multi-threading to perform as fast as possible
  • PowerHomes has an extremely lightweight footprint on your server, making it an excellent choice for servers with limited resources or high pressure.
Super customizable
  • 99.9% of plugin messages are customizable and editable, with over 40 editable messages
  • PowerHomes uses the MiniMessage format, which allows normal colors, hex colors, rainbow, clickable and hoverable messages easily with no extra configuration and through an interactive web UI.
  • Everything in PowerHomes can be customized,
[​IMG]

[​IMG]
[​IMG]
[​IMG]

[​IMG]
[​IMG]
[​IMG]


  • /home set <home name> (powerhomes.command.set): Add a new home or update an existing one
  • /home go <home owner> <home> (powerhomes.command.use.others): Go to somebody's home
  • /home blacklist <target> <home> (powerhomes.command.blacklist): Blacklist a player from accessing your home
  • /home delete <home> (powerhomes.command.delete): Delete a home
  • /home help [page] (powerhomes.command.help): List all available commands
  • /home invite <target> <home> (powerhomes.command.invite): Invite a player to your home
  • /home private <home> (powerhomes.command.private): Make your home accessible only to those you invite
  • /home public <home> (powerhomes.command.public): Make your home accessible to everyone
  • /home rename <home> <new name> (powerhomes.command.rename): Rename your home
  • /home unblacklist <target> <home> (powerhomes.command.unblacklist): Un-blacklist a player from accessing your home
  • /home unblacklistall <home> (powerhomes.command.unblacklistall): Clear all blacklists in your home
  • /home uninvite <target> <home> (powerhomes.command.uninvite): Un-invite a player from your home
  • /home uninviteall <home> (powerhomes.command.uninviteall): Clear all invites to your home
  • /home admin blacklist <player> <home> <target> (powerhomes.command.admin.blacklist): Blacklist a player from another player's home
  • /home admin delete <player> <home> (powerhomes.command.admin.delete): Delete the home of a player
  • /home admin invite <player> <home> <target> (powerhomes.command.admin.invite): Invite a player to another player's home
  • /home admin private <player> <home> (powerhomes.command.admin.private): Make a home private
  • /home admin public <player> <home> (powerhomes.command.admin.public): Make a home public
  • /home admin reload (powerhomes.command.admin.reload): Reload the plugin
  • /home admin rename <player> <home> <new name> (powerhomes.command.admin.rename): Rename a player's home
  • /home admin set <player> <home> (powerhomes.command.admin.set): Set the home of a player
  • /home admin unblacklist <player> <home> <target> (powerhomes.command.admin.unblacklist): Un-blacklist a player from another player's home
  • /home admin unblacklistall <player> <home> (powerhomes.command.admin.unblacklistall): Unblacklist all players from another player's home
  • /home admin uninvite <player> <home> <target> (powerhomes.command.admin.uninvite): Uninvite a player from another player's home
  • /home admin uninviteall <player> <home> (powerhomes.command.admin.uninviteall): Uninvite all players from another player's home
[​IMG]
config.yml
Code (YAML):
# The max amount of homes a single player may have.
#
# Default: 3
max-homes-per-player
: 3

# Is asynchronous teleporting supported? (Paper only)
#
# This feature allows faster and more efficient teleporting on Paper
# servers
#
# Default: true
async-teleport-on-paper
: true

# Should the plugin respawn the player at their home when they die?
#
# Note: Since players may have multiple homes, they will be respawned
# at their first one. This can be overridden by creating a home named
# "respawn" or "bed".
#
# Default: true
respawn-at-home-on-death
: true

# The sound to play when the player uses a home
sound-on-use
: entity_arrow_hit_player

# Safety checks for homes.
#
# These are checked when a player attempts to use a home,
# and when any check is violated the player is warned.
#
# If the player wishes to proceed to an unsafe home, they must run the
# command once again within <time-out property below> seconds
safety-checks
:

  # Are safety checks enabled?
  #
  # Default: true
  enabled
: true

  # The radius in which checks are performed in
  radius
: 3

  # If the player wishes to proceed to an unsafe home, they must run the
  # command once again within the timeout (in seconds)
  time-out
: 10

  # The list of checks
  #
  # Currently supported values (case-insensitive):
  # - lava
  # - tnt
  # - suffocation
  # - no_blocks
  checks
:
   - lava
    - tnt
    - suffocation
    - no_blocks

# Storage configuration
storage
:

  # The storage type. Each type is cached accordingly and only requested when needed. Can be either:
  #
  # - SQLite (Recommended): Storing in a flat-file SQLite database.
  # - MySQL:                Storing in a remote MySQL database
  # - PostgreSQL:           Storing in a remote PostgreSQL database
  # - MariaDB:              Storing in a remote MariaDB database
  #
  # Values are case-insensitive.
  #
  # Fill the appropriate settings for the selected option. When one is selected, the settings of the other
  # ones are ignored.
  #
  # IMPORTANT NOTE: CHANGING THE TYPE WILL NOT IMPORT THE DATA FROM THE OLD STORAGE TO THE NEW ONE. USE THE APPROPRIATE
  # TOOLS TO CONVERT.
  type
: sqlite

  # The host to be used for the database. Uses the standard DB engine port by default. If you have a
  # non-default port, specify it here using 'host:port'.
  host
: 'localhost'

  # The name of the database to connect to
  database-name
: 'powerhomes'

  # The user to connect with
  username
: 'root'

  # The password of the user
  password
: 'p@ssw0rd123'

  # HikariCP's properties configuration.
  #
  # This section is for advanced configuring for the database connection.
  #
  # Unless you know what you are doing, or were explicitly told to modify these,
  # you are better off keeping these values as the default.
  pooling
:

    # The maximum lifetime of a connection in the pool
    max-lifetime
: 120000

    # The maximum size that the pool is allowed to reach, including both idle and in-use
    # connections
    max-pool-size
: 3

  # The interval (in minutes) in which the database should be updated.
  #
  # It is better to leave this as the default value (30) unless you
  # are facing issues with it.
  update-database-interval
: 30
messages.yml
Code (YAML):
###################################################################
# This file uses the MiniMessage format for messages
#
# Format: https://docs.adventure.kyori.net/minimessage/format.html
# Web UI for previewing: https://webui.adventure.kyori.net/
###################################################################

# The prefix of the plugin that precedes every message.
#
# Note that it is possible to disable the prefix by putting
# [noprefix] behind messages.
#
# (A space at the end is not added by default, we can add it
# ourselves)
prefix
: "<gray>[<green>Homes</green>]</gray> "

# Sent when a player warps to their own home
home-use-self
: "<green>Welcome to <yellow>{home}</yellow>!</green>"

# Sent when a player warps to somebody else's home
home-use-other
: "<green>Welcome to <yellow>{player}</yellow>'s home!</green>"

# Sent when a player adds a new home
home-added
: "<green>Added a new home: <yellow>{home}</yellow>.</green>"

# Sent when a player deletes their home
home-deleted
: "<green>Deleted home <yellow>{home}</yellow>.</green>"

# Sent when a player reaches the maximum number of allowes homes
home-maximum-reached
: "<red>You've reached the maximum amount of homes!</red>"

# Sent when an invalid home is inputted.
no-such-home
: "<red>No such home: <yellow>{home_name}</yellow>.</red>"

# Sent when a player attempts to access a home but cannot.
access-denied
: "<red>You do not have access to this home.</red>"

# Sent when a player attempts to add a home with a conflicting
# name
home-with-name-already-exists
: "<red>A home with name <yellow>{home_name}</yellow> already exists!</red>"

# Sent when a player attempts to uninvite themselves
player-invited
: "<green>Player <yellow>{player}</yellow> can now access <yellow>{home}</yellow>.</green>"

# Sent when a player attempts to invite themselves
cannot-invite-self
: "<red>You cannot invite yourself!</red>"

# Sent when a player attempts to uninvite themselves
cannot-uninvite-self
: "<red>You cannot uninvite yourself!</red>"

# Sent when a player uninvites another player from their home
player-uninvited
: "<green>Player <yellow>{player}</yellow> can no longer access <yellow>{home}</yellow>.</green>"

# Sent when a player attempts to uninvite a player from their home
# but that player is not invited.
player-not-invited
: "<red>Player <yellow>{player}</yellow> is not invited to <yellow>{home}</yellow>.</red>"

# Sent when a player uninvites all players from their home
uninvited-all
: "<green>Successfully uninvited all players from <yellow>{home}</yellow>.</green>"

# Sent when a player attempts to invite a player to their home
# but that player is already invited.
already-invited
: "<red>Player <yellow>{player}</yellow> is already invited to <yellow>{home}</yellow>.</red>"

# Sent when a home is renamed
home-renamed
: "<green>Home <yellow>{home}</yellow> has been renamed to <yellow>{new_name}</yellow>.</green>"

# Sent when a player updates the location of their home
home-location-updated
: "<green>Updated location of <yellow>{home}</yellow> to your location.</green>"

# Sent when a player makes their home public.
home-public
: "<green><yellow>{home}</yellow> is now public.</green>"

# Sent when a player makes their home private.
home-private
: "<green><yellow>{home}</yellow> is now private.</green>"

# Sent when a player blacklists another player from their home
player-blacklisted
: "<green><yellow>{player}</yellow> is now blacklisted from <yellow>{home}</yellow>.</green>"

# Sent when a player unblacklists another player from their home
player-unblacklisted
: "<green><yellow>{player}</yellow> is no longer blacklisted from <yellow>{home}</yellow>.</green>"

# Sent when a player attempts to unblacklist another player from their home
# but that player is not blacklisted.
player-not-blacklisted
: "<red><yellow>{player}</yellow> is not blacklisted from <yellow>{home}</yellow>.</red>"

# Sent when a player attempts to blacklist another player from their home
# but that player is already blacklisted.
player-already-blacklisted
: "<red><yellow>{player}</yellow> is already blacklisted from <yellow>{home}</yellow>.</red>"

# Sent when a player unblacklists everybody from their home.
unblacklisted-all
: "<green>Successfully cleared all blacklists from <yellow>{home}</yellow>.</green>"

# Sent when a player attempts to blacklist themselves
cannot-blacklist-self
: "<red>You cannot blacklist yourself!</red>"

# Sent when a player attempts to unblacklist themselves
cannot-unblacklist-self
: "<red>You cannot unblacklist yourself!</red>"

# Sent when a player attempts to make a home public when it's
# public already.
home-already-public
: "<red><yellow>{home}</yellow> is already public.</red>"

# Sent when a player attempts to make a home private when it's
# private already.
home-already-private
: "<red><yellow>{home}</yellow> is already private.</red>"

# Sent when a player attempts to go to an unsafe home
home-safety-violation
: "<red><yellow>{home}</yellow> has the following safety violations:</red>"

# How each safety violation is displayed in the list
list-violation-item
: "<gray>- <green>{violation}"

# Proceeds to the unsafe home
home-unsafe-proceed
: "<yellow>To proceed, run the command again.</yellow>"

# Sent when a player runs "/home".
see-help
: "<red>Run <yellow>/home help</yellow> for a list of available commands.</red>"

# Sent when an admin reloads the plugin
plugin-reloaded
: "<green>PowerHomes has been reloaded!</green>"

# Sent when an admin sets the location for a player
admin-home-set
: "<green>Successfully set location of <yellow>{player}</yellow>'s <yellow>{home}</yellow> to your location</green>"

# Sent when an admin deletes the home of a player
admin-home-delete
: "<green>Deleted <yellow>{player}</yellow>'s <yellow>{home}</yellow>.</green>"

# Sent when an admin invites a player to a home
admin-home-invite
: "<green>Invited <yellow>{player}</yellow> to <yellow>{home}</yellow>.</green>"

# Sent when an admin uninvites a player from a home
admin-home-uninvite
: "<green>Uninvited <yellow>{player}</yellow> from <yellow>{home}</yellow>.</green>"

# Sent when an admin uninvites everybody from a home
admin-home-uninviteall
: "<green>Successfully uninvited all players from <yellow>{player}</yellow>'s <yellow>{home}</yellow>.</green>"

# Sent when an admin blacklists a player from a home
admin-home-blacklist
: "<green>Blacklisted <yellow>{player}</yellow> from <yellow>{home}</yellow>.</green>"

# Sent when an admin unblacklists a player from a home
admin-home-unblacklist
: "<green>Unblacklisted <yellow>{player}</yellow> from <yellow>{home}</yellow>.</green>"

# Sent when an admin uninvites everybody from a home
admin-home-unblacklistall
: "<green>Successfully unblacklist all players from <yellow>{player}</yellow>'s <yellow>{home}</yellow>.</green>"

# Sent when an admin renames a player's home
admin-home-rename
: "<green>Renamed <yellow>{player}</yellow>'s <yellow>{home}</yellow> to <yellow>{new_name}</yellow>.</green>"

# Sent when an admin sets a home to be public
admin-home-public
: "<green><yellow>{home}</yellow> is now public.</green>"

# Sent when an admin sets a home to be private
admin-home-private
: "<green><yellow>{home}</yellow> is now private.</green>"
 
[​IMG]

No special installation instructions are required. Simply download PowerHomes-V.jar and put it in your plugins folder.

Note: When the plugin starts for the first time, it will require an internet connection to install a few dependencies. If you do not have access to the internet, extract the zip in https://bit.ly/3cd3wGe at /PowerHomes/libraries, or obtain access to the internet.


[​IMG]

For questions, inquiries, bug reports, or suggestions, feel free to jump by our Discord server any time!

Join the Discord server here

[​IMG]

By purchasing and/or using PowerHomes, you agree to the following:
  • It is your responsibility to periodically review these Terms of Service to stay informed of updates.
  • No part of the plugin's source code / bytecode may be copied, modified in any way, deobfuscated, changed, reproduced, aggregated, republished, uploaded, posted, publicly or privately displayed, encoded, transmitted, distributed, sold, licensed, or otherwise exploited for any commercial purpose whatsoever without Revxrsal's prior written permission.
  • You may OR may not get a refund after purchasing the resource.
  • I am irresponsible for any damage this resource may inflict on you or your services.
  • You receive the resource AS IS. You shall not expect any updates, new features or bug fixes other than what is currently available. These are a personal investment of mine, and I am not obliged to do any of them.
  • The content and features provided within all plugin are “AS IS” for use on a single server (a single purchase is valid for a single server or network of servers within the same general area).

Tributes to freepik for the 2D graphics used throughout this thread.
Resource Information
Author:
----------
Total Downloads: 8
First Release: Jul 24, 2022
Last Update: May 1, 2024
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings