Origins (Forge)

Origins (Forge)

7M Downloads

Modify break speed ignores the configured modifier when applying a command condition

NereaCassian opened this issue ยท 4 comments

commented

Describe the Bug

Modify break speed ignores the configured modifier when applying a command condition or a condition that depends on a command condition.

This is my code.

    "breakspeed":{
        "type": "origins:modify_break_speed",
        "block_condition": {
            "type": "origins:block",
            "block": "minecraft:dirt"
        },
        "modifier": {
            "operation": "add_base_early",
            "value": 3.0
        },
        "condition": {
            "type": "origins:command",
            "command": "execute as @a at @s anchored eyes positioned ^ ^ ^ if entity @s[distance=..1]",
            "comparison": "==",
            "compare_to": 1
        },
        
    },

This checks if the user is crawling, it works with a origins:conditioned_attribute but when used with origins:modify_break_speed it modifies the braking speed to the maximum.

I tried to use a power active condition that depend on the origins:conditioned_attribute that has the crawling command, but it also breaks, even if I use a scoreboard condition that checks if a crawl score is fulfilled it breaks too.

Reproduction Steps

  1. Create a origins:modify_break_speed power
  2. Use a command condition
    ...

Screenshots and Videos

20230919-1620-36.2291112.mp4

Crash Report or Log

No response

Operating System

Windows 11

Minecraft Version

1.19.2

Modloader

Forge

Mod Version

1.7.1.3

commented

Not planned, for now.

commented

Okay, so the issue here is that the power type runs on the client, as opposed to the server, where the command condition is only effective.

This has funky behaviour on Origins Fabric as well, similar to here, it'll sometimes run on the server and immediately break, whereas other times it'll run on the client and not take effect.

commented

I'll check to see what's up with this later, I'm unsure if the addition is the issue here. Could you try a multiplicative modifier operation and see if the issue still persists?

commented

It breaks using any operator I tried with multiply_base multiply_total, addition, add_base_early.