Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
src/main
README.md
pom.xml

README.md

Halfminer Core

Core plugin for Minecraft Server Two and a half Miner. Runs as Spigot plugin powered by Bukkit, depends on Essentials.

Current features

  • Built to be modular, lightweight and efficient
  • Messages completely, functionality mostly configurable
    • Supports clickable commands by using ~ character and encapsulating command in /
  • Modules
    • AntiKillfarming
      • Counts amount of kills between two players
      • After set amount of kills has been reached, blocks players from PvP and command usage for a set amount of time
        • Checks interval between kills, resets if interval exceeds given amount
        • Broadcasts block to all players
          • Pre warns players one kill before they get blocked
          • Also prints informational message that killfarming is not allowed
        • Disallows further PvP, including
          • direct hitting
          • TNT killing
          • arrow shooting
          • splash/lingering potion throwing
        • Blocks commands
        • Shows message with remaining block time
      • Allows other modules to check if a kill is a repeated kill
      • Punishment doubles for every additional block
    • AntiXray
      • Counts players block breaks
        • Clears after no protected blocks were broken
      • Set protected blocks via config
      • Threshold ratio between broken blocks and broken protected blocks
      • Threshold Y level until counted
      • Notifies staff if threshold was reached
        • Shows last location
        • If staff was offline notifies on join
    • AutoMessage
      • Broadcasts messages in a given interval
      • Messages configurable with support for clickable commands
    • ChatManager
      • Hooks into Vault to get prefix and suffix
      • Custom chatformats
        • Default chatformat is last one defined in list
        • Format can be assigned to groups/players via custom permission node
        • Permission to always get format with highest priority can be granted
        • Amount of formats not limited
      • Denies chatting if globalmute active
        • Allows easy toggling of globalmute
      • Plays sound when sending a message in chat
      • Notifies mentioned players in chat via actionbar
        • Tells sender if mentioned player is AFK
        • Mentioning is rate limited
      • Disallow (or allow via permission)
        • sending empty/one character messages
        • repeating the same (or similar) message
        • using color codes and formatting codes via &
        • Posting links/IPs
        • Writing all capitalized
      • Disables tab completes that are too long, defaults to help instead
    • CombatLog
      • Tags players when hitting/being hit
      • Shows actionbar message containing time left in fight
      • On logout
        • Combat logging player dies
        • Last attacker will get the kill and get untagged
        • Message will be broadcast, containing last attacker name
      • Untags players after timer runs out, player logs out or a player is killed
      • Players that are tagged can fight in PvP disabled regions aswell (toggleable, prevents border hopping)
      • Disabled while tagged:
        • Taking off armor
        • Commands
        • Enderpearls
    • Crafting
      • Add minimum required amounts per item on a crafting field for vanilla recipes
        • For example, amount set for TNT at 8 requires at least 8 sand/gunpowder on every field in crafting field
    • GlitchProtection
      • Notifies staff about potential wall glitching
      • Detects dismount glitches, forces player to spawn
      • Override Spigot teleport safety between worlds
      • Prevents glitching with chorus fruit, instead teleports player down
      • Kills players above netherroof and notifies staff
    • HealthBar
      • Shows healthbar of attacking/attacked player or mob in bossbar
        • Contains playername / mobname
        • If player, shows players skilllevel from ModSkilllevel
        • Updates healthbar on damage or health regain for every player who hit the entity
        • Dynamic bar segmentation, solid bar if no segmentation is available client side
      • Only shows one bar at a time
        • Shows bar for 8 seconds max, or until another entity was hit
        • When entity was killed, shows bar in green and removes it after 2 seconds
    • InventorySave
      • Only drop non enchanted items on death if enabled
        • If an item has enchantment Curse of Binding and is equipped, move to inventory upon death
      • Toggle EXP drops
    • Motd
      • Configurable Serverlist Motd
        • Can be set via command
      • Dynamic playerlimit indicator, configurable with buffers and limits
    • Performance
      • Limits redstone usage
        • Redstone will not work if triggered too often
      • Limits piston usage
        • Only a given amount of pistons can be extended in a given time in the pistons region
      • Limits hopper placement
        • Checks radius, if too many hoppers denies placement
      • Limits mobspawns
        • Checks radius, if too many mobs denies mobspawn
    • PvP
      • Halves PvP cooldown
        • Reduces damage immunity
      • Strength potions damage nerfed (configurable)
      • Bow spamming disabled
        • Disable hitting self with bow
      • Broadcasts killstreaks via actionbar
      • Run custom actions with custom probabilities on kill
        • See customactions.txt in plugin directory for example actions
      • Sounds on kill/death
      • Remove effects on teleport
      • Halves saturation health regeneration during combat
      • Remove regeneration potion effect when eating golden apple
        • Ensures that absorption does not fully regenerate when eating a non Notch golden apple
      • Broadcast resurrection via Totem of Undying
    • Respawn
      • Respawns player at custom location
      • Shows a join message for new players
        • Removes join messages for other players
        • Execute custom command on first join
      • Adds random chance to get own head dropped if new players are being welcomed
        • Custom welcome words
        • Cooldown to prevent misuse
        • Custom probability
        • Uses (sub-)title and bossbar for information
    • Sell
      • Full dynamic sell system
        • Cycle based selling, after a given interval new items will be chosen and all prices will reset
          • Cycles are persistent through server/plugin restarts
          • Broadcast message one minute before and when a new cycle starts
            • Broadcasts player that sold most of a single item, which item and the total amount sold
          • Cycle time is dependent on current player count on server, more players -> more cycles
            • Define a max/min time and playercount for min time in config
        • Reads items and their groups from config
          • Items are defined by their Material, durability/id, base price per unit and name of item
          • Items must be put into groups, which define how many items of said group will be put into a cycle
            • Price will be adjusted by a configurable amount every given amount (also configurable per group)
              • Shows original base price
              • Variance can be added to base price for more dynamic pricing
        • Includes GUI, can be accessed via /sell command
          • Header in GUI is fully configurable via customitems.txt and the config to set a custom command per slot
            • By default line will be filled with stained glass pane
            • For example: A custom button to toggle auto selling (/sell auto) can be added
      • Custom revenue multiplier per player level (hms.level.x)
        • Randomly (depending on revenue) sends message about how much more revenue could have been made with a higher level
      • Auto sells chests on inventory close
        • Toggle via /sell auto command
      • Items that have an item meta won't be sold
    • SkillLevel
      • PvP based skilllevel system / ELO
      • Dynamic ELO determination
        • Auto derank on inactivity (when rank threshold is met)
        • Doesn't count farmed kills (via ModAntiKillfarming)
      • Shows level next to players name in scoreboard
        • Colors the players name depending on skillgroup (configurable)
      • Sorts tablist in descending order
      • Support for staff members to always be on top of tablist
    • StaticListeners
      • Removes player quit message
      • Keeps itemname of colored items in anvil
      • Commandfilter
        • Disables commands in bed (prevent teleport glitches)
        • Rewrites /pluginname:command to just /command
    • Stats
      • Records following statistics about a player in centralized storage from HalfminerSystem
        • Kill/death count
        • K/D ratio
        • Blocks placed/broken
        • Mobkills
        • Money earned
      • View stats on rightclicking a player
        • Permission to exempt players
        • Show if player is AFK
    • StatsTop
      • Manages ordered player stat scoreboards, recorded by ModStats
        • Define which stats to track via config (integer based values)
        • Define max board size
        • Define min and max amount to be on on board
      • Optimized for performance, does updates asynchronously without causing any lags
    • Titles
      • Shows join title
        • How many players are online, how much money does the player have
        • Message configurable
        • Shows server news after delay in bossbar and title
      • Displays information for new players
      • Tablist titles containing amount of money and playercount
      • Fetches money through Essentials hook, updates automatically
    • Tps
      • Calculates ticks per second
      • Notifies staff when servers TPS is too low
  • Commands
    • /chat
      • Chat manipulation tools
      • Toggle globalmute
      • Clear chat
      • Send clickable command message to all players
      • Title broadcast
      • Bossbar broadcast
      • Ring players to get their attention
      • Countdown via bossbar
      • Send custom messages to player or broadcast
      • Set news and motd message
    • /customtext
      • Displays custom text data
      • Should be binded via Bukkit aliases (commands.yml in server root)
      • Utilizes and extends CustomtextCache with syntax elements
        • Placeholder support for text
        • Make commands clickable by ending them with / character
          • A line must be started with ~ to be parsed
          • Commands will be printed in italic
        • Support for command execution
          • Lines starting with -> will make the player execute following text (command or chat message)
          • Lines starting with --> will make the console execute following text as command
    • /disposal
      • Opens a portable disposal
    • /gems
      • Shows the players gem account
      • Allows players to pay gems via /gems pay command
        • Executes custom action with amount paid as placeholder (optional)
      • View and modify players gem accounts, if permission was granted
        • Notifies edited players if they are online
      • All account changes are being logged in console
    • /hmc
      • List all currently watched players by ModAntiXray (antixray)
        • Exempt a player from being watched
      • Copy a WorldEdit schematic to another directory (copyschematic)
      • Give a custom item defined in customitems.txt to a player (give)
      • Reload config (reload)
      • Rename items, supports custom lore (rename)
      • Remove a players /home block (rmhomeblock)
      • Run an action defined in customactions.txt (runaction)
      • Search for homes in a given radius, hooking into Essentials (searchhomes)
      • Show/edit skillelo of player (skilllevel)
    • /hmcapi
      • Small features for script integration
        • Show titles (command interface)
        • Check if player has room in inventory
        • Remove head in casino
        • Remove crate in casino
        • Set script vars accordingly
    • /hmstore
      • Edit HalfminerSystem storage
      • Set, get and delete variables
      • Check if playerdata is being edited
      • Save everything to disk
    • /home
      • Executes Essentials /home after unblock from vote
      • Allows usage up to 15 minutes after join
      • Doesn't block command for new users (< 300 Minutes)
      • Doesn't block users whose ip has already voted twice
    • /lag
      • Information if player or server lags
      • View other players latency/ping
    • /newtp
      • Teleport to random location
        • Set min/max x/z values
      • Checks for safe teleport location
      • Sets home automatically
      • Gives some information about the server via chat and bossbar
    • /pin
      • Generates a PIN that can be used to temporarily identify a player
      • PIN's are only valid for up to an hour after command execution
      • Stores the current rank name with the pin
        • Sets boolean to check if player is upgraded
        • Sets IP address, to prevent sharing of PIN codes
    • /rank
      • Give out ranks to players
      • Executes a custom action to give out rewards and run custom commands
        • If player is offline waits until he is back online to execute action
        • If action fails executes custom fallback action
        • Add custom parameters that will be multiplied by a custom amount per rank (see config)
          • Possibility to deduct reward multipliers for previous ranks
      • Prevents giving out same or lower rank
      • Instead of defining upgrade rank on command execution can define number of ranks that player will be upranked
    • /repair
      • Repair the held item or whole inventory
        • Permissions to restrict access
      • Adds configurable variable cooldown per level
        • Will only apply cooldown if item was actually repaired
      • If repairing single item, checks if it is a stack (permission required to repair stacks)
    • /sell
      • Show sell menu
      • Allows selling item at position in menu with /sell itemposition, first item with /sell 1
      • Toggle automatic selling
      • /clearcycle command alias forces a new sell cycle
    • /signedit
      • Copy signs, define copy amount
      • Edit signs, define line number
    • /spawn
      • Teleport player to spawn
      • Teleport other players to spawn with permission
      • Teleport offline players to spawn once they login
      • Set the spawnpoint with command alias /setspawn
    • /stats
      • View own and other players stats
      • Allows to compare statistics easily via /stats <playername> compare
    • /statstop
      • View the leaderboards configured via ModStatsTop
      • Shows all available leaderboards in a list
      • By default, shows top 5 of selected board and the players position, plus the next and previous player relative to the executing player
        • If executing player is not on board, shows last player on board and his own stat below
        • Specfify page number to scroll through the board
      • View all position on every board at once via /statstop player
        • Specify player to compare ranks easily (/statstop player <playername>)
    • /vote
      • Shows vote links (custom per player) and current total votecount
      • Execute custom actions when vote is received (point Votifier to /vote voted %PLAYER%)
      • Execute command if certain votecount has been reached (notifier to do an event for example)
      • If offline or inventory full, stores reward for retrieval later (/vote getreward)
      • Counts votes for /stats
      • Unblocks access to /home