'/viaversion dump' Output
https://dump.viaversion.com/03feee658f30009b5f45b5e6395b318e01512fde78d705cb191e644111e04e95
Server/Client Error
Put the mclo.gs link or text here.
Bug Description
We run a Spigot/folia server with ViaVersion and ViaBackwards (version 26.1.2) installed on the backend to allow cross‑version connections. We added a data pack that introduces a custom enchantment (intended for leg armor) defined by the following JSON file placed in data/minecraft/enchantment/:
json
{
"anvil_cost": 1,
"description": {
"text": "后撤步"
},
"effects": {
"minecraft:tick": [
{
"effect": {
"type": "minecraft:all_of",
"effects": [
{
"type": "apply_exhaustion",
"amount": 2
},
{
"type": "minecraft:play_sound",
"sound": "minecraft:entity.player.attack.sweep",
"pitch": 1.2,
"volume": 0.8
},
{
"type": "minecraft:apply_impulse",
"direction": [0, 0, -1],
"coordinate_scale": [1, 0, 1],
"magnitude": 0.8
},
{
"type": "minecraft:apply_impulse",
"direction": [0, 1, 0],
"coordinate_scale": [0, 1, 0],
"magnitude": 0.15
},
{
"type": "minecraft:run_function",
"function": "134addition:backstep/start"
}
]
},
"requirements": {
"condition": "minecraft:all_of",
"terms": [
{
"condition": "minecraft:entity_scores",
"entity": "this",
"scores": {
"backstep_cooldown": 0
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"type": "minecraft:player",
"type_specific": {
"type": "minecraft:player",
"input": {
"backward": true,
"jump": true
}
},
"flags": {
"is_flying": false,
"is_fall_flying": false
}
}
},
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"vehicle": {}
}
}
}
]
}
},
{
"effect": {
"type": "minecraft:run_function",
"function": "134addition:backstep/check_cooldown"
},
"requirements": {
"condition": "minecraft:all_of",
"terms": [
{
"condition": "minecraft:entity_scores",
"entity": "this",
"scores": {
"backstep_cooldown": 1
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"periodic_tick": 20
}
}
]
}
},
{
"effect": {
"type": "minecraft:run_function",
"function": "134addition:backstep/init"
},
"requirements": {
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:entity_scores",
"entity": "this",
"scores": {
"backstep_cooldown": {}
}
}
}
}
]
},
"max_cost": {
"base": 5,
"per_level_above_first": 0
},
"max_level": 1,
"min_cost": {
"base": 1,
"per_level_above_first": 0
},
"slots": [
"legs"
],
"supported_items": "#minecraft:enchantable/leg_armor",
"weight": 1
}
When a player tries to join with a Minecraft 1.21.8 client or a version 26.2 client, the connection fails – they cannot enter the server at all with "Network protocol error". Other client versions haven't been tested yet.
We suspect that the apply_impulse component is not being correctly translated or handled by ViaVersion/ViaBackwards for those particular client versions.
Steps to Reproduce
1.Set up a server with ViaVersion and ViaBackwards (version 26.1.2) installed on the backend only (no proxy such as Velocity or BungeeCord).
2.Create a data pack and place a JSON file (any filename, e.g., backstep.json) inside the data/minecraft/enchantment/ folder of that data pack, with the exact full JSON content provided above in the Bug Description.
3.Load the data pack on the server (by placing it in the datapacks folder and running /reload or restarting the server).
4.Start the server and try to connect using a Minecraft 1.21.8 client.
5.Observe that the connection is rejected – the player cannot join.
6.Repeat step 4 with a client that reports its version as 26.2 – the same failure occurs.
7.Connect with a client of a different version (e.g., 1.20.4) – the connection succeeds normally, confirming the issue is version‑specific.
Additional Server Info
just original datapack language's error
Checklist
'/viaversion dump' Output
https://dump.viaversion.com/03feee658f30009b5f45b5e6395b318e01512fde78d705cb191e644111e04e95
Server/Client Error
Bug Description
We run a Spigot/folia server with ViaVersion and ViaBackwards (version 26.1.2) installed on the backend to allow cross‑version connections. We added a data pack that introduces a custom enchantment (intended for leg armor) defined by the following JSON file placed in data/minecraft/enchantment/:
json
{
"anvil_cost": 1,
"description": {
"text": "后撤步"
},
"effects": {
"minecraft:tick": [
{
"effect": {
"type": "minecraft:all_of",
"effects": [
{
"type": "apply_exhaustion",
"amount": 2
},
{
"type": "minecraft:play_sound",
"sound": "minecraft:entity.player.attack.sweep",
"pitch": 1.2,
"volume": 0.8
},
{
"type": "minecraft:apply_impulse",
"direction": [0, 0, -1],
"coordinate_scale": [1, 0, 1],
"magnitude": 0.8
},
{
"type": "minecraft:apply_impulse",
"direction": [0, 1, 0],
"coordinate_scale": [0, 1, 0],
"magnitude": 0.15
},
{
"type": "minecraft:run_function",
"function": "134addition:backstep/start"
}
]
},
"requirements": {
"condition": "minecraft:all_of",
"terms": [
{
"condition": "minecraft:entity_scores",
"entity": "this",
"scores": {
"backstep_cooldown": 0
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"type": "minecraft:player",
"type_specific": {
"type": "minecraft:player",
"input": {
"backward": true,
"jump": true
}
},
"flags": {
"is_flying": false,
"is_fall_flying": false
}
}
},
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"vehicle": {}
}
}
}
]
}
},
{
"effect": {
"type": "minecraft:run_function",
"function": "134addition:backstep/check_cooldown"
},
"requirements": {
"condition": "minecraft:all_of",
"terms": [
{
"condition": "minecraft:entity_scores",
"entity": "this",
"scores": {
"backstep_cooldown": 1
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"periodic_tick": 20
}
}
]
}
},
{
"effect": {
"type": "minecraft:run_function",
"function": "134addition:backstep/init"
},
"requirements": {
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:entity_scores",
"entity": "this",
"scores": {
"backstep_cooldown": {}
}
}
}
}
]
},
"max_cost": {
"base": 5,
"per_level_above_first": 0
},
"max_level": 1,
"min_cost": {
"base": 1,
"per_level_above_first": 0
},
"slots": [
"legs"
],
"supported_items": "#minecraft:enchantable/leg_armor",
"weight": 1
}
When a player tries to join with a Minecraft 1.21.8 client or a version 26.2 client, the connection fails – they cannot enter the server at all with "Network protocol error". Other client versions haven't been tested yet.
We suspect that the apply_impulse component is not being correctly translated or handled by ViaVersion/ViaBackwards for those particular client versions.
Steps to Reproduce
1.Set up a server with ViaVersion and ViaBackwards (version 26.1.2) installed on the backend only (no proxy such as Velocity or BungeeCord).
2.Create a data pack and place a JSON file (any filename, e.g., backstep.json) inside the data/minecraft/enchantment/ folder of that data pack, with the exact full JSON content provided above in the Bug Description.
3.Load the data pack on the server (by placing it in the datapacks folder and running /reload or restarting the server).
4.Start the server and try to connect using a Minecraft 1.21.8 client.
5.Observe that the connection is rejected – the player cannot join.
6.Repeat step 4 with a client that reports its version as 26.2 – the same failure occurs.
7.Connect with a client of a different version (e.g., 1.20.4) – the connection succeeds normally, confirming the issue is version‑specific.
Additional Server Info
just original datapack language's error
Checklist