Combat+ Core

Combat+ Core

Mod

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

Client and server EquipmentGame MechanicsLibraryUtility

15.1k downloads
10 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...

Minor patch to enable a fix for a niche compatibility issue in Dual Swords.

Additions

  • Melee weapons now have a stack-aware version of getWeaponDamage.
  • Dual weapons now have a stack-aware version of getOffhandDamage.

3.1.0+1.21

by Provismet on Jul 25, 2024
Download

Additions

  • Added gamerule (lethalPoison) to toggle whether poison can be lethal.
    • Includes new related damage type.
  • Sweeping attacks now apply Combat+ post-charged hit effects to all affected entities.
  • Enchanted Numerals now grants translation keys for 0 to 10.
  • [LilyLib] Added datagen provider for assets/.../sounds.json
  • [LilyLib] Added datagen provider for particle textures.
  • [LilyLib] Added wrapper provider for the Fabric language datagen provider.
    • This provides common useful functions: adding enchantments with their descriptions (for inter-mod compatibility), and adding simple death translations.

Changes

  • pvpEnchantmentModifier now has a minimum value of 0.
  • #combat-plus:standard_attack tag includes the vanilla is_player_attack tag instead of the individual player attack.

3.0.0+1.21

by Provismet on Jul 15, 2024
Download

Major patch to finally bring Combat+ into the world of 1.21, this update completely rewrites literally everything that even remotely interacted with enchantments.

For obvious reasons, version 3.0.0 contains breaking changes for almost everything.

Brief Overview

Yes, this is the brief version...
Check Github for the full details.

Additions

  • Combat+ Core now reveals LilyLib to dependent mods.
    • LilyLib was already bundled in the jar, it's just made available now.
    • LilyLib patch notes will be included in Combat+ patch notes.
  • Added several new enchantment components types:
    • combat-plus:post_charged_attack
    • combat-plus:post_critical_attack
    • combat-plus:post_kill
    • combat-plus:bonus_damage
      • So items that are not the primary weapon can increase damage too.
    • combat-plus:gamerule_damage
      • Damage dealt against players is modified by the new gamerule.
      • This allows for world-based PvP balancing.
  • New gamerule that modifies enchantment damage effectiveness against players.
    • Extra Damage Enchantments and Extended Enchanting both had their seperate versions of this gamerule before. They have been moved into Combat+ now.
  • Added a small library of common effects and conditions for enchantments.
  • Added a new type of enchantment effect: Double Entity Effect
    • This is used by the Combat+ components and allows for effects for consider two entities at once.
  • Added two built-in resource packs:
    • One provides Roman Numerals for enchantments with a level over 10 (up to 255).
    • One replaces Roman Numerals for enchantment levels with plain numbers (up to 255).
  • Vanilla Maces are considered melee weapons by Combat+.
  • Added two new loot functions.

Changes

  • Sharpness, Smite, Bane of Arthropods, and Fire Aspect are now overriden entirely by Combat+ Core to change their supported item tags.
    • Previously a mixin was used to change the tags instead.
    • Smite and Bane of Arthropods use the new combat-plus:gamerule_damage component.
  • The enchantment types of Combat+ (Additional Damage, Offhand, Weapon Utility, Aspect) have been converted into enchantment tags.
  • Combat+ Enchantment Helper methods have different parameters.

Removals

  • The entire old enchanting system. :(

New Features From LilyLib

  • Enchantment datagen provider
  • DamageType datagen provider
  • DamageType tag datagen provider
  • Enchantment Containers
    • Combines a registry key with an enchantment builder. Highly useful for eliminating code duplication if you need to bootstrap your enchantments.
    • Also contains useful utility for getting registry entries of the enchantment.
  • DamageType Containers
    • Combines a registry key with a damage type. Highly useful for eliminating code duplication.
    • Also has utility methods for generating damage sources.
  • Fabric resource condition to only load certain things when in dev mode.

Patch update to add some little features before updating to the gauntlet that is 1.21.

Additions

  • Development environments now have access to a debug enchantment and item, these use their callbacks for console logs. This is to help developers assess when callbacks are workings.
  • Enchantments that use the Combat+ enchantability tags will now appear in the Creative Mode inventory.

Major release that includes some breaking changes to account for Mojang's own breaking changes in 1.20.5/6.

Additions

  • Added abstract class for melee weapons.
  • Added enchantability item tags for the 4 new item groups + primary versions of these tags.
  • Vanilla enchantments now use Combat+ item tags for when appropriate.
    • The Combat+ tags extend the vanilla ones.
  • Added tag translations.

Changes

  • MeleeWeapon.getWeaponDamage now requires an ItemStack parameter.
  • Combat+ enchantment classes can no longer use the vanilla damage method, the Combat+ version should be used instead.
  • CombatTags has been renamed to CPCItemTags.

Removals

  • FabricASM is no longer used or included by Combat+. (Hurray!)

Project members

Provismet

Member

Details

Licensed MIT
Published 7 months ago
Updated 5 days ago