All Mods Resource Packs Data Packs Shaders Modpacks Plugins
CombatEdit

CombatEdit

by rizecookey • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

CombatEdit

A server-side Fabric mod that brings back 1.8-style combat to modern versions of Minecraft! Can additionally configure default attributes for all entities and items and default item components.

Requirements

This mod does not require client-side installation or the Fabric API (necessary Fabric API modules are bundled with the mod), however, to configure attributes with a GUI, Mod Menu is required to open the configuration screen.

Features

The default settings of this mod bring back 1.8-style combat. Additionally (since version 2.1), the following options are configurable either via the options screen or the configuration file (see Configuration):

  • Default entity attributes for living entities (max health, attack damage, attack speed, movement speed, ...)
  • Default item attribute modifiers for all item types (additional attack damage, attack speed, ...)
  • Default item components for all item types (durability, unbreakability, enchantments, ...)
  • Which attack sounds should be enabled or disabled
  • Whether 1.8-style knockback should be enabled

Please note that although changing item and entity defaults while in a world is possible and I've tried my best to make it work as seamlessly as possible, it could potentially still lead to unexpected behaviour and (probably smaller) bugs.

Configuration

CombatEdit uses different concepts for configuring itself:

Settings file

This is the main way for players to configure the mod. Configurations made in the settings file take precedence over the base profile and profile extension configurations, and the settings file determines which base profile is to be used. For users, the main way to configure the settings is using the GUI screen accessible via ModMenu in the Mods list (by clicking on the gear button once CombatEdit is selected). The settings file is saved in config/combatedit/settings.json relative to the minecraft/server directory.

To configure these options on a server, you can create and save your configuration on the client using the configuration screen and then upload the config file (in config/combatedit/settings.json) to the same directory inside the server directory.

Base profiles

Base profiles determine the main configuration for entity and item attributes. CombatEdit includes two base profiles:

  • the 1.8 Combat Profile (combatedit:1_8_combat), which is enabled by default and sets entity and item attributes values to resemble a modern version of 1.8 Combat (using the same damage values as Bedrock Edition)
  • the Vanilla profile (combatedit:vanilla), which leaves default entity and item attributes untouched.

Datapack creators can provide their own base profiles (see Datapacks) to create different base configurations.

Profile extensions

Profile extensions allow adjusting the configuration of a base profile (such as adding addition item modifiers or overriding others set in the base profile). They are aimed at mod developers who want to provide different item or entity settings for base profiles (for example by changing damage values for the 1.8 Combat profile on custom items to compensate for the lack of any Attack Cooldown as a balancing measure). See Mod developers for more information.

Datapacks

Both base profiles and profile extension can be included in a datapack. The following directory tree describes where to place base profile and profile extension files.

  • data: the data directory within your datapack
    • <your_namespace>: Your custom datapack namespace
      • combatedit: All CombatEdit-related datapack files reside within here
        • profile_extensions: Contains profile extensions.
          • <profile_namespace>
            • <profile_name>: Contains .json profile extension files extending the base profile <profile_namespace>:<profile_name>
        • base_profiles: Contains base profile .json files. A file named <your_profile>.json created here will create a base profile with the ID <your_namespace>:<your_profile>.

Mod Developers

Mod developers can include base profiles in JSON format just like datapack creators by placing files inside their data resource directory using the same directory structure as mentioned above for datapacks. Additionally, it is possible to provide profile extensions programmatically: simply create a class implementing the CombatEditInitListener interface and specify this implementation as a new entrypoint with the name combatedit within your fabric.mod.json.

JSON Format specifications

This section explains the JSON formats of the various configuration types. Sample datapacks for base profile and profile extension creation can be found in the examples directory.

Base profiles

A base profile in JSON format is a JSON object containing the following keys:

  • name: The display name of your base profile. Can be a text component or a simple string.
  • description: The description of your base profile. Can be a text component or a simple string.
  • configuration: The feature configuration for this base profile. See Feature configuration.

Profile extensions

A profile extension in JSON format is a JSON object containing the following keys:

  • priority: An integer specifying the priority of this profile extension. A greater priority value results in this profile extension having priority over other profile extensions if overrides within them clash with each other.
  • configuration_overrides: A feature configuration specifying the overrides this extension makes. See Feature configuration.

Feature configuration

The feature configuration format is common among base profiles, profile extensions and the settings file. It has the following keys:

  • configuration_version: An integer specifying the version of the feature configuration, which may change if breaking changes are made to the format. The current configuration version is 3.
  • entity_attributes: An array of Entity attribute objects specifying the default attributes for an entity type.
  • item_attributes: An array of Item attribute objects specifying the default attribute modifiers for an item.
  • item_components: An array of Item component objects specifying the default components for an item.
  • enabled_sounds: A map of sound ID to boolean pairs specifying whether those sounds are enabled or not. Currently, the following sounds are configurable:
    • minecraft:entity.player.attack.nodamage
    • minecraft:entity.player.attack.knockback
    • minecraft:entity.player.attack.weak
    • minecraft:entity.player.attack.strong
    • minecraft:entity.player.attack.sweep
    • minecraft:entity.player.attack.crit
  • misc_options: An object configuring Miscellaneous options.

Entity attribute

Entity attribute entries have the following structure:

  • entity_id: The identifier of the entity type to be modified
  • base_values: An array of attribute base value objects, which have the following keys:
    • attribute: The identifier of the attribute whose value is changed
    • base_value: The base value to use for the specified attribute
  • override_default: Boolean option. If set to true, the entity's default attributes are removed before applying the the changes specified in this entity attribute entry

Item attribute

Item attribute entries have the following structure:

  • item_id: The identifier of the item to be modified
  • modifiers: An array of attribute modifier objects, which have the following structure:
    • attribute: The attribute for which to add a modifier
    • modifier_id: A unique identifier for the attribute modifier. Optional, if not specified, a random identifier is used instead
    • value: The value for the modifier
    • operation: Operation type for the modifier. Can be one of the following:
      • "add_value": Adds the value of this modifier to the base value of the attribute for the entity
      • "add_multiplied_base": Multiplies the base value for the attribute by the specified value and adds the result to the total attribute value
      • "add_multiplied_total": Multiplies the sum of the base value and all modifiers of type "add_multiplied_base" and adds the result to the total attribute value
    • slot: The slot in which the item has to be for the modifier to apply. Can be one of the following:
      • "any": Applies in all slots
      • "mainhand": Applies when the item is held in the main hand
      • "offhand": Applies when the item is held in the off hand
      • "hand": Applies when the item is held in any hand
      • "feet": Applies when the item is equipped in the boots slot
      • "legs": Applies when the item is equipped in the leggings slot
      • "chest": Applies when the item is equipped in the chestplate slot
      • "head": Applies when the item is equipped in the helmet slot
      • "armor": Applies when the item is equipped in any armor slot (on players or animals)
      • "body": Applies when the item is equipped on an animal
      • "saddle": Applies when the item is equipped on a horse's saddle slot
  • override_default: Boolean option. If set to true, the item's default attribute modifiers are removed before applying the changes specified by this entry

Item component

Item component entries have the following structure:

  • item_id: The identifier of the item whose components are to be modified
  • changes: An array of component changes to be made, which have the following structure:
    • component_type: The identifier of the component type for which to change the value
    • change_type: The change to be made by this entry, which is either:
      • "set" if a new value for this component type is to be set
      • "remove" if the default value for this component is to be removed from the item entirely
    • value: The value to set for this component. Is optional if the component type does not have values or the change type is "remove"

Miscellaneous options

  • enable_1_8_knockback: A boolean specifying whether 1.8 knockback should be enabled instead of the default knockback in modern Minecraft versions.
  • disable_sweeping_without_enchantment: A boolean specifying whether sweeping effects should be disabled if the used item does not have a sweeping enchantment.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3
Fabric
28d ago 1
26.2
Fabric
28d ago 1
26.1.x
Fabric
28d ago 1
26.1.x
Fabric
7mo ago 1
1.21.11
Fabric
10mo ago 1
1.21.x
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.21.5
Fabric
last yr. 1
1.21.4
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.20.6
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.20.6
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.20.6
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.20.6
Fabric
last yr. 1
1.20.6
Fabric
last yr. 1
1.20.6
Fabric
last yr. 1
1.20.6
Fabric
last yr. 1
1.20.4
Fabric
last yr. 1
1.19.x
Fabric
last yr. 1
1.19.x
Fabric
last yr. 1
Version 2.2.0 adds an option for 1.8-like sword-blocking, alongside a new configuration screen based on YetAnotherConfigLib that should fix some Cloth Config-related bugs.

Addresses #10 .

Version 2.2.0 adds an option for 1.8-like sword-blocking, alongside a new configuration screen based on YetAnotherConfigLib that should fix some Cloth Config-related bugs.

Addresses #10 .

Version 2.2.0 adds an option for 1.8-like sword-blocking, alongside a new configuration screen based on YetAnotherConfigLib that should fix some Cloth Config-related bugs.

This version is still for Minecraft 26.1.x! A port to 26.2 and 26.3 will follow soon.

Addresses #10 .

This version is a port of CombatEdit to Minecraft versions 26.1-26.1.2.
This version is a port of CombatEdit to Minecraft version 1.21.11

This is a port of [release 2.1.0](https://github.com/rizecookey/CombatEdit/releases/tag/v2.1.0%2B1.21.8) to Minecraft versions 1.21.9 and 1.21.10.

Version 2.1.0 adds the ability to modify default item components! This means you will be able to change
things like the durability of an item, which enchantments it has by default, whether and in which slots it
is equippable, and much more! Check the Minecraft Wiki for a list of all component types:
https://minecraft.wiki/w/Data_component_format

This version is still for Minecraft 1.21.6 to 1.21.8! A port to 1.21.9 and 1.21.10 will follow soon.

Addresses #27 .

This is a port of CombatEdit to Minecraft versions 1.21.6, 1.21.7 and 1.21.8.
This release is a port of CombatEdit to Minecraft version 1.21.5.
This release is a port of CombatEdit to Minecraft version 1.21.4.
This release is a port of CombatEdit to 1.21.2. It should also be compatible with 1.21.3.

Please note that attribute names have changed in version 1.21.2 (e.g. minecraft:attack_speed instead of minecraft:generic.attack_speed). Older configurations will be converted to use the new names automatically.
This is a fix for Minecraft 1.20.6 only, *not* for 1.21.1 (Vanilla currently has a bug itself with showing enchantment damage on tooltips - [MC-271840](https://bugs.mojang.com/browse/MC-271840))

Fixes a small bug with the "disable new green tooltips"-option where the blue tooltips would not show enchantment modifiers even on items with default attributes (#21).
  • Fixed incompatibilities with Legacy4J (#19) and potentially other mods
  • Made it so by default, green tooltips will appear even when playing with CombatEdit on a server that also uses CombatEdit
  • Added an option to disable the new green tooltips added in 1.9 and replace them with the old blue ones
  • Fixed incompatibilities with Legacy4J (#19) and potentially other mods
  • Made it so by default, green tooltips will appear even when playing with CombatEdit on a server that also uses CombatEdit
  • Added an option to disable the new green tooltips added in 1.9 and replace them with the old blue ones
This release fixes an issue with hot-reloading where, for example, changing back to the vanilla profile would not correctly reset entity attributes.
This release fixes an issue with hot-reloading where, for example, changing back to the vanilla profile would not correctly reset entity attributes.
This release is a port of CombatEdit to Minecraft version 1.21(.1)!
This release fixes a bug in 2.0.1 where clients connected to a server would not see the correct tooltip for modified items under certain circumstances.
(Please note: I have removed version 2.0.0 as it had some bigger issues, and I've since rewritten many parts of the mod. This means that, if you actually had version 2.0.0 installed, the configuration will be reset.
A release for Minecraft 1.21 will follow in the next few days.)

This major release introduces configurability of all features provided by this mod, including:
  • adding or overriding default attribute modifiers for Items
  • editing base values for living Entities
  • configuring which attack sounds should be enabled
  • enabling or disabling 1.8-style knockback
  • enabling or disabling sweeping attacks without the sweeping enchantment

To configure these options, install Mod Menu and open the configuration screen by opening the mod list, selecting CombatEdit and clicking on the gear icon.
This release fixes CombatEdit not correctly working with existing worlds, where it would not adjust the attack speed until the player died.
  • Updated CombatEdit to 1.20.6
  • Made damage values match Bedrock's
Updated CombatEdit to 1.20.4.
Updated CombatEdit to 1.19.3. Should be compatible with 1.19.4.
This release fixes incompatibility with the Carpet mod.

Should be compatible with 1.19.1/1.19.2.
CombatEdit Icon
Download CombatEdit
Select game version
Select platform