A minecraft plugin that allows players to create and manage their own clan.
This software runs on Spigot and NMS. Spigot forks without compiled NMS code are not supported. Officially supported servers are spigot and paper and folia. It is required to use Java 11 or newer.
- A lot of options for players to manage and control their clan.
- Automatically updating files if there is a new update.
- Clan storages
- Configable messages, gui, etc..
- Supporting API.
- Supporting GUI
- Supporting Hex Color
- Supporting BossBar
- Supporting Floodgate (GeyserMC)
- Easily managing plugin database
You might need these plugins to utilize my plugin resources totally.
-
- To get clan information:
- %clanplus_clan_name% - Get clan name
- %clanplus_clan_customname% - Get clan custom name
- %clanplus_clan_formatname% - If clan has a custom name, it will display clan custom name. Otherwise, it will display clan name.
- %clanplus_clan_owner% - Get clan owner
- %clanplus_clan_message% - Get clan message
- %clanplus_clan_score% - Get clan score
- %clanplus_clan_warning% - Get clan warning
- %clanplus_clan_maxmembers% - Get clan max members
- %clanplus_clan_createddate% - Get clan created date as milliseconds
- %clanplus_clan_format_createddate% - Get clan created date (mm/dd/yyyy)
- %clanplus_clan_members% - Get clan members
- %clanplus_clan_allies% - Get clan allies
- %clanplus_clan_skilllevel_% - Get clan Skill ID level
- %clanplus_clan_subjectpermission_% - Get the required rank to utilize the subject
- %clanplus_clan_format_subjectpermission_% - Get the required rank to utilize the subject ( Formatted)
- %clanplus_clan_discordchannelid% - Get clan discord channel ID
- %clanplus_clan_discordjoinlink% - Get clan discord join link
- To get player information:
- %clanplus_player_rank% - Get player rank
- %clanplus_player_format_rank% - Get player rank (Formatted)
- %clanplus_player_joindate% - Get player join date as milliseconds
- %clanplus_player_format_joindate% - Get player join date (mm/dd/yyyy)
- %clanplus_player_scorecollected% - Get player score collected
- %clanplus_player_lastactivated% - Get player last activated as milliseconds
- %clanplus_player_format_lastactivated% - Get player last activated (mm/dd/yyyy
- To get top clans:
- %clanplus_top_score_name_<number (start from 1)>% - Get the name of clan score top #
- %clanplus_top_score_value_<number (start from 1)>% - Get the value of clan score top #
- To get clan information:
-
VaultUnlocked - For Folia Servers - A replacement for Vault
Caution
If your server software is folia, using vault will cause error. I would recommend to use VaultUnlocked to replace Vault and use BetterEconomy to replace any economy plugin.
- /clansplus
- The main clan command for all players to use
- create
- accept
- reject
- leave
- spawn
- list
- menu
- chat
- pvp
- event
- info
- setting
- upgrade
- invite
- kick
- setspawn
clanplus.setspawn - seticon
clanplus.seticon - setpermission
clanplus.setpermission - setowner
- setmanager
- removemanager
- requestally
- setcustomname
clanplus.setcustomname - setmessage
clanplus.setmessage - disband
- The main clan command for all players to use
Important
Each clan will have its own permission for its members to use. For instance, owners of clans can allow their managers to set clan's message but can also allow their members to invite or kick somebody.
Note
Only owners can disband their clans and set permission for their own clans.
- /clansplusadmin
clanplus.admin- For the administrators to use to adjust clans stats or reload plugin.
- reload
- transferPluginDatabaseType
- setClanData
- setClanSkillData
- setPlayerData
- openClanStorage
- event
- backup
- delete
- chatspy
- clanresetall
- For the administrators to use to adjust clans stats or reload plugin.
2.9
- Fixed: Set Manager item lore
- Supported: Minecraft-heads API v2
- Added: Getting head item from URL for future updates
- Added: custom-heads settings in config.yml
- Updated: JDK 23 to JDK 25
- Updated: Libs
- Removed: Google Common lib
- Organized: Sign Change related events
2.8
- Fixed: Dupe Item from Clan Storage
- Fixed: Set Manager Item Lore in Manager Member Rank Inventory uses the Set Owner Lore
- Fixed : Chat Priority
- Fixed: Players cannot hurt themselves using ender pearl or anything like that
- Added: Close Inventory Event to save clan database
2.7
- Fixed an error that caused clans does not show up in adding ally inventory.
2.6
- Fixed War Event Messages still show up even when it's already disabled.
- Fixed Paper Async Chat causes messages from players using clan chat are still sent to general chat.
- Fixed Top cannot be used from PlaceholderAPI.
- Added an option to enable or disable paper async in config.yml
2.5
- Added: Enabled/disabled for opening clan storage
- Added: Modifiable placeholderapi value to config.yml
2.4
- Fixed: War Event still starts after being disabled in config.
- Fixed: "Icon Invalid" message always appears when setting icon using custom head.
- Fixed: English language file not reloading after plugin reload.
- Fixed: Players using sign to search in inventory turn the block they're in into air.
- Fixed: Console spam when transferring database to H2.
- Fixed: Error retrieving player database causing multiple database issues.
- Added: Open Storage to Subject.
- Added: Max Storage to Clan Data.
- Added: Open Clan Storage to Clan Manager.
- Added: Sub-command openClanStorage to clanadmin command.
- Added: Clan Storage List inventory.
- Added: Clan Storage inventory.
- Added: Messages: invalid-location, invalid-number, storage-locked, storage-number-exceed-limit, clan-broadcast-upgrade-max-storages.
- Added: max-storage-default to config.yml.
- Added: clan-creation-broadcast to config.yml that appears randomly after creating a clan.
- Added: storage-settings to config.yml.
- Altered: Set Permission Inventory changed from regular inventory to paginated inventory.
- Optimized: Setting up inventory files.
- Optimized: Inventory handling menu code.
2.3
- Fixed: Fixed an error related to sign input.
- Fixed: Fixed an error that causes the sort item in add member inventory to be loaded.
- Added: Added a setting in config.yml to disable clan spawn.
2.2
- Support 1.21.6, and 1.21.7 (These 2 newest version are very unstable and may occur errors)
- Fixed: Fixed an error pops up whenever an unknown/unsuporrted entity fired at players.
- Fixed: Sort Item missing in add ally inventory config file led to occur an error to load the item.
- Optimization: Item type
2.1
- Fixed: Fixed miscalculating the length of custom name when player use gradient.
- Fixed: Fixed clanadmin command cannot use space to set clan's custom name and message.
2.0
- Fixed: Console spam when shutting down the server.
- Fixed: Bossbar for clan war events not showing to players who just joined the server.
- Fixed: Clan war score history was retained even when players left the clan or the clan was deleted. This fix also resolves related bugs such as data errors and score bugs.
- Fixed: Items in the icon type material menu not displaying properly and causing console spam. Unavailable items will now display as "N/A" and can be customized in the inventory config.
- Fixed: Console spam when players use END_CRYSTAL.
- Optimization: Switched to Paper's async chat system to optimize features using chat boxes.
- Feature Added: Option to toggle join notifications, including clan war and player clan announcements.
- Feature Added: Configurable delay for the two notifications above when a player joins the server.
- Command Added: /clanadmin clanresetall (type) to reset all clan stats including score, war points, and warnings.
- Behavior Change: Due to Folia API limitations, chat box input for inventory list searches has been replaced with a sign-based input method and player timeout.
- Localization: Prepared "inventory" data for setup, but not yet implemented due to complexity (update time is uncertain π¦).
- Optimization: Further code refactoring and cleanup in several areas.
- Hot fix 1: Fixed sign input does not work properly
- Hot fix 2: Fixed event to handle player shooting not working properly
1.9
- Fixed: Players using the default clan name can still use spaces and the & character.
- Fixed: Several issues that caused excessive console spam.
- Fixed: Menu errors in the latest Minecraft server versions.
- Fixed: Server crashes or lag caused by using Discord webhooks.
- Fixed: Clan members (non-leaders) were able to upgrade clan slots.
- Fixed: /clan deny could not be used to reject invitations.
- Optimization: Refactored and optimized code in several areas.
- Localization: Translated some parts of the plugin/interface to English.
1.8
- Support for Folia (Folia on PaperMC) (Related PR) (Thanks to @TypicalShavonne)
- Restored support for some particles
- Utilized async teleportation, which makes teleporting smoother and reduces server lag
- Added English (en) language file
- Support for SuperVanish and other vanish plugins: Players who are vanished will no longer appear in the invite list and will be shown as OFFLINE in the member list if they are vanished. Added an option in config.yml to toggle this feature (vanish-settings)
- Fixed: Stats from previous clan wars no longer carry over into new clan wars
- Fixed: Players using ender pearls or other throwable items (except arrows) could previously damage clan members β this is now resolved
- Fixed: A display bug where transferring manager role incorrectly said "leader role transferred"
- Fixed: The %by% placeholder not working when transferring the manager role
1.7
- Fixed the %rank% placeholder not working when upgrading clans
- Added /clan upgrade point button in the upgrade interface
- Added a config option to disable using chat boxes with a keyword
- Fixed PlaceholderAPI being spammed: https://mclo.gs/MZzRTyy
- Fixed error: https://mclo.gs/Z6LN5Ka (from @tepriu)
- Fixed issue where creating a clan did not cost money
- Fixed several other minor bugs
1.6
- Added clanplus.setspawn permission to allow setting the clan spawn.
- Added a blacklist for worlds when setting spawn (configurable in the config file).
- Players will not be able to set spawn in worlds that are blacklisted.
- If a player had set a spawn in a blacklisted world before this update, they will not be able to teleport to that world.
- Fixed a bug where players could shoot and damage members of their own clan or allied clans with a bow, even if PvP was disabled for them (Thanks to @henshino)
- Added PlaceholderAPI support for clan ranking placeholders:
- %clanplus_top_score_name_<top>% β Gets the name of the clan in the top rank.
- %clanplus_top_score_value_<top>% β Gets the score of the clan in the top rank.
1.5
- No longer supporting DiscordSRV for sending messages on Discord; instead, Discord Webhook will be used to send messages.
1.4
- Fixed an error that causes money is not given for floodgate player
- Fixed the issue where faction war did not grant points for mobs and MythicMobs.
- Fixed the issue where the console was spammed, and the faction war event could not be ended using a command or when the time ran out (Error log) (Reported by @henshino).
- Fixed the issue where the console was spammed during combat when a faction war event was active (Error log) (Reported by @henshino).
- Added support for all the latest Minecraft versions and updated the API.
- Added new permissions:
- clanplus.setpermission - Customize faction permissions.
- clanplus.setmessage - Customize faction messages.
- clanplus.seticon - Customize faction icons.
- clanplus.setcustomname - Customize faction custom names.
Setting up maven:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.CortezRomeo</groupId>
<artifactId>ClansPlus</artifactId>
<version><VERSION></version>
</dependency>
Checking if ClanPlus in on the server:
@Override
public void onEnable() {
if (Bukkit.getPluginManager().getPlugin("ClansPlus") == null) {
getLogger().severe("ClansPlus is not in the server!");
Bukkit.getPluginManager().disablePlugin(this);
return;
}
}Initializing ClansPlus's API:
ClanPlus clansPlusAPI = Bukkit.getServicesManager().getRegistration(ClanPlus.class).getProvider();Example of using the API:
// Initialize plugin API.
ClanPlus clansPlusAPI = Bukkit.getServicesManager().getRegistration(ClanPlus.class).getProvider();
// Get clan name and clan data.
String clanName = "HelloClan";
// If clan does not exist, create a new clan.
if(!clansPlusAPI.getPluginDataManager().getClanDatabase().containsKey(clanName))
clansPlusAPI.getPluginDataManager().
loadClanDatabase(clanName);
IClanData clanData = clanPlusAPI.getPluginDataManager().getClanDatabase(clanName);
// Add a player to a clan.
String playerName = "Cortez_Romeo";
clansPlusAPI.getClanManager().addPlayerToAClan(playerName, clanName, false);
// Promote this player to leader of the clan.
clansPlusAPI.getPluginDataManager().getPlayerDatabase(playerName).setRank(Rank.LEADER);
clanData.setOwner(playerName);
// Adjust clan's database
clanData.setMessage("This is the first message of this clan!");
clanData.setCustomName("&bSuper Clan");
// One of the stuffs you can do with clan manager.
clansPlusAPI.getClanManager().alertClan(clanName, "Have a good day!");
// Save database
clansPlusAPI.getPluginDataManager().saveClanDatabaseToStorage(clanName, clanData);
