Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: implements mace item #6468

Open
wants to merge 5 commits into
base: stable
Choose a base branch
from
Open

feat: implements mace item #6468

wants to merge 5 commits into from

Conversation

AzaleeX
Copy link

@AzaleeX AzaleeX commented Oct 20, 2024

Introduction

Added a new weapon class, the Mace, which functions both as a tool and a weapon with specific properties. This implementation includes changes to the item serialization system and new constants to support the Mace.

https://minecraft.wiki/w/Mace

Relevant issues

  • No specific issues mentioned.

Changes

API changes

Added API for the Mace weapon in several files, including ItemSerializerDeserializerRegistrar.php and ItemTypeIds.php.

Behavioural changes

Introduced the behaviour of the Mace, which has a 1.5x faster mining rate when used on blocks, and takes damage when attacking entities or breaking blocks.

Backwards compatibility

  • No noted backwards-incompatible changes.

Screenshot

image

Note

Don't worry i also implement the compass recovery
image

Follow-up

Prepare unit tests or in-game playtesting sessions to confirm that the Mace functions as intended.

Caution

What's missing at the moment is item crafting and the main function for calculating damage based on the height of an entity.

I tested this PR by doing the following (tick all that apply):

  • Writing PHPUnit tests (commit these in the tests/phpunit folder)
  • Playtesting using a Minecraft client (provide screenshots or a video)
  • Writing a test plugin (provide the code and sample output)

@KnosTx
Copy link

KnosTx commented Oct 28, 2024

  1. Smash particles that increase per distance fallen
  2. Damage to the entity increased per distance fallen
  3. Knock back to nearby entities to the smashed entity
  4. The smash sounds shouldn't be played when breaking a block or normally hitting an entity. For example, the heavy smash is played when falling too high
  5. The player falling motion is reset when smashing something
  6. No sound implementation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants