Summary
It's been a while and this change is merely cosmetic, but it does fix one bug. Expect more changes as I prepare for 1.21.0.
- The Party Menu is now completely client side. See the technical changes for what's changed.
Bugfixes
- Fixed an issue where ESC would not remove focus from the party name box.
Technical Changes
Previously, the PartyScreen class extended AbstractContainerScreen. It handled all 3 versions (No Party, Member, and Leader) of the Screen.
This was undesirable as while it was compact and everything was in one place, it was almost unreadable because you had to navigate through hundreds of lines.
I discovered that you could just... use Screens as Screens instead of trying to do it with Menus and Container Screens.
So I made PartyScreen an Abstract Class with the logic that was used by at least 2 of the other screens, and made a Default Screen (No Party), Member Screen, and Leader Screen classes. This made the jar slightly larger, but the code is separate, deliberate, and much more logical both in terms of reading and structure.
This of course means that I had to repurpose all of the packets to support creating/leaving/disbanding a party from the client. Using a true Menu object, you could have the server side of the Menu execute trivial commands like those instead of handling it client side.
Overall, this is just a generally good change as it reduces the menus the server needs to keep track of. As we move towards 1.21.0 for Minecraft and 0.2.0 for the mod, these kind of optimizations will help keep the mod from taking up more resources than it needs to.
Summary
- Consolidated a number of networking packets into a generic packet, which reduces Mod size and further optimizes efficiency.
- This technically should be a Minor version bump, but you'd want to match server/client versions anyway. If anybody feels strongly about it I don't mind being more strict with my versioning.
Summary
- Full implementation of the Party System
- Updated NeoForge version to the Stable version for 1.20.4.
- Painting of the Mod Icon was added.
- Dash Cooldown Armor Penalties have been reworked, see the section for details.
- Added Help commands
- Fixed major Tick Issue, includes a Breaking Change to Player Attachments from previous stable.
Party System
A system that tracks you and your friends as you play together so you can better coordinate on your adventures.
Players will be able to use the Party Menu or Commands to create, join, and otherwise interact with this new system. Players will receive notifications via chat and via new Toasts to indicate the various Party System Events.
Party Menu
The menu consist of 3 pieces : The default, the member, and the leader versions of the menu.
Default Party Menu
- Allows a player to create a new party, join a party they were invited to, or decline a party invite.
- Declined party invites no longer provide a Toast Notification if you are invited again, but you can be re-invited.
Party Member Menu
- Displays the party name and all members of the party.
- Allows a member to leave the party.
- Shows a list of members, their online/leader status, and gives you the ability to teleport to them.
Party Leader Menu
- Has all of the Party Member Menu features,
- Allows the Leader to disband, or rename the party.
- Allows the Leader to promote or remove other Party Members.
Commands
/party create- Creates a new party./party leave- Leaves the current party, if part of one. If you are the leader, it will promote another member. If you are the only member, it will instead disband the party./party join <player>- Join a player’s party. This only works if you were invited./party rename <new_name>- Renames the current party to the new name. (Maximum length of 32 Characters)/party invite <player>- Invite a player to your party (so long as you are the leader and they are not in the party.)/party remove <player>- Remove a player from your party./party promote <player>- Promote another player to leader./party disband- Disbands the party, removing everyone from it and deleting it./party teleport <player>- Teleport to the location of a Player on your team. (1 Minute Cooldown)
Gui
- The Party GUI will display in the top left and indicate whether a player is online or offline, and what their current health is.
- Toasts will be shown in the top right to indicate the various events of the Party System.
Dash Cooldown Armor Penalties
- Converted from a hard-coded system for Dash Cooldown Armor Penalties to using the Tag System.
- Tags are found at
toukun:tags/items/light_armorandtoukun:tags/items/heavy_armor
Help Commands
/toukun help- Gives you details about all of the commands and hotkeys added in the mod./hearth help- Gives you details about the hearth commands, for Operators./party help- Gives you all of the party commands and their usages.
Bug Fixes
- Fixed an issue where cooldowns may not be copied on player Death for abilities.
- Fixed an issue where an animated texture had invalid frames.
- Discovered and fixed a Tick issue, see below.
Tick Issue
We had all cooldown type abilities running on ticks, but at both the start and end of any given tick. This has been remedied, but has some implications.
- Hearth Changes
- The cooldown for the Hearth ability has increased from a duration of 450 seconds (7.5 minutes) to 600 seconds (10 minutes)
- Breaking Change The hearth ability now only uses one player attachment, instead of two. This will reset all players to have no cooldown on update. This is expected.
- Dash Changes
- The default cooldown for the Dash ability has not changed in terms of seconds (1.5 seconds)
- Heavy armor now adds 5 ticks instead of 7.
- Light armor now adds 2 ticks instead of 3.
- Agility (enchantment) now reduces in the following ways.
- Level 1 reduces by 2 Ticks
- Level 2 reduces by 5 Ticks
- Level 3 reduces by 7 Ticks.
- All Dash Advancements have been adjusted to compensate.
Summary
- Added Help commands.
Help Commands
/toukun help- Gives you details about all of the commands and hotkeys added in the mod./hearth help- Gives you details about the hearth commands, for Operators./party help- Gives you all of the party commands and their usages.
Bugfixes
- Fixed an issue where the Party Command for renaming a party had no limit on the name length. This probably wouldn't have had any effect, but since I limited the Party Menu length I figured I would keep it matched here as well.
Summary
- Fixed an issue where a player who was offline and removed from the party was still left on the "Team" (the Minecraft Team System is leveraged to disable FF between players in a Party.)
- Fixed an issue where Dash Cooldown penalties for equipment could be additive if they were in both lists.
Summary
- Dash cooldown by armor type mechanics have been altered.
- Hearth cooldown has been changed from ticks and seconds to just ticks.
- The Hearth Icon has been updated.
Dash Cooldown
- The cooldown of the Dash ability is set by a base cooldown of 30 ticks (1.5s), and then an additional amount for each piece of armor based on a "weight" classification.
- Previously, the amount of cooldown each item added was determined by the Material it was used to craft it.
- This method was faulty; it worked just fine but was not in any way extensible.
- The solution was to make tags at
toukun:tags/items/light_armorandtoukun:tags/items/heavy_armor - This way, not only is the code simple and adjustable without a recompile, but these tags can now be extended by other mods.
Hearth Cooldown
- As this mod was originally based on a datapack, I had previously used a ticks score and seconds score to do cooldowns.
- Now that I have worked more on the system, I want to switch back to a simpler single number system.
- This is technically a breaking change, but the impact will be minimal.
Bug Fixes
- Fixed an issue with all Advancements related to Dashing, as they had not been updated with the tick update.
Summary
- All components of the Party Menu now are accompanied by appropriate Tooltips.
- The Party Menu indicator for the Party Leader has been made much more subtle.
- An additional Indicator has been added to the Party Menu to indicate whether a Party Member is Offline or Online.
- Improvements have been made to the Party Name Editor.
Issues Resolved
- Fixed an issue where the server was sending a joining Player incorrect Party Teleport data, causing a de-sync between the Client and the Server.
- Fixed an issue where the Party Menu would not update the new Party name if a player left, and then created a new party.
- Fixed an incorrect value being passed to the Teleport Cooldown Tooltip
Summary
- Teleport Commands added
- Teleport Functionality in menu added
Developer's Note
- This is the first of hopefully just a couple Release Candidates.
- Expect that there will be mostly textural and optimization changes on the way.
- My goal is to leave the release candidates out for at least a week to give me enough time to get some proper testing done and see if anybody using it is having any issues.
Party Teleport
- Allows players to teleport to their party members.
- Teleporting has a cooldown of 1 minute.
- Players may use the Party Menu or the command /party teleport <target>
Bugfixes
- Updated various animated textures that had issues.
- Found and solved a tick issue.
Tick Issues
We had all cooldown-type abilities running on ticks, but at both the start and end of any given tick. This has been remedied, but has some implications.
- The cooldown for the Hearth ability has increased from a duration of 450 seconds (7.5 minutes) to 600 seconds (10 minutes)
- Dash Changes
- The default cooldown for the Dash ability has not changed.
- Heavy armor now adds 5 ticks instead of 7.
- Light armor now adds 2 ticks instead of 3.
- Agility (enchantment) now reduces in the following ways.
- Level 1 reduces by 2 Ticks
- Level 2 reduces by 5 Ticks
- Level 3 reduces by 7 Ticks.
Summary
- Remainder of Party Menu implemented (Member, Leader)
Developers notes
- This marks the final feature to make the party system whole.
- Next steps are to implement a Party Teleportation system (what good is a party if you're not together?)
- The next release will be a beta, likely 0.1.0 Release Candidate 1.
- At that point, it will be feature complete and I'll looking for technical issues, optimizing the code, and fixing some UI elements that I'm not 100% pleased with.
Member Menu
- Shows Party Name and all members.
- A single Leave button lets a member leave the party.
Leader Menu
- Allows the editing of the party name.
- Members can be kicked or promoted.
- You can either leave or disband the party.
Bug Fixes
- Fixed the issue where a disbanded party invite could still be accepted.
Summary
- Party Menu Default (for a player with no party) has been fully implemented and is functional.
- All Party menu textures have been adjusted.
Party Menu - Default
- The default party menu allows a player to Create a new Party, join a Party they have been invited to, or ignore an invite to a Party they do not wish to join.
- Menu transitions to a Leader menu upon clicking Create.
- Menu transitions to a Member menu upon joining a Party.
- When clicking ignore, the invite is deleted locally, but the party ID is tracked.
- If you are invited to a party that you have previously ignored, you will still receive the invite, but no toast will appear (essentially silent).
- You may still change your mind and join a party you have previously ignored if you are invited again, as it will show up in the menu even though no toast has appeared.
Known Issues
- If a party becomes full, or a party disbands, players who received invites to that party may still try to join (and it will fail and clean itself up, but it's still not desirable.)
Summary
- Updated communication mechanism for party invites.
- Party invites are now tracked client side for use with the Party Menu interface.
- Party Menu Button (default 'O' key) is enabled, but the actual interface itself has no programming beyond the basic background graphics.
Summary
- Various fixes to the backend of the party system. Should run a little smoother.
- Added a painting of the Mod's Icon.
Summary
- Updated Neoforge version to Stable 1.20.4
- Made necessary adjustments for above API changes
- Modified online indicator texture for Party Gui
Summary
- Party System was Implemented (see below)
- Aid Menu Key was renamed to Party Menu Key
Note - Preview
This is a preview version. It was tested fairly well, but it is highly likely to have bugs or other issues. This is not the final implementation, but it was close enough to it that I wanted to put it out there and start getting feedback / more testing done outside of in development testing.
Party System
A system that tracks you and your friends as you play together so you can better coordinate.
Players will be able to use commands to create, join, and otherwise interact with this new system. Players will receive notifications via chat and via new Toasts, indicating that they have received an invite.
Commands
/party create- Creates a new party./party leave- Leaves the current party, if part of one. If you are the leader, it will promote another member. If you are the only member, it will instead disband the party./party join <playerNameHere>- Join a player’s party. This only works if you were invited./party rename <newNameHere>- Renames the current party to the new name/party invite <playerNameHere>- Invite a player to your party (so long as you are the leader and they are not in the party.)/party remove <playerNameHere>- Remove a player from your party./party promote <playerNameHere>- Promote another player to leader./party disband- Disbands the party, removing everyone from it and deleting it.
Gui
There are both a Gui that displays party member status, and Toasts that will display as events occur.
Party Gui
The GUI will display in the top left and indicate whether a player is online or offline, and what their current health is.
Bug Fixes
- Fixed an issue where the cooldowns for the mod abilities may not be copied on respawn.
Summary
- Added a painting of a very good boy.
Technical Changes
Added the menu keys for opening the 'Aid Menu' and the 'Quest Log'. Note that these are pending implementation, and the name of these keys and their default key may change as these systems are implemented.
- Aid Key is mapped to O under Multiplayer Category
- Quest Journal Key is mapped to J under the Interfaces Category
Summary
Basic improvements to how Staff Weapons work with enchantments, and some QOL for creative mode.
New Enchantments
Quick Casting
Reduces the casting time for Staff Weapons.
Spell Power
Increases the Power of Damaging Staff Weapons.
Quality of Life
- Creative mode players will no longer incur cooldowns on items that have them.
Summary
- Mage Staves have been added (Follows all normal material tiers, fires a small magic projectile.)
Bugfixes
- Fixed issue where Death Text informing the player of how many levels they lost was malformed.
Summary
- Added all existing items into relevant Creative Tab categories.
- Added Server Side config for Death Level penalty.
Summary
Bugfix for recipe generation
Bugfixes
- Fixed an issue where smelting Raw Silver / Silver Ore resulted in Silver Nuggets, not Silver Bars
Summary
Re-introduced Advancements that I had trouble getting working since my conversion from 1.20.1 to 1.20.4.



