Skip to content

Commit

Permalink
Merge pull request #8 from amcocan/dev
Browse files Browse the repository at this point in the history
Adds Feature!
  • Loading branch information
amcocan authored Jan 28, 2025
2 parents df1e94b + 7261011 commit d5168fc
Show file tree
Hide file tree
Showing 13 changed files with 255 additions and 16 deletions.
36 changes: 20 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This is a QoL (quality of life) datapack built for versions `1.21.3` and later o

## custom recipes
The custom recipes are pretty self explanitory from just the names (_they follow the default MJE naming convention_), so I will just list them out below. Note that this will include recipes that were designed for custom features later explained.
The custom recipes are pretty self explanatory from just the names (_they follow the default MJE naming convention_), so I will just list them out below. Note that this will include recipes that were designed for custom features later explained.
- `minecraft/recipe/bread_shapeless.json`
- `minecraft/recipe/charcoal_from_blasting_rotten_flesh.json`
- `minecraft/recipe/dry_leather_from_campfire_cooking.json`
Expand All @@ -23,50 +23,54 @@ The custom recipes are pretty self explanitory from just the names (_they follow

## antigrief
This feature adds anti-greifing for the `minecraft:creeper`, `minecraft:enderman`, and `minecraft:ghast`.
> __Note:__ If an entity of type `minecraft:player` AFK's within the range of a `minecraft:creeper`, `gamerule:mobGriefing` will be set to false and potentialy interfere with the villager breeding process. The ranges for this behavior are activated as follows. _If a `minecraft:creeper` is within 4 blocks of a entity of type `minecraft:player`, `gamerule:mobGriefing` will be set to false. This gamerule will stay as false untill the entity of type `minecraft:creeper` is 10 or more blocks away from a `minecraft:player`._ Another thing to consider is that entities of type `minecraft:ghast` will not light blocks on fire with the fire charges as this violates the antigriefing mechanic used on the `minecraft:ghast`.
> __Note:__ If an entity of type `minecraft:player` AFK's within the range of a `minecraft:creeper`, `gamerule:mobGriefing` will be set to false and potentially interfere with the villager breeding process. The ranges for this behavior are activated as follows. _If a `minecraft:creeper` is within 4 blocks of a entity of type `minecraft:player`, `gamerule:mobGriefing` will be set to false. This gamerule will stay as false until the entity of type `minecraft:creeper` is 10 or more blocks away from a `minecraft:player`._ Another thing to consider is that entities of type `minecraft:ghast` will not light blocks on fire with the fire charges as this violates the antigriefing mechanic used on the `minecraft:ghast`.

## armor_statues
Armor Statues allows the player to manipulate armorstands for decoration purposes using a custom `minecraft:written_book`. To learn how to get the custom `minecraft:written_book`, run `/trigger as_help`.

Armor Statues was built by [Phssthpok](https://x.com/MCPhssthpok), [MukiTanuki](https://twitter.com/mukitanuki), and [MSpaceDev](https://github.com/MSpaceDev). Check out the rest of [MukiTanuki's](https://github.com/MukiTanuki) and [MSpaceDev's](https://github.com/MSpaceDev) work!

Maintained by [Vanilla Tweeks](https://vanillatweaks.net/about/).
Maintained by [Vanilla Tweaks](https://vanillatweaks.net/about/).
> Learn about the details of this datapack on [vanillatweaks.net](https://vanillatweaks.net/picker/datapacks/) & [github](https://github.com/MukiTanuki/armor-statues#). Also, I removed the itemframe features from this datapack since I added my own [here](#invframe).

## cleanup
This feature adds tha ability to bring items within 16 blocks of the player to the players location using the following `trigger` command.
- `/trigger clean_up` ~ _Brings all droped items within 16 blocks to the players location._
This feature adds the ability to bring items within 16 blocks of the player to the players location using the following `trigger` command.
- `/trigger clean_up` ~ _Brings all dropped items within 16 blocks to the players location._


## deathcords
Will show you the cords of your last death using the following `trigger` command.
- `/trigger death_cords` ~ _This will show you the cords and dimention of your last death._
- `/trigger death_cords` ~ _This will show you the cords and dimension of your last death._


## durability_ping
Adds durability ping for tools, weapons, and armor.

Durability Ping was built by [The Vanilla Tweeks Team](https://vanillatweaks.net/about/). Maintained by [Vanilla Tweeks](https://vanillatweaks.net/about/).
Durability Ping was built by [The Vanilla Tweaks Team](https://vanillatweaks.net/about/). Maintained by [Vanilla Tweaks](https://vanillatweaks.net/about/).

> Learn about the details of this datapack on [vanillatweaks.net](https://vanillatweaks.net/picker/datapacks/).

## extrashell
This feature increases the drop of shulker shells to guarantee 2 `minecraft:shulker_shell` items. This will sidestep the looting requirments from MJE.
This feature increases the drop of shulker shells to guarantee 2 `minecraft:shulker_shell` items. This will sidestep the looting requirements from MJE.


## fast_leaf_decay
Adds fast leaf decay for all trees.

Fast Leaf Decay was built by [Grant](https://twitter.com/GrantGryczan). Check out the rest of [Grant's](https://github.com/GrantGryczan) work!

Maintained by [Vanilla Tweeks](https://vanillatweaks.net/about/).
Maintained by [Vanilla Tweaks](https://vanillatweaks.net/about/).

> Learn about the details of this datapack on [x.com/vanillatweaks](https://x.com/vanillatweaks/status/1294840567168479233).

## god_gear
This feature removes the exclusivity of protection type enchantments and resets the repair cost of items every time you interact with an anvil.


## invframe
This feature adds the ability to _hide_, _show_, and _find_ a `minecraft:item_frame` or `minecraft:glow_item_frame`. When a `minecraft:item_frame` or `minecraft:glow_item_frame` is hidden, it is also fixed so that you don't have the item rotating or the frame breaking. When a `minecraft:item_frame` or `minecraft:glow_item_frame` is shown, it is unfixed so that you can rotate the item and break the frame. You can use this feature by using the triggers below.
- `/trigger find_frame` ~ _This makes it possible to find a `minecraft:item_frame` or `minecraft:glow_item_frame` that is invisible and empty._
Expand All @@ -77,23 +81,23 @@ This feature adds the ability to _hide_, _show_, and _find_ a `minecraft:item_fr
## miniblocks
Adds the ability to turn minecraft blocks into mini-blocks (retextured playerheads) using a `minecraft:stonecutter`.

Mini Blocks was built by [The Vanilla Tweeks Team](https://vanillatweaks.net/about/). Maintained by [Vanilla Tweeks](https://vanillatweaks.net/about/).
Mini Blocks was built by [The Vanilla Tweaks Team](https://vanillatweaks.net/about/). Maintained by [Vanilla Tweaks](https://vanillatweaks.net/about/).

> Learn about the details of this datapack on [vanillatweaks.net](https://vanillatweaks.net/picker/datapacks/).

## more_effective_tools
Adds effective tools for blocks that do not have any such as `minecraft:glass`.

More Effective Tools was built by [The Vanilla Tweeks Team](https://vanillatweaks.net/about/). Maintained by [Vanilla Tweeks](https://vanillatweaks.net/about/).
More Effective Tools was built by [The Vanilla Tweaks Team](https://vanillatweaks.net/about/). Maintained by [Vanilla Tweaks](https://vanillatweaks.net/about/).

> Learn about the details of this datapack on [vanillatweaks.net](https://vanillatweaks.net/picker/datapacks/).

## more_mob_heads
Originaly adds a drop chance for a custom model of an entity head using the `minecraft:player_head` item. I striped out this functionality and am using part of this datapack as the back bone for the [shearheads](#shearheads) feature of my datapack. Any flaws with this datapack are not the fault of [Vanilla Tweeks's Team](https://vanillatweaks.net/about/).
Originally adds a drop chance for a custom model of an entity head using the `minecraft:player_head` item. I striped out this functionality and am using part of this datapack as the back bone for the [shearheads](#shearheads) feature of my datapack. Any flaws with this datapack are not the fault of [Vanilla Tweaks's Team](https://vanillatweaks.net/about/).

More Mob Heads was built by [The Vanilla Tweeks Team](https://vanillatweaks.net/about/). Maintained by [Vanilla Tweeks](https://vanillatweaks.net/about/).
More Mob Heads was built by [The Vanilla Tweaks Team](https://vanillatweaks.net/about/). Maintained by [Vanilla Tweaks](https://vanillatweaks.net/about/).

> Learn about the original details of this datapack on [vanillatweaks.net](https://vanillatweaks.net/picker/datapacks/).
Expand All @@ -103,7 +107,7 @@ To silence an entity rename a `minecraft:name_tag` to `/mute` (case-sensitive) a


## packauthor
This feature uses the `tellraw` command to provide information on the datapack everytime the datapack is reloaded. It also creates the following two `trigger` commands that people can use.
This feature uses the `tellraw` command to provide information on the datapack every time the datapack is reloaded. It also creates the following two `trigger` commands that people can use.
- `/trigger silence_alerts` ~ _This mutes the datapack alerts for individual features loading._
- `/trigger enable_alerts` ~ _This unmutes the datapack alerts for individual features loading._

Expand All @@ -115,8 +119,8 @@ This feature adds the ability to sit anywhere the player wants using the followi

## shearheads
This feature adds the ability to collect a `minecraft:blocks/player_head` without having to kill the player in MJE. This feature also extends to other mobs/entities as well.
> The items `minecraft:blocks/player_head` will not carry special properties that extend beyond the purpose of decorations. For example, collecting a wither skelleton head will not give you a `minecraft:blocks/wither_skeleton_skull`.
> The items `minecraft:blocks/player_head` will not carry special properties that extend beyond the purpose of decorations. For example, collecting a wither skeleton head will not give you a `minecraft:blocks/wither_skeleton_skull`.
To collect the `minecraft:blocks/player_head` you will need to craft a special item useing the recipe found in `minecraft/recipe/god_reaper.json`. This is a shapeless recipe that consists of a `minecraft:armor_stand`, `minecraft:written_book`, and `minecraft:shears`. Once this item is aquired, simply walk up to the target entity (within 5 blocks), look at them, and right click.
To collect the `minecraft:blocks/player_head` you will need to craft a special item using the recipe found in `minecraft/recipe/god_reaper.json`. This is a shapeless recipe that consists of a `minecraft:armor_stand`, `minecraft:written_book`, and `minecraft:shears`. Once this item is acquired, simply walk up to the target entity (within 5 blocks), look at them, and right click.

> __Note:__ The item from the recipe `minecraft/recipe/god_reaper.json` requires you to use the [Darkness ResourcePk](https://github.com/amcocan/darkness_resourcepack) I made. Otherwise you will get a display error for the custom item. This is due to the changes made to resource packs in the `1.21.4` version of MJE.
48 changes: 48 additions & 0 deletions data/god_gear/function/loop.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# ======= God Gear =======
# Apply the modified repair cost.
execute as @a[scores={anvil_check=1..}] run item modify entity @s player.cursor god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s weapon.offhand god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s armor.head god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s armor.body god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s armor.legs god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s armor.feet god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s hotbar.0 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s hotbar.1 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s hotbar.2 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s hotbar.3 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s hotbar.4 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s hotbar.5 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s hotbar.6 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s hotbar.7 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s hotbar.8 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.0 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.1 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.2 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.3 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.4 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.5 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.6 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.7 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.8 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.9 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.10 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.11 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.12 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.13 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.14 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.15 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.16 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.17 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.18 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.19 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.20 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.21 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.22 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.23 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.24 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.25 god_gear:repair_cost
execute as @a[scores={anvil_check=1..}] run item modify entity @s inventory.26 god_gear:repair_cost
# Reset scoreboard objective
execute as @a[scores={anvil_check=1..}] run scoreboard players reset @s anvil_checker
# Schedule function loop
schedule function god_gear:loop 5t append
5 changes: 5 additions & 0 deletions data/god_gear/function/setup.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# ======= God Gear =======
# Create scoreboard objective.
scoreboard objectives add anvil_check minecraft.custom:minecraft.interact_with_anvil "Anvil Check"
# Alert everyone that datapack loaded successfully.
tellraw @a[tag=!no_alerts] [{"text":"| ", "color":"#ff003c"}, {"text":"Status: ", "color":"#868e96"}, {"text":"God_gear function initialized successfully.", "color":"#ced4da"}]
86 changes: 86 additions & 0 deletions data/god_gear/item_modifier/repair_cost.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
[
{
"function": "minecraft:filtered",
"item_filter": {
"components": {
"minecraft:repair_cost": 1
}
},
"modifier": {
"function": "minecraft:set_components",
"components": {
"minecraft:repair_cost": 0
}
}
},
{
"function": "minecraft:filtered",
"item_filter": {
"components": {
"minecraft:repair_cost": 3
}
},
"modifier": {
"function": "minecraft:set_components",
"components": {
"minecraft:repair_cost": 0
}
}
},
{
"function": "minecraft:filtered",
"item_filter": {
"components": {
"minecraft:repair_cost": 7
}
},
"modifier": {
"function": "minecraft:set_components",
"components": {
"minecraft:repair_cost": 0
}
}
},
{
"function": "minecraft:filtered",
"item_filter": {
"components": {
"minecraft:repair_cost": 15
}
},
"modifier": {
"function": "minecraft:set_components",
"components": {
"minecraft:repair_cost": 0
}
}
},
{
"function": "minecraft:filtered",
"item_filter": {
"components": {
"minecraft:repair_cost": 31
}
},
"modifier": {
"function": "minecraft:set_components",
"components": {
"minecraft:repair_cost": 0
}
}
},
{
"function": "minecraft:filtered",
"item_filter": {
"components": {
"minecraft:repair_cost": 63
}
},
"modifier": {
"function": "minecraft:set_components",
"components": {
"minecraft:repair_cost": 0
}
}
}
]
8 changes: 8 additions & 0 deletions data/item_name_color/function/color.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# ======= Item Name Color =======
# Get the item name and store it.
# data modify storage item_color:name ori_name set from entity @s SelectedItem.components.minecraft:item_name
# data modify storage item_color:name ori_name set from entity @s SelectedItem.components.minecraft:custom_name
# Parse and re-apply the item name.

# Reset trigger.
execute as @a[scores={item_color=2..}] run scoreboard players reset @s item_color
Loading

0 comments on commit d5168fc

Please sign in to comment.