mirror of
https://github.com/LZStealth/armor-statues.git
synced 2025-06-07 17:16:44 +01:00
Added support for Glow Item Frames
This commit is contained in:
parent
2a8de521b3
commit
54ac24c104
@ -7,6 +7,6 @@ schedule function armor_statues:3_second 3s
|
|||||||
#
|
#
|
||||||
# Tags item frames with a book in them
|
# Tags item frames with a book in them
|
||||||
#
|
#
|
||||||
execute if score #animate_trigger as_angle matches 1.. as @e[type=item_frame,tag=!as_animatable,predicate=armor_statues:item_frame_with_book] run tag @s add as_animatable
|
execute if score #animate_trigger as_angle matches 1.. as @e[type=#armor_statues:item_frames,tag=!as_animatable,predicate=armor_statues:item_frame_with_book] run tag @s add as_animatable
|
||||||
# Untags
|
# Untags
|
||||||
execute if score #animate_trigger as_angle matches 1.. as @e[type=item_frame,tag=as_animatable,predicate=!armor_statues:item_frame_with_book] run tag @s remove as_animatable
|
execute if score #animate_trigger as_angle matches 1.. as @e[type=#armor_statues:item_frames,tag=as_animatable,predicate=!armor_statues:item_frame_with_book] run tag @s remove as_animatable
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Description: Animate armor stands based off of item frames
|
# Description: Animate armor stands based off of item frames
|
||||||
# Called by: armor_statues:tick
|
# Called by: armor_statues:tick
|
||||||
# Entity @s: None
|
# Entity @s: #item frames
|
||||||
#
|
#
|
||||||
tag @s add as_powered
|
tag @s add as_powered
|
||||||
data modify entity @e[type=minecraft:armor_stand,distance=..8,tag=!as_locked,sort=nearest,limit=1,nbt=!{Marker:1b},nbt=!{Invulnerable:1b}] {} merge from entity @s Item.tag.SavedPose
|
data modify entity @e[type=minecraft:armor_stand,distance=..8,tag=!as_locked,sort=nearest,limit=1,nbt=!{Marker:1b},nbt=!{Invulnerable:1b}] {} merge from entity @s Item.tag.SavedPose
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
# Called by: armor_statues:tick
|
# Called by: armor_statues:tick
|
||||||
# Entity @s: None
|
# Entity @s: None
|
||||||
#
|
#
|
||||||
execute as @e[type=minecraft:item_frame,tag=as_animatable,tag=!as_powered] at @s if entity @p[distance=..35] if block ~ ~ ~ minecraft:redstone_wire unless block ~ ~ ~ minecraft:redstone_wire[power=0] run function armor_statues:animate
|
execute as @e[type=#armor_statues:item_frames,tag=as_animatable,tag=!as_powered] at @s if entity @p[distance=..35] if block ~ ~ ~ minecraft:redstone_wire unless block ~ ~ ~ minecraft:redstone_wire[power=0] run function armor_statues:animate
|
||||||
execute as @e[type=minecraft:item_frame,tag=as_animatable,tag=as_powered] at @s if block ~ ~ ~ minecraft:redstone_wire[power=0] run tag @s remove as_powered
|
execute as @e[type=#armor_statues:item_frames,tag=as_animatable,tag=as_powered] at @s if block ~ ~ ~ minecraft:redstone_wire[power=0] run tag @s remove as_powered
|
||||||
scoreboard players set #animate_time as_angle 0
|
scoreboard players set #animate_time as_angle 0
|
@ -6,31 +6,31 @@
|
|||||||
# Tag the player and an item frame 1 block in front of their eyes
|
# Tag the player and an item frame 1 block in front of their eyes
|
||||||
#
|
#
|
||||||
tag @s add as_selected
|
tag @s add as_selected
|
||||||
execute anchored eyes positioned ^ ^ ^1 as @e[type=item_frame,distance=..1,tag=!as_locked,sort=nearest,limit=1,nbt=!{Invulnerable:1b},nbt={Item:{Count:1b}}] unless entity @s[tag=!if_fixed,nbt={Fixed:1b}] run tag @s add as_selected
|
execute anchored eyes positioned ^ ^ ^1 as @e[type=#armor_statues:item_frames,distance=..1,tag=!as_locked,sort=nearest,limit=1,nbt=!{Invulnerable:1b},nbt={Item:{Count:1b}}] unless entity @s[tag=!if_fixed,nbt={Fixed:1b}] run tag @s add as_selected
|
||||||
#
|
#
|
||||||
# Copy the trigger score to the selected item frame
|
# Copy the trigger score to the selected item frame
|
||||||
#
|
#
|
||||||
scoreboard players operation @e[type=item_frame,tag=as_selected] if_invisible = @s if_invisible
|
scoreboard players operation @e[type=#armor_statues:item_frames,tag=as_selected] if_invisible = @s if_invisible
|
||||||
#
|
#
|
||||||
# Makes item frame 1 block in front of you invisible if it has an item
|
# Makes item frame 1 block in front of you invisible if it has an item
|
||||||
#
|
#
|
||||||
execute if entity @s[scores={if_invisible=1}] as @e[type=item_frame,tag=as_selected,nbt=!{Invisible:1b}] run function armor_statues:item_frames/invisible
|
execute if entity @s[scores={if_invisible=1}] as @e[type=#armor_statues:item_frames,tag=as_selected,nbt=!{Invisible:1b}] run function armor_statues:item_frames/invisible
|
||||||
#
|
#
|
||||||
# Item frame fixing
|
# Item frame fixing
|
||||||
#
|
#
|
||||||
# Creative
|
# Creative
|
||||||
execute if entity @s[scores={if_invisible=2..3},gamemode=creative] as @e[type=item_frame,tag=as_selected] run function armor_statues:item_frames/fixed
|
execute if entity @s[scores={if_invisible=2..3},gamemode=creative] as @e[type=#armor_statues:item_frames,tag=as_selected] run function armor_statues:item_frames/fixed
|
||||||
# Enabled
|
# Enabled
|
||||||
execute if data storage customizable_armor_stands:settings as_admin{fixed_item_frame:"Enabled"} if entity @s[scores={if_invisible=2..3},gamemode=survival] as @e[type=item_frame,tag=as_selected] run function armor_statues:item_frames/fixed
|
execute if data storage customizable_armor_stands:settings as_admin{fixed_item_frame:"Enabled"} if entity @s[scores={if_invisible=2..3},gamemode=survival] as @e[type=#armor_statues:item_frames,tag=as_selected] run function armor_statues:item_frames/fixed
|
||||||
# Disabled
|
# Disabled
|
||||||
execute if data storage customizable_armor_stands:settings as_admin{fixed_item_frame:"Disabled"} if entity @s[scores={if_invisible=2..3},gamemode=survival] if entity @p[tag=as_selected,predicate=!armor_statues:mainhand_potion,predicate=!armor_statues:offhand_potion] run title @a[tag=as_selected,tag=!as_chat] actionbar [{"text":"Must be enabled from admin menu","color":"dark_red"}]
|
execute if data storage customizable_armor_stands:settings as_admin{fixed_item_frame:"Disabled"} if entity @s[scores={if_invisible=2..3},gamemode=survival] if entity @p[tag=as_selected,predicate=!armor_statues:mainhand_potion,predicate=!armor_statues:offhand_potion] run title @a[tag=as_selected,tag=!as_chat] actionbar [{"text":"Must be enabled from admin menu","color":"dark_red"}]
|
||||||
execute if data storage customizable_armor_stands:settings as_admin{fixed_item_frame:"Disabled"} if entity @s[scores={if_invisible=2..3},gamemode=survival] if entity @p[tag=as_selected,predicate=!armor_statues:mainhand_potion,predicate=!armor_statues:offhand_potion] run tellraw @a[tag=as_selected,tag=as_chat] [{"text":"<Stick_God> ","color":"dark_green"},{"text":"Must be enabled from admin menu","color":"dark_red"}]
|
execute if data storage customizable_armor_stands:settings as_admin{fixed_item_frame:"Disabled"} if entity @s[scores={if_invisible=2..3},gamemode=survival] if entity @p[tag=as_selected,predicate=!armor_statues:mainhand_potion,predicate=!armor_statues:offhand_potion] run tellraw @a[tag=as_selected,tag=as_chat] [{"text":"<Stick_God> ","color":"dark_green"},{"text":"Must be enabled from admin menu","color":"dark_red"}]
|
||||||
#
|
#
|
||||||
# Reset item frame's trigger score and remove selected tag from player and item frame
|
# Reset item frame's trigger score and remove selected tag from player and item frame
|
||||||
#
|
#
|
||||||
scoreboard players reset @e[type=item_frame,tag=as_selected] if_invisible
|
scoreboard players reset @e[type=#armor_statues:item_frames,tag=as_selected] if_invisible
|
||||||
tag @s remove as_selected
|
tag @s remove as_selected
|
||||||
tag @e[type=item_frame,tag=as_selected] remove as_selected
|
tag @e[type=#armor_statues:item_frames,tag=as_selected] remove as_selected
|
||||||
#
|
#
|
||||||
# Reset player's trigger score and re-enable
|
# Reset player's trigger score and re-enable
|
||||||
#
|
#
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Description: turns item frame invisible
|
# Description: turns item frame invisible
|
||||||
# Called by: armor_statues:if_trigger
|
# Called by: armor_statues:if_trigger
|
||||||
# Entity @s: item frame
|
# Entity @s: #item frame
|
||||||
#
|
#
|
||||||
# Makes item frame fixed
|
# Makes item frame fixed
|
||||||
#
|
#
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Description: turns item frame invisible if successful
|
# Description: turns item frame invisible if successful
|
||||||
# Called by: armor_statues:if_trigger
|
# Called by: armor_statues:if_trigger
|
||||||
# Entity @s: item frame
|
# Entity @s: #item frame
|
||||||
#
|
#
|
||||||
# Makes item frame invisible
|
# Makes item frame invisible
|
||||||
#
|
#
|
||||||
|
@ -19,7 +19,7 @@ execute as @a[scores={if_invisible=1..}] at @s run function armor_statues:if_tri
|
|||||||
#
|
#
|
||||||
# Makes empty invisible item frames visible
|
# Makes empty invisible item frames visible
|
||||||
#
|
#
|
||||||
execute as @e[type=item_frame,tag=if_invisible,nbt=!{Item:{Count:1b}}] run function armor_statues:item_frames/visible
|
execute as @e[type=#armor_statues:item_frames,tag=if_invisible,nbt=!{Item:{Count:1b}}] run function armor_statues:item_frames/visible
|
||||||
#
|
#
|
||||||
# Check for players at the particle shrine
|
# Check for players at the particle shrine
|
||||||
#
|
#
|
||||||
|
13
data/armor_statues/tags/entity_types/item_frames.json
Normal file
13
data/armor_statues/tags/entity_types/item_frames.json
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"replace": "false",
|
||||||
|
"values": [
|
||||||
|
{
|
||||||
|
"id": "minecraft:item_frame",
|
||||||
|
"required": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "minecraft:glow_item_frame",
|
||||||
|
"required": "true"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user