Releases: JeremyFail/MassiveCraft
Release list
v3.4.2
Overview
This release adds some new features, bug fixes, and official support for Minecraft 26.2.
Features were more focused on CreativeGates in this release, but a few changes for the other plugins were made.
Changes/Features
MassiveCore
- Minecraft 26.2 support has been added.
- Previous builds were not compatible with 26.2 because MassiveCore's version check at startup would fail (due to the fact that 26.2 only has two "segments" and all Minecraft builds prior always had three - i.e. 26.1.2, 1.21.11, etc.). This has been accounted for and should not be an issue any longer.
- On Paper, you should no longer see warnings about usage of the PlayerLoginEvent as it is no longer being used. This went through extensive testing so I'm fairly confident there are no problems, but, as always, if you experience any issues, please let me know.
- We no longer allow version mismatches. If you update MassiveCore and don't update the other plugins (or vice versa), the plugins will fail to load. This should prevent any issues from happening due to mis-matched versions. An error will be logged in the console in those cases.
Factions
- Minecraft 26.2 support has been added.
- Sulfur Cubes and Sulfur Cube Buckets are now officially supported for land protection/mob spawning protection.
- The
/f flagcommand has been enhanced and now operates similarly to the/f permcommand that was recently updated./f flag listshows a list of all the available flags/f flag managehas been added and has a clickable table for easy management of flags for a faction. A new permission nodefactions.flag.managehas been added./f flag showis now an alias for/f flag view- this command was renamed to be consistent with all the other similar commands/f flag viewis basically/f flag managebut you can't modify anything - it's just the "view" version of that table. It allows you to see all flags enabled/disabled for a faction.- Due to this rename, the permission was also renamed:
factions.flag.view
- Due to this rename, the permission was also renamed:
- In some cases the
/f perm managecommand would have incorrect click commands (when you were bulk managing ranks through/f perm manage ranksor bulk managing relationships through/f perm manage rels). When clicking the actions in that table, it would then show you the wrong table. This has been corrected. - Teams API Integration: The minimum version has been updated to 2.4.0. If you use any older versions of Teams API, it will not hook into Factions3 - please update.
- PlaceholderAPI updates:
- A new variant of modifier has been added. Previously, we had
lp,rp, andbp, which stood for "left padding", "right padding", and "both padding". They add a space to either the left, right, or both sides of a placeholder. A variant of these now exist:lpN,rpN, andbpN- whereNis a number. It will addNnumber of spaces in those cases. So if you wanted two spaces to the left of a placeholder, you could uselp2. - Note that the rules for how the modifiers work have not changed - just that you can now specify the number of spaces that should be added in those cases. Please see the Wiki for more details.
- A new variant of modifier has been added. Previously, we had
FactionsChat
- Teams API Integration: The minimum version has been updated to 2.4.0. This allows Faction Prefixes to work when using the Teams API integration. If you use any older versions of Teams API, it will not hook into FactionsChat - please update.
- PlaceholderAPI updates:
- A new variant of modifier has been added. Previously, we had
lp,rp, andbp, which stood for "left padding", "right padding", and "both padding". They add a space to either the left, right, or both sides of a placeholder. A variant of these now exist:lpN,rpN, andbpN- whereNis a number. It will addNnumber of spaces in those cases. So if you wanted two spaces to the left of a placeholder, you could uselp2. - Note that the rules for how the modifiers work have not changed - just that you can now specify the number of spaces that should be added in those cases. Please see the Wiki for more details.
- A new variant of modifier has been added. Previously, we had
CreativeGates
- You can now use Lava for CreativeGates in the Nether instead of Water
- This is controlled through the new setting
useLavaInNether. Note that this ONLY works ifusingWateris also enabled. Lava just takes the place of Water in the Nether.
- This is controlled through the new setting
- A safety check has been added to CreativeGates. If the exit location of a gate is blocked, we will not allow the player to go through. If there are other gates in the network, they will be taken to the next gate in sequence. Otherwise they will see a message letting them know that the gate is blocked.
- Horizontal Gates have been added to CreativeGates!
- This allows you to place gates on ceilings or floors.
- These will automatically be enabled by default. You can disable by setting
horizontalGatesEnabledtofalse. - By default, Horizontal Gates will preserve velocity when you go through them. This means that if you fall through a floor gate, you will go shooting out the receiving end gate (if it is also a horizontal gate). We do not (currently) preserve velocity if you are going out of a regular vertical gate (this may be added later!).
- Players will shoot out in the direction of the gate exit block. So when you create the gate, be sure to stand in the spot you want the gate to shoot the player out towards.
- This can be disabled by setting
horizontalGatesPreserveVelocitytofalse.
- You can think of this similar to the game
Portalin how the physics work. However, we do cap the velocity, so there is an upper limit to how fast/high you will shoot out of the gate on the other end. - Note that if the player is not going at a high enough velocity to clear the gate's area, they will not go shooting out and will just be placed at the gate exit block.
- Note that players will not take fall damage when they go shooting out of a horizontal gate.
- Note that Horizontal Gates will always use water/lava as Minecraft does not allow nether portal blocks to work in horizontal rotation.
- The teleportation sound is now configurable. This is done through the new
teleportationSoundsettings.- You can set
teleportationSoundto any valid sound found here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html - the default isENTITY_GHAST_SHOOT - You can modify the pitch and volume with
teleportationSoundPitchandteleportationSoundVolume
- You can set
- Bug Fixes:
- In some cases, the teleportation sound was not playing correctly. This has been fixed.
- Sometimes players would be taken to the Nether when using standard portal blocks in their gates instead of water. This occurred mainly when the player was in Creative mode. This should be fixed now.
- A longstanding bug (that has been around for years since before I took over maintenance of this) existed where item frames hanging nearby a portal would be broken when a portal was destroyed. This has been fixed.
Thanks to those who have reported issues and continue to support my plugins! Please continue to file issues or reach out to me if you experience problems!
v3.4.1
Overview
This is a hotfix release for v3.4.0. A bug was discovered with the FactionsChat PlaceholderAPI integration that was important functionality (related to our custom modifiers functionality).
No other changes in this release.
Thanks to those who have reported issues and continue to support my plugins! Please continue to file issues or reach out to me if you experience problems!
v3.4.0
Overview
I decided to finally "officially" release everything. All plugins have been stable for quite some time now with these alpha releases, and slowly have had new features added. Servers have been using them to great success. So I felt it's in a good place to make an official release and just continue to expand from here. I will continue to release updates and add new features, and I may release alpha versions here and there. Please continue to reach out if you experience any issues or problems.
Changes/Features
General
- This repository has been updated slightly so each plugin also now has a standalone "sub-repository" in my GitHub account. This repository will live as the main source of truth for current work, issues reported, etc. The sub-repositories will only contain officially released code and will be kept up to date with this repository.
- Please continue to file issues in this repository. I will accept issues for FactionsChat in its sub-repository (mainly because FactionsChat functionality has been expanded to other Factions plugins and no longer requires MassiveCore, so it makes sense to keep it a little more separate than the others).
- Releases will only be published here (the exception is FactionsChat, as I will release those in the FactionsChat repo as well - again, due to the fact that is has been expanded in this release).
Factions
- New Integration: Factions now integrates with Teams API. Teams API is a new API that aims to provide a standardized interface for "teams" plugins (plugins such as Factions, where players join teams). This will allow for additional integrations in the future, where if a plugin integrates with Teams API and a server owner installs Teams API alongside Factions, that will immediately make the integrating plugin compatible with Factions.
- Enderpearl Clipping exploit prevention has been improved further.
- In scenarios where a clip was detected, the teleport would previously be cancelled, and the pearl was still consumed. This is no longer the case - attempts will be made to still perform the teleport but corrected to prevent clipping into other Factions' claimed land. If a scenario occurs where the teleport cannot be adjusted to fix a potential clip scenario (which should be much less common now as it is), the player will now receive a message letting them know that the enderpearl teleport could not be completed, and their pearl will not be consumed.
FactionsChat
This release had several major FactionsChat features added. Please note that I did a major refactor of the internals of FactionsChat to support some of these new features. You should not notice any major changes to the way FactionsChat works in general, but please Submit an Issue if you do run into any problems.
- FactionsChat now functions as a standalone plugin.
- If you wish to use FactionsChat without Factions (or MassiveCore), it now works in a reduced "standalone" mode. Factions-related channels are not available in this mode, but the other channels (staff, global, local, world), other features (color/format code parsing, discord integration, etc.) still function and are available.
- When using FactionsChat in standalone mode, the chat command is not registered as
/f chat(or/f c), it is simply/chat(or just/cfor short).
- FactionsChat now supports additional Factions plugins.
- Official support has been added for:
- PvPIndex-Factions
- Any Factions plugin that integrates with Teams API
- Unofficial support has been added for:
- Any Factions plugin that integrates with FactionsBridge
- Please note that we have not tested this. If you use FactionsChat with a flavor of Factions through FactionsBridge and you encounter issues, please Submit an Issue
- Official support has been added for:
- Placeholder API updates:
- If you use my version of Factions (Factions 3 Renewed), the placeholders are unchanged and still referenced via:
factions_chat_*. This is because I hook directly into the Factions Placeholder API integration. - If you use any other Factions plugin or run FactionsChat in standalone mode, the placeholders are registered as:
factionschat_chat_*. This is because it is registered in "standalone" mode, where we are not hooking directly into the Factions placeholders and are instead registering the placeholder separately.
- If you use my version of Factions (Factions 3 Renewed), the placeholders are unchanged and still referenced via:
- Quick Chat improvements:
- Quick Chat will now no longer error when an invalid chat mode has been entered. This allows for more flexibility. For instance, prior to this, if you typed ":)" in chat (a smiley face) or any other emoticon that started with a colon for that matter, you would get an error that ")" was not a valid chat mode. This will no longer be treated as an attempt to use quick chat and will instead now relay to normal chat.
- If you would like it to still error on invalid modes, you can re-enable that functionality with the new config setting:
ChatSettings.QuickChat.ErrorOnInvalidMode- this should be in yourconfig.ymlwhen you install the new version of FactionsChat.
- If you would like it to still error on invalid modes, you can re-enable that functionality with the new config setting:
- The "prefix" for Quick Chat can be changed from a colon to any other character. This can be changed with the new config setting:
ChatSettings.QuickChat.Prefix.
- Quick Chat will now no longer error when an invalid chat mode has been entered. This allows for more flexibility. For instance, prior to this, if you typed ":)" in chat (a smiley face) or any other emoticon that started with a colon for that matter, you would get an error that ")" was not a valid chat mode. This will no longer be treated as an attempt to use quick chat and will instead now relay to normal chat.
- MiniMessage improvements (Paper only):
- Due to the way some other plugins handle legacy color/format codes alongside MiniMessage, handling of scenarios where players may mix legacy codes with MiniMessage has been improved. This should hopefully prevent some issues with other plugins that interact with Chat.
- If other plugins modify a chat message before it reaches FactionsChat, we will now honor those modifications before making additional modifications.
- FactionsChat now integrates with bstats and usage will be logged. You are always welcome to opt out through the bstats folder in your plugins list, but it is very helpful for me to know what types of servers are using FactionsChat, so I would kindly ask you to reconsider opting out of that. Metrics tracking helps all plugin developers! No identifiable information about servers is captured, only server version, plugin version, integration version and similar generic statistics. It also has almost no impact on server resources.
Bug Fixes
FactionsChat
- An error would be encountered when running any FactionsChat administrative commands from the console. These should now function as expected.
- Some commands would show a generic "How to use" text when you issued the command, despite using the proper syntax. This should now function as expected.
Known Issues
MassiveCore
- Starting with Paper 1.21.7, a warning will be displayed in the console upon player login about usage of PlayerLoginEvent. Paper has decided to deprecate this in favor of a new protocol. We are aware of this and will be implementing the new protocol into MassiveCore in a future build. Note that this does not apply to servers running Spigot.
FactionsChat
- The new integration with Teams API has one limitation, which is that Teams API does not currently expose the Faction Rank/Role prefixes. I have filed an issue with the maintainer of Teams API suggesting this support be added. This will be implemented into a future release of FactionsChat if/when that is made available through Teams API.
Thanks to those who have reported issues and continue to support my plugins! Please continue to file issues or reach out to me if you experience problems!
v3.4.0 ALPHA-14
Overview
This alpha release fixes some bugs and adds a few quality of life features.
Changes/Features
General
- Support has been added for MC 26.1.2. Supported versions are now: MC 1.21.4 - MC 26.1.2
- Additional work has been done on the wiki website. I will continue to update this and work on it with time. You can check it out here: https://factions.wiki
- All plugins have received official logos - check them out on the wiki!
MassiveCore
- Added a version check feature. When new versions of the MassiveCraft plugins in this repository are available, you will see a message in the console, as well as in-game.
- Removed code around sound effects (it was broken and not used anymore in any of the MassiveCraft plugins) - this change should not be visible to any players, but if developers were using this API, please note it will break with this release.
- We now relocate Gson inside the MassiveCore library, which is a dependency MassiveCore and the MassiveCraft plugins use. This is not a user-facing change, just a note because it is a critical component of all MassiveCore usage.
- IMPORTANT: Please ensure you install the new MassiveCore version along with the other plugins you use! Otherwise you will encounter issues. You should do this for every release, but it is extremely important this release especially.
Factions
- The
/f permcommand has been greatly enhanced/reworked. The perm "table" has been restored from Factions 1/2 (if you are familiar with that experience), and greatly expanded in capabilities. This has not yet been fully documented in the wiki, so here is how this now works:- New
/f perm manage [relation/faction/rank/player] [faction]command which allows a click-GUI experience to toggle perms on/off in a table format. You can manage perms for:- All ranks (
/f perm manage ranks) - unless the faction has more than 6 ranks - All relations (
/f perm manage rels) - Individual ranks, relations, factions, or players (
/f perm manage Leader,/f perm manage Ally,/f perm manage SafeZone,/f perm manage PlayerName)
- All ranks (
- The
/f perm viewand/f perm viewallcommands have been revamped to display in a table format just like the new/f perm managecommand/f perm viewwill show only directly granted perms (meaning perms granted through a different level are not displayed)/f perm viewallis basically the exact same as/f perm managebut without the "management" features, it's view-only. It will show all perms though for whatever you ask for, whether directly granted or implicitly granted
- The
/f perm listcommand has been slightly improved (additional information, better display) - The
/f perm showcommand has been renamed to/f perm inspect(show is now an alias though)
- New
- A new placeholder for the PlaceholderAPI integration have been added for displaying a live Faction Map in a scoreboard. Any scoreboard plugin that supports PlaceholderAPI can use this (i.e. Featherboard, AnimatedScoreboard, etc.)
- This placeholder can be configured with the new configuration settings that have been added:
placeholderMapWidth(the number of "squares" (chunks) wide the map placeholder will display - recommended to set to an odd number so there are an even number of chunks to the left/right of the player's position)placeholderMapHeight(the number of "squares" (chunks) tall the map placeholder will display - recommended to set to an odd number so there are an even number of chunks to the top/bottom of the player's position)placeholderMapColorWilderness;placeholderMapColorSafezoneplaceholderMapColorWarzoneplaceholderMapColorAllyplaceholderMapColorEnemyplaceholderMapColorNeutralplaceholderMapColorTruceplaceholderMapColorPlayerFactionplaceholderMapColorYou
- The new placeholder has been documented in the Wiki
- Here is an example of what you can do with this - the map updates as you walk around:
-
- This placeholder can be configured with the new configuration settings that have been added:
FactionsChat
- Quick chat has been reworked:
- Breaking change: The
/f c <channel> <message>syntax has been removed, in favor of a "prefix" syntax common in other chat plugins. Players now will enter:<channel> <message>. So simply a colon, followed by the name of the channel (or single-letter abbreviation, meaningfforfaction,aforally, etc.), and then the message they wish to send.- If players were used to that syntax, please alert them of the new syntax
- Breaking change: The
- Channel change can now be done using the colon-prefix syntax, as well as the
/f c <channel>command- Meaning, if you do
:<channel>as described above for the new quick chat syntax, but you do not specify a message, it will switch your channel to that channel.
- Meaning, if you do
- MiniMessage support has been added for servers running Paper
- Many new permissions have been added for this support. Please see the Wiki for a full list. Explore the new Chat Formatting documentation as well for all the new things that are supported.
- Due to the major flexibility (and potential security issues) this opens up, there is a new configuration option for blocking specific commands, if you enable players to send clickable commands in chat. This should hopefully prevent mishaps (giving OP to players you don't mean to).
- Mojang Chat Reporting is now officially supported and enabled by default for servers running Paper (you can disable this via the new
DisableChatReportingsetting).- Note: due to limitations with Spigot's chat APIs, we cannot enable chat reporting for Spigot. So regardless of this new setting, it will have no effect if you are running Spigot instead of Paper - all messages will be sent by the server. For the best experience, we recommend upgrading to Paper.
- Tweaked some internal functions of FactionsChat. Players shouldn't see any differences, but if you encounter any issues, please file an issue on GitHub.
MassiveBooks
- Adding configuration settings to translate ampersand color codes in book titles, authors, and pages, in case anyone does not want this feature (the feature for color code translation was added in the prior release, but it was not optional). See the documentation in the wiki for more details.
Developer API
- A new method has been added to the
BoardColldeveloper API. This has been documented in the Wiki, but here is a quick rundown of this addition:- Previously, if you wanted to get a Faction based off of a Bukkit
Location, you would have to use the MassiveCorePhysicalState (PS)utility like so:BoardColl.get().getFactionAt(com.massivecraft.massivecore.ps.PS.valueOf(location)); - A new convenience method now exists that will do the PS work for you, so you don't have to import that into your project. You can now simply do:
BoardColl.get().getFactionAt(<Location>);
- Previously, if you wanted to get a Faction based off of a Bukkit
Bug Fixes
MassiveCore
- The
/massivecore config showcommand works, but would log a console error. This has been fixed.
Factions
- With the enhancements to the
/f permcommand, the/f perm show(now/f perm inspect, withshowbeing an alias) command now works for the console, where it previously did not. - The
/f documentationcommand previously required warps to be enabled for the command to work. This has been fixed as it was not a true requirement to run that command. - Fixed an issue with the PlaceholderAPI integration where location-based placeholders were not working properly (placeholders that would change based on where the player was in the world). These should now work properly.
FactionsChat
- Fixed an issue with the DiscordSRV integration, where Faction chat (or other channels) would be mistakenly relayed to Discord when it should not have been (only in certain cases). This should no longer occur.
- Fixed an issue with the tab-complete when using the
/f c <channel>command, where aliases for channels would not appear in the tab-complete list.
MassiveBooks
- Fixing
/book authorand/book lockcolor code parsing -/book titlewould set a color code, and so would signing a book, but those two commands would not. They do now. Note that with the enhancements to add configuration settings for color code parsing, this update implements the requirement for those settings as well. - Added PlaceholderAPI as a "softdepend" (optional dependency) so that upon startup, a warning would not be presented in the console indicating placeholder use without declaring it in the plugin dependencies.
Known Issues
MassiveCore
- Starting with Paper 1.21.7, a warning will be displayed in the console upon player login about usage of PlayerLoginEvent. Paper has decided to deprecate this in favor of a new protocol. We are aware of this and will be implementing the new protocol into MassiveCore in a future build. Note that this does not apply to servers running Spigot.
IMPORTANT DISCLAIMER
This is an alpha release. We recommend exercising caution if considering running this in a production environment. Please test this in a test server before even considering deploying to your main production server! Also remember that bugs may exist - please file them in the Issues tab if you find them!
**Thanks to those who have reported issues and continue to test these...
v3.4.0 ALPHA-13
Overview
This alpha release fixes some bugs, adds a few quality of life features, as well as some new and improved integrations.
Changes/Features
General
- Additional work has been done on the wiki website, including the addition of MassiveBooks and MassiveHat to the documentation. I will continue to update this and work on it with time. You can check it out here: https://factions.wiki
Factions
- Adding a separate permission for boats/minecarts (vehicles)
- This allows separate control per faction of who can place/destroy vehicles (boats/minecarts) in faction land
- Adding a separate permission for lecterns
- This allows separate control per faction of who can take a book from a lectern
- Note that anyone can read a book on a lectern, the book just cannot be taken from the lectern based on this permission
- Improved the PlaceholderAPI integration
- Upon reloading of PlaceholderAPI, we properly re-register placeholders (we were technically doing this before, but in a somewhat "hacky" way - we now do it the correct way).
- We now return a list of all the supported placeholders when you run the
/papi infocommand for Factions (/papi info factions). - Added support for offline players for placeholder usage
- This was largely an internal change, so you shouldn't see any major differences with this for day-to-day usage. However, if you encounter any issues, please file an issue on GitHub.
FactionsChat
- Improved the PlaceholderAPI integration
- Upon reloading of PlaceholderAPI, we properly re-register placeholders (we were technically doing this before, but in a somewhat "hacky" way - we now do it the correct way).
- We now return a list of all the supported placeholders when you run the
/papi infocommand for Factions (note that FactionsChat placeholders are not registered as a separate placeholder integration, it is applied on top of the Factions placeholder integration, so you would run/papi info factionsto see both the list of Factions and FactionsChat placeholders). - Added support for offline players for placeholder usage
- This was largely an internal change, so you shouldn't see any major differences with this. However, if you encounter any issues, please file an issue on GitHub.
MassiveBooks
- Adding PlaceholderAPI support to MassiveBooks
- Placeholders will be saved in server books so that when a player receives that book via
/book giveor/book load, the placeholders will parsed for that player.
- Placeholders will be saved in server books so that when a player receives that book via
- Adding better color code support to MassiveBooks
- Due to the removal of the ability to use the section symbol in books (in MC 1.21.6), there was currently no way to add color to books without the usage of mods. MassiveBooks now will allow you to use standard ampersand (&) color and format codes to add color/formatting to your books. Note that the color will not be parsed until you sign/save the book. If you unlock the book, those color codes will be "unparsed" to allow you to edit them again.
- For a better experience, we still recommend using client-side mods over handling on the server. A good one is Scribble.
- Adding a new
/book givesilentcommand to give books without sending a message to the player- This is intended primarily for system automation - where upon joining the server, a player may be given a book, and it then gives them this book without sending them a message (keeping the experience of first joining "clean" so to speak).
- There is a separate permission for this command
massivebooks.givesilent
- Similar to the above, a new configuration setting has been added
suppressGiveMessageFromConsoleto suppress the give message sent to players for the regular/book givecommand when the console is the one giving the book. This serves a similar purpose as the newgivesilentcommand, but using a different approach. - Added the book "type" as Lore (meaning when the book is a server book, it will show in the book lore)
- This can be disabled with the setting
showBookTypeAsLore. This setting defaults totrue(enabled). This is in preparation for some upcoming planned features (we will be adding some additional "types" of books - this is being added to be able to more easily differentiate different types of books).
- This can be disabled with the setting
- Changing the
usingNewPlayerCommandsdefault setting tofalse- This setting runs commands when a new player joins the server - by changing this to false as the default though, this prevents servers from using this feature without knowing (as it has a default command it will run which may not be what all servers want).
- Note that this change only applies to new installations
- Some changes have been made to the underlying MassiveBooks structure/system in preparation for some upcoming planned features. You should notice no changes, but if you encounter any issues, please file an issue on GitHub.
Bug Fixes
Factions
- Removed the exploit prevention
handleNetherPortalTrap- This exploit prevention was causing issues with client-side lag and strange rendering of nether portals.
- Also, nether traps in the way they used to exist no longer exist, as Minecraft now allows using commands while standing in a nether portal. So players who may be stuck in a portal can simply teleport to spawn, a faction home/warp, etc. In other words, the original intent for this exploit prevention was no longer needed, so I opted to remove it entirely as it was no longer necessary.
CreativeGates
- Fixed an issue where wind charges would destroy active CreativeGates
- To mimic vanilla behavior of nether portals, wind charges no longer break/deactivate an active CreativeGate
- Note that TNT, Creeper, or Ghast explosions will still break a CreativeGate (mimicking vanilla behavior of nether portals)
MassiveBooks
- Fixing a feedback loop that could occur where written books would rapidly flash in the inventory
- Fixing an issue where unlocking a book would lose the title and author.
- The intent of unlocking was so you could lock it again and keep the original author/title, thereby allowing multiple administrators the ability to edit a book and not change the owner when saving it again. With this bug, it made that original functionality no longer possible.
- Fixing the
/book copycommand to work in both survival and creative (it was not working in creative)
MassiveHat
- Turtle helmets were not in the list of "normal" helmets - they have now been added for official support
- Fixing permission issues with aliases where players could not run MassiveHat commands via aliases (the aliases have been reworked)
- NOTE: With this change, the settings for configuring the aliases have been renamed - if you had these aliases configured previously, you will need to reconfigure them. Here are the new configuration settings:
- aliasesMassiveHat - this is list of aliases for the main
/massivehatcommand. - aliasesMhat - this is the list of aliases for the
/mhatcommand (/mhatis the direct alias for/massivehat use, default aliases are/usehat,/blockhat,/hat) - aliasesHatUse - this is the list of aliases for the
usesub-command (/massivehat use,/massivehat wear, etc.) - aliasesHatConfig - this is the list of aliases for the
configsub-command (/massivehat config) - aliasesHatversion - this is the list of aliases for the
versionsub-command (/massivehat version)
- aliasesMassiveHat - this is list of aliases for the main
- NOTE: With this change, the settings for configuring the aliases have been renamed - if you had these aliases configured previously, you will need to reconfigure them. Here are the new configuration settings:
Known Issues
MassiveCore
- Starting with Paper 1.21.7, a warning will be displayed in the console upon player login about usage of PlayerLoginEvent. Paper has decided to deprecate this in favor of a new protocol. We are aware of this and will be implementing the new protocol into MassiveCore in a future build. Note that this does not apply to servers running Spigot.
IMPORTANT DISCLAIMER
This is an alpha release. We recommend exercising caution if considering running this in a production environment. Please test this in a test server before even considering deploying to your main production server! Also remember that bugs may exist - please file them in the Issues tab if you find them!
Thanks to those who have reported issues and continue to test these alpha builds!
v3.4.0 ALPHA-12
Overview
This alpha release fixes some small bugs, adds a few quality of life features, as well as some new and improved integrations. These updates were primarily to Factions and FactionsChat - no new updates in any of the other plugins in this alpha build.
Changes/Features
General
- Additional work has been done on the wiki website. I will continue to update this and work on it with time. You can check it out here: https://factions.wiki
MassiveCore
- Fixed a small issue with date parsing that was affecting Factions. In the
/f showcommand, the "age" text did not have spaces. For example:- 6months, 3weeks and 6days
- Is now: 6 months, 3 weeks and 6 days
Factions
- Added a new
/f colorcommand. This allows setting a faction primary and secondary color.- New permissions have been added for this command:
factions.colorfactions.color.setfactions.color.resetfactions.color.show
- Currently the faction color is only in use by map integrations. In the future this may be used in other places throughout the plugin.
- New permissions have been added for this command:
- Greatly expanding map integration support:
- Fixing/Improving Dynmap integration:
- In testing, it was discovered that the built-in Dynmap integration was not working. This was a bare bones integration as it was, but it appears it was not working as intended. As a result, it has been fixed, but in addition, it has been greatly expanded. All features of the addon plugin "Dynmap-Factions" have been implemented into Factions directly. Improvements have also been made to the algorithm that displays the claims so that claimed land with holes displays correctly.
- The configuration settings for this integration were renamed (all map integrations now use the same config settings as they all operate similarly - the settings are no longer specific to Dynmap). If you were using these settings previously, you will need to re-configure them.
- The wiki has been updated with all supported features and setup. Check it out here: https://factions.wiki/Factions/admin-guide/integrations/dynmap
- Adding an integration for BlueMap
- The wiki has been updated with all supported features and setup. Check it out here: https://factions.wiki/Factions/admin-guide/integrations/bluemap
- Adding an integration for Pl3xMap
- The wiki has been updated with all supported features and setup. Check it out here: https://factions.wiki/Factions/admin-guide/integrations/pl3xmap
- Adding an integration for SquareMap
- The wiki has been updated with all supported features and setup. Check it out here: https://factions.wiki/Factions/admin-guide/integrations/squaremap
- The map integrations can be enabled via their individual "enabled" configuration setting (
dynmapEnabled,blueMapEnabled, etc.)
- Fixing/Improving Dynmap integration:
- Adding a chunk cost scaling (multiplier) feature.
- This is controlled with the new setting
econChunkCostMultiplier. By configuring this setting, you can allow the price per chunk to scale per claim. This is useful for when you want to charge a higher price the more chunks a faction claims. For example:- If the base price per chunk is 100 and the multiplier is 0.5, then the price per chunk would increase by 50 for each chunk claimed.
- The multiplier can be configured for all types of chunk changes (BUY, SELL, CONQUER, PILLAGE) - this would allow different amounts for different actions (making conquering cheaper than buying, making selling not reimburse as much as the land was bought for, etc.)
- For technical purposes, if you wish to know how this works, the calculation is as follows:
econChunkCost + (econChunkCost * econChunkCostMultiplier * ownedChunks)- Using the previous example, this means if the base price was 100 and the multiplier was 0.5, then the second chunk would cost 150, the third chunk would cost 200, and so on.
- This is controlled with the new setting
- Fixing faction land pillaging:
- It was discovered that land pillaging was not working. Pillaging is a feature that allows an enemy faction to do
/f unclaimwhile in enemy territory (when that enemy does not have enough power to maintain their land). This then "pillages" the land, selling it directly to wilderness. Rather than the enemy faction taking ownership of the land (conquering), they instead get the monetary value of what that land is worth, based on the configuration ofeconChunkCostandeconChunkCostMultiplier. - Because pillaging can potentially be exploited (depending on your configuration of
econChunkCostandeconChunkCostMultiplier), this feature must be explicitly enabled using the newunclaimingFromOthersAllowedsetting. Please exercise caution and perform testing to make sure you do not mistakenly enable an exploit when enabling this feature (where players could pillage the land for more than it costs to buy it, for example).
- It was discovered that land pillaging was not working. Pillaging is a feature that allows an enemy faction to do
- PlaceholderAPI integration fix:
- The
factions_faction_money_balanceplaceholder was not displaying the correct format. No dollar sign, and no standardization of decimal places. It now displays with a dollar sign and always with two decimal places. - A new placeholder
factions_faction_money_balance_rawhas been added which will display in the old format (the raw version of the faction money balance).
- The
- Fixing an error that could occur with boats or minecarts in faction territory and would cause console spam error messages.
FactionsChat
- Fixing an issue where players who were muted via Essentials or other plugins were still able to chat normally.
- Fixing an issue with PlaceholderAPI where if you ran the
/papi parsecommand, it would break FactionsChat formatting. - Fixing an issue with DiscordSRV integration where if you are not using the staff chat channel or the ID is mis-entered, it would cause an error in the console on chat.
Known Issues
MassiveCore
- Starting with Paper 1.21.7, a warning will be displayed in the console upon player login about usage of PlayerLoginEvent. Paper has decided to deprecate this in favor of a new protocol. We are aware of this and will be implementing the new protocol into MassiveCore in a future build. Note that this does not apply to servers running Spigot.
IMPORTANT DISCLAIMER
This is an alpha release. We recommend exercising caution if considering running this in a production environment. Please test this in a test server before even considering deploying to your main production server! Also remember that bugs may exist - please file them in the Issues tab if you find them!
Thanks to those who have reported issues and continue to test these alpha builds!
v3.4.0 ALPHA-11
Overview
This alpha release adds official support for Minecraft 1.21.11. Some small bug fixes and quality of life features have also been added.
This release also now includes builds of MassiveBooks and MassiveHat, updated to support the latest versions of Minecraft! Tested on versions 1.21.4 - 1.21.11.
Changes/Features
General
- All plugins have been tested on Minecraft 1.21.11.
- Additional work has been done on the wiki website. I will continue to update this and work on it with time. You can check it out here: https://factions.wiki
MassiveCore
- There were some breaking changes with the latest version of Paper to Gson, one of the libraries used throughout the MassiveCraft plugins. Some refactoring was done to resolve this. This has increased the size of the MassiveCore file. You will need this new version of MassiveCore! Please be sure to install it with the new versions of Factions and any other MassiveCraft plugins you are using. (As a rule of thumb, it is best to always use the latest version of MassiveCore with the latest versions of the MassiveCraft plugins.)
- Updates were made to support MassiveBooks and MassiveHat.
- Some changes have been made to the internals of MassiveCore. Nothing that should affect players, but please continue to report any issues or bugs found on the Issues page.
- For anyone interested in technical details, I have been working on removing unnecessary NMS usage from MassiveCore. I will continue to work on this as time permits.
Factions
- Added support for new MC 1.21.11 mobs
- Some changes have been made to the internals of Factions. Nothing that should affect players, but please continue to report any issues or bugs found on the Issues page.
- For anyone interested in technical details, I have been working on removing unnecessary NMS usage from Factions. I will continue to work on this as time permits.
MassiveBooks
- This marks the official release of MassiveBooks, ported to modern Minecraft. This is a plugin that aims to add features to books, including better displaynames, copying books, unlocking locked books for more editing, and more!
- I have not yet added documentation for this plugin to the wiki, but I will try to get that added ASAP. In the meantime, check out the legacy docs on archive.org:
- As this is the first official modern release of MassiveBooks and we don't have any servers using it yet, there may be bugs. If you would like to be an alpha tester for us, please reach out! Please also continue to report any issues or bugs found on the Issues page.
MassiveHat
- This marks the official release of MassiveHat, ported to modern Minecraft. This is a very simple plugin for using any item as a hat.
- I have not yet added documentation for this plugin to the wiki, but I will try to get that added ASAP. In the meantime, check out the legacy docs on archive.org:
- As this is the first official modern release of MassiveHat and we don't have any servers using it yet, there may be bugs. If you would like to be an alpha tester for us, please reach out! Please also continue to report any issues or bugs found on the Issues page.
Known Issues
MassiveCore
- Starting with Paper 1.21.7, a warning will be displayed in the console upon player login about usage of PlayerLoginEvent. Paper has decided to deprecate this in favor of a new protocol. We are aware of this and will be implementing the new protocol into MassiveCore in a future build. Note that this does not apply to servers running Spigot.
MassiveBooks
- There is an issue with Paper where stacked books can in some cases be stacked to the incorrect stack size. This is a Paper bug and is not a bug with MassiveBooks. As such, this issue does not occur on Spigot servers. We will keep you updated on when a fix has been released for Paper. Check back on these release notes (I will update the notes when we see a fix has been made).
IMPORTANT DISCLAIMER
This is an alpha release. We recommend exercising caution if considering running this in a production environment. Please test this in a test server before even considering deploying to your main production server! Also remember that bugs may exist - please file them in the Issues tab if you find them!
Thanks to those who have reported issues and continue to test these alpha builds!
v3.4.0 ALPHA-10
Overview
This alpha release adds official support for Minecraft 1.21.10. Some small bug fixes and quality of life features have also been added.
No changes were made to CreativeGates in this version from the previous alpha build, however, a build is still provided.
Changes/Features
General
- All plugins have been tested on Minecraft 1.21.10. There were no actual changes needed to support this version from 1.21.9, but it has now been tested.
- Logos in the repo have been updated with new logos used in the Wiki.
- Additional work has been done on the wiki website. I will continue to update this and work on it with time. You can check it out here: https://factions.wiki
Factions
- Additional placeholders have been added to the PlaceholderAPI integration. The list of supported placeholders is now quite extensive. Check out the complete list on the wiki
- A new config option
foundedDateFormathas been added - this sets the date format that displays when displaying the founded date of a faction. It defaults toyyyy-MM-dd. This is currently used only with the new founded date placeholder. This follows the JavaSimpleDateFormatstandards, which you can find here: https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/text/SimpleDateFormat.html - It was discovered that Factions was hard-coded so that neutral players could not be damaged in their own territory. This was being exploited to give neutral factions an unfair advantage (treating them more like friendly factions). A new
enablePVPAgainstNeutralInTheirTerritoryconfig setting has been added. It defaults totrue, to treat neutral players more like enemies (they will be able to be hurt in their own territory). This is a change to default functionality. Admins can set this new setting tofalseif the old functionality is preferred, and neutral players will no longer be able to be hurt like before. - A bug with faction enemy/ally relationships has been fixed. This was an issue where in certain cases, an enemy faction could become allies with a faction without said faction's approval. This could happen infinitely, which allowed for faction relationship exploits (enemy the faction, raid their land, ally them), and the other faction would not know how it occurred as they are not notified of the relationship status changes. It looks like this bug has existed for a long time but required a specific setup to replicate. This exploit is no longer possible so now when enemying a faction, both factions must approve to become allies.
- Enderpearl exploit prevention has been further improved. Specifically, the
handleExploitEnderPearlClippingsetting was not handling doors, trapdoors, or fence gates. There were several ways discovered that you could clip through any type of "door" with enderpearls. This update accounts for these scenarios and further improves this exploit prevention. - The Compatibility Layer with legacy factions plugins has been updated to account for recent changes to other Factions plugins. Please remember that this compatibility layer is not officially supported and is largely untested. Please encourage plugin developers to implement true MCore Factions support.
FactionsChat
Several new commands and features have been added, as well as a few bug fixes. The wiki has been updated with these new features, so check it out if you want to see full details about any of these:
- A new
/f c helpcommand has been added to allow players to get help with the various FactionsChat commands/features they can access. - A new
/f c togglecommand has been added to allow players to toggle (enable/disable) specific chat modes (channels). A corresponding permission node has also been added (factions.chat.toggle), as well as an admin permission node (factions.chat.toggle.admin). - A new
/f c ignorecommand has been added to allow players to ignore other players. A corresponding permission node has also been added (factions.chat.ignore), as well as an admin permission node (factions.chat.ignore.admin).- It should be noted that the new permission node added for this command also provides access to the
unignorecommand, and theignorelistcommand. See below.
- It should be noted that the new permission node added for this command also provides access to the
- A new
/f c unignorecommand has been added to allow players to unignore other players. The permission node added for theignorecommand also gives access to theunignorecommand. - A new
/f c ignorelistcommand has been added to allow players to see what other players they are currently ignoring. The permission node added for theignorecommand also gives access to theignorelistcommand. - A new permission
factions.chat.ignore.bypasshas been added which allows a player to bypass the ignore list of other players (if you want admins to never be able to be ignored for instance - granting this permission to said admins will prevent regular players from ignoring those admin players). - Some changes were made to the internals of FactionsChat to improve the
/f c reloadcommand. This is not user-facing, but is just being noted in case you see any issues with that command to reload config changes. - Some changes were made to the internals of FactionsChat to improve updates to the
config.ymlfile. Anytime updates are made upon new version upgrades, we will make a backup of the old file before updating to the new file. Old settings will also be retained upon update. There should be no issues with this change, but this is being noted in case you do see any issues with the config file. - Fixing a file access race condition bug that can occur when loading the plugin for the first time.
MassiveCore
- A small update to MassiveCore was made that updates the website link on the
/massivecore versioncommand.
Known Issues
MassiveCore
- Starting with Paper 1.21.7, a warning will be displayed in the console upon player login about usage of PlayerLoginEvent. Paper has decided to deprecate this in favor of a new protocol. We are aware of this and will be implementing the new protocol into MassiveCore in a future build. Note that this does not apply to servers running Spigot.
IMPORTANT DISCLAIMER
This is an alpha release. We recommend exercising caution if considering running this in a production environment. Please test this in a test server before even considering deploying to your main production server! Also remember that bugs may exist - please file them in the Issues tab if you find them!
Thanks to those who have reported issues and continue to test these alpha builds!
v3.4.0 ALPHA-9
Overview
This alpha release adds official support for Minecraft 1.21.9. Some small bugs and quality of life features have also been added.
No changes were made to CreativeGates or FactionsChat in this version from the previous alpha build, however, a build is still provided.
Changes/Features
General
All plugins have been tested on Minecraft 1.21.9. Some updates were made to Factions to support the new Minecraft features, but the other plugins should continue working and did not require any updates.
Additionally, work has been done on the wiki documentation. Primarily of Factions. It is still under construction, but you can check it out here: https://factions.wiki
Factions
- Spigot/Paper 1.21.9 support has been officially added. All new block types and entities should be properly protected in faction land. Please file an issue if you experience any problems. The main noticeable new blocks that are now protected include:
- Copper Doors (all oxidized and waxed variants)
- Copper Trapdoors (all oxidized and waxed variants)
- Copper Chests (all oxidized and waxed variants)
- Improved pressure plate protection:
- Triggering of pressure plates via dropped items is now properly protected in faction land.
- Triggering of pressure plates via tamed animals (i.e. wolves, cats, etc.) is now properly protected in faction land
- Triggering of pressure plates while riding another entity (i.e. pigs, horses, etc.) is now properly protected in faction land
- Triggering of pressure plates via leashed mobs is now properly protected in faction land
- Triggering of pressure plates via projectiles (i.e. arrows, etc.) is now properly protected in faction land
- Reduced "cannot use" message spam that could occur in some cases.
- Improved button protection:
- Triggering of buttons via projectiles (i.e. arrows, etc.) is now properly protected in faction land.
- Improved armor stand protection:
- Adding/removing of armor pieces is now properly protected in faction land (before only destruction of the armor stand was being protected)
- Adding wind charge protection support:
- Blocks that can be triggered via wind charges (i.e. doors, buttons, etc.) are now properly protected in faction land.
- This uses the corresponding permission to determine if players are allowed to trigger those items via wind charges (for example, if a player cannot use buttons, but they can use doors, then they will not be able to trigger a button with a wind charge, but they could open a door with a wind charge).
- Blocks that can be broken via wind charges are now properly protected in faction land.
- This uses the "build" permission to determine if players are allowed to break these blocks.
- Please note that combat-related usage of wind charges is not protected (players will be knocked back if a wind charge is thrown at them, and players can use wind charges to cause knockback on themselves, such as to jump high).
- The only exception to this is if explosions are disabled in faction land entirely. Wind charges fall under the category of explosions and would be completely prevented at that point.
- Blocks that can be triggered via wind charges (i.e. doors, buttons, etc.) are now properly protected in faction land.
- Adding protection against a certain ender pearl block exploit.
- The solution to this exploit was to add a short (default 1 second) cooldown to using ender pearls after breaking blocks. New configuration settings have been added for the duration of that cooldown as well as enabling/disabling of that exploit.
- Fixing bug with
/f seechunkcommand where the particles that are spawned in the world are visible to all players. They should now be visible only to the player who activated the command.
Known Issues
MassiveCore
- Starting with Paper 1.21.7, a warning will be displayed in the console upon player login about usage of PlayerLoginEvent. Paper has decided to deprecate this in favor of a new protocol. We are aware of this and will be implementing the new protocol into MassiveCore in a future build. Note that this does not apply to servers running Spigot.
IMPORTANT DISCLAIMER
This is an alpha release. We recommend exercising caution if considering running this in a production environment. Please test this in a test server before even considering deploying to your main production server! Also remember that bugs may exist - please file them in the Issues tab if you find them!
Thanks to those who have reported issues and continue to test these alpha builds!
v3.4.0 ALPHA-8
Overview
This alpha release fixes some bugs and adds some small quality of life features.
Changes/Features
Factions
- The
/f home,/f sethome, and/f unsethomecommands (which previously existed but were hidden from tab-complete) are no longer hidden from tab-complete. These commands are aliases for the/f warpcommand to provide an easier way to interact with thehomewarp. They already existed, but they would not show up in the list of commands for players to use. - Added an alias for
/f unsethomecalled/f delhome(to match the original Factions command that some may be more familiar with). - Adding missing mangrove doors, fence gates, and trapdoors to list of door types to protect in faction land. These were missed when we updated the door protection logic to protect all the new wood types from recent years.
CreativeGates
- Adding a new configuration option to disable gate creation on a per-world basis.
- A new permission has been added to allow players to bypass disabled world gate creation (to enable specific players to still create gates in a world that in general does not allow this). The new permission is
creativegates.create.bypassdisabled. - This new configuration does not prevent usage in those worlds, only creation. This allows for the scenario where an admin who has the bypass permission could create server gates which players can use, but players themselves cannot create their own gates in that world.
- A new permission has been added to allow players to bypass disabled world gate creation (to enable specific players to still create gates in a world that in general does not allow this). The new permission is
- Fixing bug with duplicate alias config values being put into the CreativeGates config file. This would occur on server shutdown, where the aliases would get added again to the file even though they already existed. It did not cause any issues with the plugin as far as we could tell, it just made the file messy.
- After you update to this version, your config file will be cleaned up upon the next server shutdown (the duplicate values will be removed).
- Fixing bug with placement direction (where the gate would spawn with the portal blocks facing the wrong direction).
MassiveCore
- Implemented new methods into the
InventoryUtilto support better handling of main-hand/off-hand item usage. Deprecated old methods. If any external plugins are using the old methods for interacting with player inventories (specifically related to looking at items being held by the player in their hands), it is recommended to switch to the new methods. The old methods will be removed in a future release which could cause breaking changes.
Known Issues
MassiveCore
- Starting with Paper 1.21.7, a warning will be displayed in the console upon player login about usage of PlayerLoginEvent. Paper has decided to deprecate this in favor of a new protocol. We are aware of this and will be implementing the new protocol into MassiveCore in a future build. Note that this does not apply to servers running Spigot.
IMPORTANT DISCLAIMER
This is an alpha release. We recommend exercising caution if considering running this in a production environment. Please test this in a test server before even considering deploying to your main production server! Also remember that bugs may exist - please file them in the Issues tab if you find them!
Thanks to those who have reported issues and continue to test these alpha builds!