Combat+ Core

Combat+ Core

Mod

The core library and compatibility layer for the Combat+ series.

Client and server EquipmentGame MechanicsLibraryUtility

3,429 downloads
1 follower
Created3 months ago
Updated3 months ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

Combat+ Core

Combat+

This is the core library mod and compatibility layer that allows the Combat+ series to function with an extremely high level of inter-mod compatibility.

View the collection on Modrinth here.

API Information

The library adds a number of utility methods and interfaces that make it easier to add unique weapons and enchantments to the game.

Any mod that makes use of these will be compatible with the Combat+ series.

Interfaces

  • Melee Weapon
    • Used for any melee weapon.
    • Provides callbacks that trigger for fully charged attacks, critical attacks, and killing.
    • Must implement a damage value.
  • Dual Weapon
    • Inherit from Melee Weapon, used for weapons which could be wielded in either hand and may support game-changing offhand enchantments.
    • Additionally contains a method for offhand damage.
  • CPCEnchantment
    • Offers hooks for enchantments to perform actions for fully charged hits, critical hits, and killing.
    • Offers a more advanced version of damage, where an enchantment of any slot can contribute to the damage bonus.

Enchantment Types

An item can only have one enchantment of each category (not including offhand enchantments).

  • Additional Damage
    • A more advanced version of vanilla damage enchantments.
    • Any enchantment technically can increase damage, but this should mostly be done by Additional Damage enchantments unless there is a special circumstance.
    • Additionally incompatible with vanilla's Damage Enchantments.
  • Weapon Utility
    • Enchantments that add some additional utility function to a weapon, or otherwise enhance its existing effects.
    • Sweeping Edge would be a Weapon Utility.
  • Aspect
    • Enchantments that modify the state of the user or the target on hit.
    • Fire Aspect would (obviously) be an Aspect.
  • Offhand
    • A misc group that is intended to apply to offhanded weapons.
    • Largely incompatible with the other groups.

Datapack Information

To improve compatibility with mods outside of the Combat+ ecosystem, a series of datapack tags are available.
These tags are considered in various features of Combat+, such as eligibility for enchantments.

Item Tags

  • combat-plus:melee_weapon
    • These items are considered unimplemented Melee Weapons and will be eligible for enchantments that target Melee Weapons.
  • combat-plus:dual_weapon
    • This tag is included in the melee weapon tag.
    • These items will be considered unimplemented dual weapons and will be eligble for relevant enchantments.
  • combat-plus:breaks_shields
    • These items can break shields.

Enchantment Tags

There is a corresponding tag for each enchantment type. This can be used by other modders or modpack makers to categorise other enchantments into the four groups.

Combat+ enchantments will be incompatible with enchantments that are in the same tag as their group. For example a Weapon Utility enchantment is incompatible with any enchantment in the combat-plus:weapon_utility tag.

Game Rules

Combat+ Core adds two additional gamerules to modify vanilla weapon mechanics.

  • keepLoyaltyTridents
    • When true, loyalty tridents will not leave the inventory when thrown, nor can they be picked up or return to the thrower. Instead tridents will go on cooldown. Higher levels of loyalty will decrease the cooldown.
  • sweepingRequiresEnchantment
    • When true, the sweeping effect of a sword will only occur if the sword has the Sweeping Edge enchantment. This allows the player to decide whether sweeping should be considered a native property of the sword, or the product of an enchantment.

External resources



Project members

Provismet

Member


Technical information

License
Client side
required
Server side
required
Project ID