thnx! this worked! however i did find another problem, when I tested this I realized it merges the model to the current score, so whenever i would walk past another box that box would also merge (new closest box).
So I thought I'd make it cycle based on tags, and each merge would change the tag:
# Acacia mb -> none
execute as @a[scores={HammerUse=1}] run execute at @e[tag=Acacia,tag=cycle1,sort=nearest,limit=1] at @s if entity @p[distance=..5,scores={HammerUse=1},nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{CustomModelData:2018}}}] run data merge entity @e[tag=Acacia,tag=cycle1,sort=nearest,limit=1] {Tags:["Acacia",cycle2],ArmorItems:[{},{},{},{id:"minecraft:air",Count:1b}]}
# Acacia none -> 1b
execute as @a[scores={HammerUse=1}] run execute at @e[tag=Acacia,tag=cycle2,sort=nearest,limit=1] at @s if entity @p[distance=..5,scores={HammerUse=1},nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{CustomModelData:2018}}}] run data merge entity @e[tag=Acacia,tag=cycle2,sort=nearest,limit=1] {Tags:["Acacia","cycle3"],ArmorItems:[{},{},{},{id:"minecraft:acacia_trapdoor",Count:1b,tag:{CustomModelData:1003}}]}
execute as @a[scores={HammerUse=1}] run execute at @e[tag=Acacia,tag=cycle3,sort=nearest,limit=1] at @s if entity @p[distance=..5,scores={HammerUse=1},nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{CustomModelData:2018}}}] run data merge entity @e[tag=Acacia,tag=cycle3,sort=nearest,limit=1] {Tags:["Acacia","cycle4"],ArmorItems:[{},{},{},{id:"minecraft:acacia_trapdoor",Count:1b,tag:{CustomModelData:1003}}],Rotation:[90f]}
execute as @a[scores={HammerUse=1}] run execute at @e[tag=Acacia,tag=cycle4,sort=nearest,limit=1] at @s if entity @p[distance=..5,scores={HammerUse=1},nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{CustomModelData:2018}}}] run data merge entity @e[tag=Acacia,tag=cycle4,sort=nearest,limit=1] {Tags:["Acacia","cycle5"],ArmorItems:[{},{},{},{id:"minecraft:acacia_trapdoor",Count:1b,tag:{CustomModelData:1003}}],Rotation:[180f]}
execute as @a[scores={HammerUse=1}] run execute at @e[tag=Acacia,tag=cycle5,sort=nearest,limit=1] at @s if entity @p[distance=..5,scores={HammerUse=1},nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{CustomModelData:2018}}}] run data merge entity @e[tag=Acacia,tag=cycle5,sort=nearest,limit=1] {Tags:["Acacia","cycle6"],ArmorItems:[{},{},{},{id:"minecraft:acacia_trapdoor",Count:1b,tag:{CustomModelData:1003}}],Rotation:[270f]}
# Acacia 1b -> 2b
execute at @a[scores={HammerUse=1}] run execute as @e[tag=Acacia,tag=cycle6,sort=nearest,limit=1] at @s if entity @p[distance=..5,scores={HammerUse=1},nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{CustomModelData:2018}}}] run data merge entity @e[tag=Acacia,tag=cycle6,sort=nearest,limit=1] {Tags:["Acacia","cycle7"],ArmorItems:[{},{},{},{id:"minecraft:acacia_trapdoor",Count:1b,tag:{CustomModelData:1004}}],Rotation:[0f]}
execute at @a[scores={HammerUse=1}] run execute as @e[tag=Acacia,tag=cycle7,sort=nearest,limit=1] at @s if entity @p[distance=..5,scores={HammerUse=1},nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{CustomModelData:2018}}}] run data merge entity @e[tag=Acacia,tag=cycle7,sort=nearest,limit=1] {Tags:["Acacia","cycle8"],ArmorItems:[{},{},{},{id:"minecraft:acacia_trapdoor",Count:1b,tag:{CustomModelData:1004}}],Rotation:[90f]}
execute at @a[scores={HammerUse=1}] run execute as @e[tag=Acacia,tag=cycle8,sort=nearest,limit=1] at @s if entity @p[distance=..5,scores={HammerUse=1},nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{CustomModelData:2018}}}] run data merge entity @e[tag=Acacia,tag=cycle8,sort=nearest,limit=1] {Tags:["Acacia","cycle9"],ArmorItems:[{},{},{},{id:"minecraft:acacia_trapdoor",Count:1b,tag:{CustomModelData:1004}}],Rotation:[180f]}
execute at @a[scores={HammerUse=1}] run execute as @e[tag=Acacia,tag=cycle9,sort=nearest,limit=1] at @s if entity @p[distance=..5,scores={HammerUse=1},nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{CustomModelData:2018}}}] run data merge entity @e[tag=Acacia,tag=cycle9,sort=nearest,limit=1] {Tags:["Acacia","cycle10"],ArmorItems:[{},{},{},{id:"minecraft:acacia_trapdoor",Count:1b,tag:{CustomModelData:1004}}],Rotation:[270f]}
# Acacia 2b -> 4b
execute at @a[scores={HammerUse=1}] run execute as @e[tag=Acacia,tag=cycle10,sort=nearest,limit=1] at @s if entity @p[distance=..5,scores={HammerUse=1},nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{CustomModelData:2018}}}] run data merge entity @e[tag=Acacia,tag=cycle10,sort=nearest,limit=1] {Tags:["Acacia","cycle11"],ArmorItems:[{},{},{},{id:"minecraft:acacia_trapdoor",Count:1b,tag:{CustomModelData:1005}}],Rotation:[0f]}
# Acacia 4b -> mb
execute at @a[scores={HammerUse=1}] run execute as @e[tag=Acacia,tag=cycle11,sort=nearest,limit=1] at @s if entity @p[distance=..5,scores={HammerUse=1},nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",tag:{CustomModelData:2018}}}] run data merge entity @e[tag=Acacia,tag=cycle11,sort=nearest,limit=1] {Tags:["Acacia","cycle1"],ArmorItems:[{},{},{},{id:"minecraft:acacia_trapdoor",Count:1b,tag:{CustomModelData:1002}}]}
scoreboard players reset @a HammerUse
i fear this has to do due that scoreboard resets the score at the end so it scrolls through all of the merges.... but adding the reset command to the top or in-between each line also doesn't do anything... how do I fix this?
(also also, am i allowed to add this as comment here or do I need to make a new topic about this problem? :p)