Skip to content

New mechanics for skyvoid_additions #32

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .venv/src/beet
Submodule beet added at f3cf79
Binary file removed build/skyvoid_additions_v1_2_7-MC_1_21.zip
Binary file not shown.
Binary file added build/skyvoid_additions_v1_2_8-MC_1_21.zip
Binary file not shown.
Binary file added images/additions_calcite_1lava.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/additions_calcite_2lava.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/additions_calcite_3lava.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/additions_calcite_4lava.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/additions_deepslate_from_tuff.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/additions_sand_from_gravel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/additions_sandstone_from_sand.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/additions_shulker_from_purpur.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/additions_tuff_from_magma.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 21 additions & 1 deletion src/packs/extras/skyvoid_additions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,13 @@ The following settings are disabled by default
*in Standard SkyBlock, mansions and pillager towers generate with allays, but no blocks*
Vexes will play a note block above them and will listen for a matching note played by a player (no redstone). After 5 matching notes, it will convert into an allay.

### Create Calcite from Dead Coral Blocks
*amethyst geode creation is the default way to get calcite*
Dead coral blocks can be converted into calcite by placing them next to lava. The more lava around the block, the quicker it will convert (caped at 4 lava blocks, at least one of the lava block need to be a source block, the other can be flowing)

### Tuff Convert into Deepslate
Anvil falling on tuff will convert it into deepslate

### Coal Compresses into Diamonds
*armor chipping is the default way to get diamonds (apart from end city ships)*
Anvils dropped on a stack of coal blocks will compress them into diamonds
Expand Down Expand Up @@ -193,13 +200,23 @@ Masons will gift pottery sherds based on the biome
*burning husks on dirt is the default way to get sand and red sand*
Husks can drop sand and red sand

### Gravel Convert into Sand
*burning husks on dirt is the default way to get sand*
Anvil falling on gravel will convert it into sand

### Sand Convert into Sandstone
Anvil falling on sand will convert it into sandstone

### Mason Trade Sandstone
Mason leveling up to Journeyman level have a chance to sell sandstone and red sandstone

### Shrieker Endermen Spawn
*in Standard SkyBlock sculk shriekers generate*
Endermen can spawn on deepslate tiles holding sculk shriekers that can spawn wardens when placed by the enderman

### Shulkers from Lightning
*in Standard SkyBlock end cities generate with skulkers, but no blocks*
Purpur struck by lightning will convert into a shulker
Lightning hiting a lightning rod attached to a purpur block will convert it into a shulker

### Wandering Traders Sell Sniffer Eggs
*drowneds hatching sniffer eggs is the default way to get sniffers*
Expand All @@ -218,5 +235,8 @@ Wandering traders will sell pottery sherds exclusive to trial chambers
### Heavy Core Renewability
Falling anvils shot by a breeze have a chance to convert into a heavy core

### Magma block Convert into Tuff
A magma block hit by a wind charge will convert into tuff

### Ominous Keys from Ominous Raid Captains
Raid Captains in a level 5 raid can drop ominous trial keys
2 changes: 1 addition & 1 deletion src/packs/extras/skyvoid_additions/beet.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
id: 'skyvoid_additions'
name: 'Sky Void Additions'
author: 'BPR'
version: 1.2.7
version: 1.2.8

require:
- bolt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
"name": "minecraft:book",
"functions": [
{
"function": "minecraft:set_enchantments",
"enchantments": {
"minecraft:swift_sneak": 1
}
"function": "minecraft:enchant_randomly",
"options": [
"minecraft:swift_sneak"
]
}
],
"conditions": [
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"criteria": {
"requirement": {
"trigger": "minecraft:placed_block",
"conditions": {
"player": [
{
"condition": "minecraft:value_check",
"value": {
"type": "minecraft:score",
"target": {
"type": "minecraft:fixed",
"name": "skyvoid_additions"
},
"score": "load.status"
},
"range": 1
},
{
"condition": "minecraft:value_check",
"value": {
"type": "minecraft:score",
"target": {
"type": "minecraft:fixed",
"name": "calcite_from_dead_coral"
},
"score": "skyvoid_config"
},
"range": 1
}
],
"location": [
{
"condition": "minecraft:location_check",
"predicate": {
"block": {
"blocks": [
"minecraft:dispenser"
]
}
}
}
]
}
}
},
"rewards": {
"function": "skyvoid_additions:mechanics/calcite_from_dead_coral/summon_marker/placed_dispenser"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
{
"criteria": {
"requirement": {
"trigger": "minecraft:placed_block",
"conditions": {
"player": [
{
"condition": "minecraft:any_of",
"terms": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"mainhand": {
"items": [
"minecraft:lava_bucket"
]
}
}
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"offhand": {
"items": [
"minecraft:lava_bucket"
]
},
"mainhand": {
"count": 0
}
}
}
}
]
},
{
"condition": "minecraft:value_check",
"value": {
"type": "minecraft:score",
"target": {
"type": "minecraft:fixed",
"name": "skyvoid_additions"
},
"score": "load.status"
},
"range": 1
},
{
"condition": "minecraft:value_check",
"value": {
"type": "minecraft:score",
"target": {
"type": "minecraft:fixed",
"name": "calcite_from_dead_coral"
},
"score": "skyvoid_config"
},
"range": 1
}
],
"location": [
{
"condition": "minecraft:location_check",
"predicate": {
"block": {
"blocks": [
"minecraft:lava"
]
}
}
}
]
}
}
},
"rewards": {
"function": "skyvoid_additions:mechanics/calcite_from_dead_coral/summon_marker/placed_lava"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"criteria": {
"requirement": {
"trigger": "minecraft:placed_block",
"conditions": {
"player": [
{
"condition": "minecraft:value_check",
"value": {
"type": "minecraft:score",
"target": {
"type": "minecraft:fixed",
"name": "skyvoid_additions"
},
"score": "load.status"
},
"range": 1
},
{
"condition": "minecraft:value_check",
"value": {
"type": "minecraft:score",
"target": {
"type": "minecraft:fixed",
"name": "tuff_from_magma"
},
"score": "skyvoid_config"
},
"range": 1
}
],
"location": [
{
"condition": "minecraft:location_check",
"predicate": {
"block": {
"blocks": [
"minecraft:dispenser"
]
}
}
}
]
}
}
},
"rewards": {
"function": "skyvoid_additions:mechanics/tuff_from_magma/summon_marker/placed_dispenser"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,10 @@ execute unless score vaults_from_ominous_raid_captains skyvoid_config matches 0.

# off by default
execute unless score allay_conversion skyvoid_config matches 0..1 run scoreboard players set allay_conversion skyvoid_config 0
execute unless score calcite_from_dead_coral skyvoid_config matches 0..1 run scoreboard players set calcite_from_dead_coral skyvoid_config 0
execute unless score chamber_sherds_from_traders skyvoid_config matches 0..1 run scoreboard players set chamber_sherds_from_traders skyvoid_config 0
execute unless score cobwebs_from_spiders skyvoid_config matches 0..1 run scoreboard players set cobwebs_from_spiders skyvoid_config 0
execute unless score deepslate_from_tuff skyvoid_config matches 0..1 run scoreboard players set deepslate_from_tuff skyvoid_config 0
execute unless score diamonds_from_coal_blocks skyvoid_config matches 0..1 run scoreboard players set diamonds_from_coal_blocks skyvoid_config 0
execute unless score dragon_egg_drop skyvoid_config matches 0..1 run scoreboard players set dragon_egg_drop skyvoid_config 0
execute unless score dragon_elytra_drop skyvoid_config matches 0..1 run scoreboard players set dragon_elytra_drop skyvoid_config 0
Expand All @@ -62,12 +64,16 @@ execute unless score netherrack_from_bartering skyvoid_config matches 0..1 run s
execute unless score nylium_from_bartering skyvoid_config matches 0..1 run scoreboard players set nylium_from_bartering skyvoid_config 0
execute unless score portal_frame_from_enderman skyvoid_config matches 0..1 run scoreboard players set portal_frame_from_enderman skyvoid_config 0
execute unless score pottery_sherd_mason_gift skyvoid_config matches 0..1 run scoreboard players set pottery_sherd_mason_gift skyvoid_config 0
execute unless score sand_from_gravel skyvoid_config matches 0..1 run scoreboard players set sand_from_gravel skyvoid_config 0
execute unless score sand_from_husk_kill skyvoid_config matches 0..1 run scoreboard players set sand_from_husk_kill skyvoid_config 0
execute unless score sandstone_from_packing_sand skyvoid_config matches 0..1 run scoreboard players set sandstone_from_packing_sand skyvoid_config 0
execute unless score silverfish_from_lightning skyvoid_config matches 0..1 run scoreboard players set silverfish_from_lightning skyvoid_config 0
execute unless score shriekers_from_enderman skyvoid_config matches 0..1 run scoreboard players set shriekers_from_enderman skyvoid_config 0
execute unless score shulkers_from_lightning skyvoid_config matches 0..1 run scoreboard players set shulkers_from_lightning skyvoid_config 0
execute unless score sniffer_eggs_from_traders skyvoid_config matches 0..1 run scoreboard players set sniffer_eggs_from_traders skyvoid_config 0
execute unless score sweet_berries_from_traders skyvoid_config matches 0..1 run scoreboard players set sweet_berries_from_traders skyvoid_config 0
execute unless score tuff_from_magma skyvoid_config matches 0..1 run scoreboard players set tuff_from_magma skyvoid_config 0
execute unless score sandstone_mason_trade skyvoid_config matches 0..1 run scoreboard players set sandstone_mason_trade skyvoid_config 0

# additional logic
scoreboard players set ominous_raid_captains skyvoid_config 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ all_settings = [
"name": "Bastion Loot from Suspicious Gravel",
"desc": "Sniffers placing suspicious gravel in a bastion remnant can contain bastion loot.\n**Requires Sneezy Suspicious Sniffers"
},
{
"id": "calcite_from_dead_coral",
"name": "Create Calcite from Dead Coral Blocks",
"desc": "Dead coral blocks can be converted into calcite by placing them next to lava. The more lava around the block, the quicker it will convert (caped at 4 lava blocks, at least one of the lava block need to be a source block, the other can be flowing)."
},
{
"id": "cave_spiders_in_cobwebs",
"name": "Cave Spiders Spawn in Cobwebs",
Expand Down Expand Up @@ -75,6 +80,11 @@ all_settings = [
"id": "dead_bushes_from_fishing",
"name": "Dead Bush Fishing",
"desc": "Dead bushes can be fished as junk in deserts and badlands"
},
{
"id": "deepslate_from_tuff",
"name": "Tuff Convert into Deepslate",
"desc": "Anvil falling on tuff will convert it into deepslate"
},
{
"id": "diamonds_from_coal_blocks",
Expand Down Expand Up @@ -226,11 +236,26 @@ all_settings = [
"name": "Burnt Husks Create Sand",
"desc": "Husks that die on fire will convert dirt into sand below them, and coarse dirt into red sand"
},
{
"id": "sand_from_gravel",
"name": "Gravel Convert into Sand",
"desc": "Anvil falling on gravel will convert it into sand"
},
{
"id": "sand_from_husk_kill",
"name": "Husks Drop Sand",
"desc": "Husks can drop sand and red sand"
},
{
"id": "sandstone_from_packing_sand",
"name": "Sand Convert into Sandstone",
"desc": "Anvil falling on sand will convert it into sandstone"
},
{
"id": "sandstone_mason_trade",
"name": "Mason Trade Sandstone",
"desc": "Mason leveling up to Journeyman level have a chance to sell sandstone and red sandstone"
},
{
"id": "shriekers_from_enderman",
"name": "Shrieker Endermen Spawn",
Expand All @@ -239,7 +264,7 @@ all_settings = [
{
"id": "shulkers_from_lightning",
"name": "Shulkers from Lightning",
"desc": "Purpur struck by lightning will convert into a shulker"
"desc": "Lightning hiting a lightning rod attached to a purpur block will convert it into a shulker"
},
{
"id": "silverfish_from_lightning",
Expand Down Expand Up @@ -301,6 +326,11 @@ all_settings = [
"name": "Trial Spawners from Sculk",
"desc": "Players in trial chambers with Bad Omen V can convert shriekers into trial spawners by killing mobs on shriekers above a catalyst"
},
{
"id": "tuff_from_magma",
"name": "Magma block Convert into Tuff",
"desc": "A magma block hit by a wind charge will convert into tuff"
},
{
"id": "vaults_from_ominous_raid_captains",
"name": "Vaults from Ominous Raid Captains",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# processes dead coral block markers
# @s = dead_coral block marker
# located at @s
# run from skyvoid_additions:mechanics/calcite_from_dead_coral/clock
scoreboard players set $lava_count skyvoid_additions 0

# Check for lava around the dead coral block
execute if entity @s[tag=skyvoid_additions_dead_coral_block] align xyz positioned ~0.5 ~0.5 ~0.5 if block ~1 ~ ~ lava run scoreboard players add $lava_count skyvoid_additions 1
execute if entity @s[tag=skyvoid_additions_dead_coral_block] align xyz positioned ~0.5 ~0.5 ~0.5 if block ~-1 ~ ~ lava run scoreboard players add $lava_count skyvoid_additions 1
execute if entity @s[tag=skyvoid_additions_dead_coral_block] align xyz positioned ~0.5 ~0.5 ~0.5 if block ~ ~1 ~ lava run scoreboard players add $lava_count skyvoid_additions 1
execute if entity @s[tag=skyvoid_additions_dead_coral_block] align xyz positioned ~0.5 ~0.5 ~0.5 if block ~ ~-1 ~ lava run scoreboard players add $lava_count skyvoid_additions 1
execute if entity @s[tag=skyvoid_additions_dead_coral_block] align xyz positioned ~0.5 ~0.5 ~0.5 if block ~ ~ ~1 lava run scoreboard players add $lava_count skyvoid_additions 1
execute if entity @s[tag=skyvoid_additions_dead_coral_block] align xyz positioned ~0.5 ~0.5 ~0.5 if block ~ ~ ~-1 lava run scoreboard players add $lava_count skyvoid_additions 1

# Convert to calcite depending on probability (90% chance every 10sec with 4 lava around, 60% with 2 or 3 lava, 44% with one lava)
execute if score $lava_count skyvoid_additions matches 4..6 if predicate skyvoid_additions:dead_coral_conversion/four_lava run setblock ~ ~ ~ calcite
execute if score $lava_count skyvoid_additions matches 2..3 if predicate skyvoid_additions:dead_coral_conversion/two_tree_lava run setblock ~ ~ ~ calcite
execute if score $lava_count skyvoid_additions matches 1 if predicate skyvoid_additions:dead_coral_conversion/one_lava run setblock ~ ~ ~ calcite

# kill the dead coral block merker if block (dead coral) no longer exists
execute if entity @s[tag=skyvoid_additions_dead_coral_block] unless block ~ ~ ~ #skyvoid_additions:calcite_from_dead_coral_blocks/converts_to_calcite run kill @s
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
schedule function skyvoid_additions:mechanics/calcite_from_dead_coral/clock 10s

execute as @e[type=marker,tag=skyvoid_additions_calcite_creation] at @s run function skyvoid_additions:mechanics/calcite_from_dead_coral/detect_coral_from_marker
execute as @e[type=marker,tag=skyvoid_additions_dead_coral_block] at @s run function skyvoid_additions:mechanics/calcite_from_dead_coral/check_surroundings
Loading