diff --git a/src/generated/resources/data/hybrid-aquatic/advancements/brine.json b/src/generated/resources/data/hybrid-aquatic/advancements/brine.json new file mode 100644 index 000000000..ea4ca6de6 --- /dev/null +++ b/src/generated/resources/data/hybrid-aquatic/advancements/brine.json @@ -0,0 +1,32 @@ +{ + "criteria": { + "enter_brine": { + "conditions": { + "block": "hybrid-aquatic:brine" + }, + "trigger": "minecraft:enter_block" + } + }, + "display": { + "announce_to_chat": true, + "background": "minecraft:textures/gui/advancements/backgrounds/adventure.png", + "description": { + "translate": "advancements.hybrid-aquatic.brine.description" + }, + "frame": "task", + "hidden": false, + "icon": { + "item": "hybrid-aquatic:brine_bucket" + }, + "show_toast": true, + "title": { + "translate": "advancements.hybrid-aquatic.brine.title" + } + }, + "requirements": [ + [ + "enter_brine" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/fluids/water.json b/src/generated/resources/data/minecraft/tags/fluids/water.json new file mode 100644 index 000000000..aac72c8ba --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/fluids/water.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "hybrid-aquatic:brine", + "hybrid-aquatic:flowing_brine" + ] +} \ No newline at end of file diff --git a/src/main/kotlin/dev/hybridlabs/aquatic/data/server/AdvancementProvider.kt b/src/main/kotlin/dev/hybridlabs/aquatic/data/server/AdvancementProvider.kt index 26ebe3e2a..a9ad3f21d 100644 --- a/src/main/kotlin/dev/hybridlabs/aquatic/data/server/AdvancementProvider.kt +++ b/src/main/kotlin/dev/hybridlabs/aquatic/data/server/AdvancementProvider.kt @@ -135,7 +135,7 @@ class AdvancementProvider(output: FabricDataOutput) : FabricAdvancementProvider( EnterBlockCriterion.Conditions.block(BRINE) ) .build(Identifier("hybrid-aquatic", "brine")) - consumer?.accept(divingSuitAdvancement) + consumer?.accept(brineAdvancement) val obtainPearlAdvancement = Advancement.Builder.create() .parent(rootAdvancement) diff --git a/src/main/kotlin/dev/hybridlabs/aquatic/data/server/tag/FluidTagProvider.kt b/src/main/kotlin/dev/hybridlabs/aquatic/data/server/tag/FluidTagProvider.kt index fd9969bf8..3b9750826 100644 --- a/src/main/kotlin/dev/hybridlabs/aquatic/data/server/tag/FluidTagProvider.kt +++ b/src/main/kotlin/dev/hybridlabs/aquatic/data/server/tag/FluidTagProvider.kt @@ -5,6 +5,7 @@ import dev.hybridlabs.aquatic.tag.HybridAquaticFluidTags import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider import net.minecraft.registry.RegistryWrapper +import net.minecraft.registry.tag.FluidTags import java.util.concurrent.CompletableFuture class FluidTagProvider(output: FabricDataOutput, registriesFuture: CompletableFuture) : FabricTagProvider.FluidTagProvider(output, registriesFuture) { @@ -16,5 +17,12 @@ class FluidTagProvider(output: FabricDataOutput, registriesFuture: CompletableFu ).forEach { fluids -> getOrCreateTagBuilder(HybridAquaticFluidTags.BRINE).add(fluids) } + + setOf( + HybridAquaticFluids.BRINE, + HybridAquaticFluids.FLOWING_BRINE, + ).forEach { fluids -> + getOrCreateTagBuilder(FluidTags.WATER).add(fluids) + } } } diff --git a/src/main/kotlin/dev/hybridlabs/aquatic/item/HybridAquaticItems.kt b/src/main/kotlin/dev/hybridlabs/aquatic/item/HybridAquaticItems.kt index a0c9e15aa..e32194893 100644 --- a/src/main/kotlin/dev/hybridlabs/aquatic/item/HybridAquaticItems.kt +++ b/src/main/kotlin/dev/hybridlabs/aquatic/item/HybridAquaticItems.kt @@ -20,17 +20,76 @@ import net.minecraft.util.math.Direction object HybridAquaticItems { - val DIVING_HELMET: Item = register("diving_helmet", DivingArmorItem(HybridAquaticArmorMaterials.DIVING, ArmorItem.Type.HELMET, FabricItemSettings().maxCount(1))) - val DIVING_SUIT: Item = register("diving_suit", DivingArmorItem(HybridAquaticArmorMaterials.DIVING, ArmorItem.Type.CHESTPLATE, FabricItemSettings().maxCount(1))) - val DIVING_LEGGINGS: Item = register("diving_leggings", DivingArmorItem(HybridAquaticArmorMaterials.DIVING, ArmorItem.Type.LEGGINGS, FabricItemSettings().maxCount(1))) - val DIVING_BOOTS: Item = register("diving_boots", DivingArmorItem(HybridAquaticArmorMaterials.DIVING, ArmorItem.Type.BOOTS, FabricItemSettings().maxCount(1))) - val NAUTILUS_HELMET: Item = register("nautilus_helmet", SeashellArmorItem(HybridAquaticArmorMaterials.SEASHELL, ArmorItem.Type.HELMET, FabricItemSettings().maxCount(1))) - val NAUTILUS_PAULDRONS: Item = register("nautilus_pauldrons", SeashellArmorItem(HybridAquaticArmorMaterials.SEASHELL, ArmorItem.Type.CHESTPLATE, FabricItemSettings().maxCount(1))) - val TURTLE_CHESTPLATE: Item = register("turtle_chestplate", TurtleArmorItem(HybridAquaticArmorMaterials.TURTLE, ArmorItem.Type.CHESTPLATE, FabricItemSettings().maxCount(1))) - val MANGLERFISH_LURE: Item = register("manglerfish_lure", ManglerfishArmorItem(HybridAquaticArmorMaterials.MANGLERFISH, ArmorItem.Type.HELMET, FabricItemSettings().maxCount(1))) - val MANGLERFISH_FIN: Item = register("manglerfish_fin", ManglerfishArmorItem(HybridAquaticArmorMaterials.MANGLERFISH, ArmorItem.Type.CHESTPLATE, FabricItemSettings().maxCount(1))) - val EEL_SCARF: Item = register("eel_scarf", EelArmorItem(HybridAquaticArmorMaterials.EEL, ArmorItem.Type.CHESTPLATE, FabricItemSettings().maxCount(1))) - val MOON_JELLYFISH_HAT: Item = register("moon_jellyfish_hat", MoonJellyfishArmorItem(HybridAquaticArmorMaterials.MOONJELLYFISH, ArmorItem.Type.HELMET, FabricItemSettings().maxCount(1))) + val DIVING_HELMET: Item = register( + "diving_helmet", + DivingArmorItem(HybridAquaticArmorMaterials.DIVING, ArmorItem.Type.HELMET, FabricItemSettings().maxCount(1)) + ) + + val DIVING_SUIT: Item = register( + "diving_suit", + DivingArmorItem(HybridAquaticArmorMaterials.DIVING, ArmorItem.Type.CHESTPLATE, FabricItemSettings().maxCount(1)) + ) + + val DIVING_LEGGINGS: Item = register( + "diving_leggings", + DivingArmorItem(HybridAquaticArmorMaterials.DIVING, ArmorItem.Type.LEGGINGS, FabricItemSettings().maxCount(1)) + ) + + val DIVING_BOOTS: Item = register( + "diving_boots", + DivingArmorItem(HybridAquaticArmorMaterials.DIVING, ArmorItem.Type.BOOTS, FabricItemSettings().maxCount(1)) + ) + + val NAUTILUS_HELMET: Item = register( + "nautilus_helmet", + SeashellArmorItem(HybridAquaticArmorMaterials.SEASHELL, ArmorItem.Type.HELMET, FabricItemSettings().maxCount(1)) + ) + + val NAUTILUS_PAULDRONS: Item = register( + "nautilus_pauldrons", + SeashellArmorItem( + HybridAquaticArmorMaterials.SEASHELL, + ArmorItem.Type.CHESTPLATE, + FabricItemSettings().maxCount(1) + ) + ) + + val TURTLE_CHESTPLATE: Item = register( + "turtle_chestplate", + TurtleArmorItem(HybridAquaticArmorMaterials.TURTLE, ArmorItem.Type.CHESTPLATE, FabricItemSettings().maxCount(1)) + ) + + val MANGLERFISH_LURE: Item = register( + "manglerfish_lure", + ManglerfishArmorItem( + HybridAquaticArmorMaterials.MANGLERFISH, + ArmorItem.Type.HELMET, + FabricItemSettings().maxCount(1) + ) + ) + + val MANGLERFISH_FIN: Item = register( + "manglerfish_fin", + ManglerfishArmorItem( + HybridAquaticArmorMaterials.MANGLERFISH, + ArmorItem.Type.CHESTPLATE, + FabricItemSettings().maxCount(1) + ) + ) + + val EEL_SCARF: Item = register( + "eel_scarf", + EelArmorItem(HybridAquaticArmorMaterials.EEL, ArmorItem.Type.CHESTPLATE, FabricItemSettings().maxCount(1)) + ) + + val MOON_JELLYFISH_HAT: Item = register( + "moon_jellyfish_hat", + MoonJellyfishArmorItem( + HybridAquaticArmorMaterials.MOONJELLYFISH, + ArmorItem.Type.HELMET, + FabricItemSettings().maxCount(1) + ) + ) val ANEMONE = registerBlockItem("anemone", HybridAquaticBlocks.ANEMONE) val TUBE_SPONGE = registerBlockItem("tube_sponge", HybridAquaticBlocks.TUBE_SPONGE) @@ -47,7 +106,7 @@ object HybridAquaticItems { val PEARL = register("pearl", Item(FabricItemSettings())) val BLACK_PEARL = register("black_pearl", Item(FabricItemSettings())) val CUTTLEBONE = register("cuttlebone", Item(FabricItemSettings())) - val BRINE_BUCKET = register("brine_bucket", BucketItem(HybridAquaticFluids.BRINE, FabricItemSettings())) + val BRINE_BUCKET = register("brine_bucket", BucketItem(HybridAquaticFluids.BRINE, FabricItemSettings().maxCount(1))) val SEASHELL_SPEAR = register("seashell_spear", SwordItem(HybridAquaticToolMaterials.SEASHELL, 3,