Toads Simple Origins: Fish Bowl

Quick rating

Toads Simple Origins: Fish Bowl

No reviews yet

Adds a custom piece of armor that allows custom origins datapacks to add a way to spend more time on land or in the nether without completely removing the challenge of only breathing underwater.

Adventure/Exploration
QoL & Tweaks
Food & Culinary
Mod Loaders
Fabric
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Required
Server Required

About

Project Details

Type
Mod
License
MIT License
Latest Version
toads_simple_origins-fish_bowl-1.2.2.jar
Authors
CurseForge
Modrinth

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID
Modrinth ID

Resources

External Links

About

Description

Toads Simple Origins: Fish Bowl

A blockbench model wearing a fish bowl.

What does this mod add?

This mod adds an armor item called the fish bowl, which has a filled and empty variant. The fish bowl can be crafted with 8 glass blocks in the following pattern.

A crafting recipe using 8 glass in the edges and corners of the crafting UI. The recipe output is an empty fish bowl.

The item can be equipped with right click while standing or placed as a block with right-click while crouching.

A gif showing a player equipping and placing a fish bowl item.

The block and equipped item can switch between being filled or unfilled in different conditions.

Example of the filling mechanic.

When a player that "has gills" wears a filled fish bowl, it will display a hud icon and begin tracking oxygen drain. Oxygen meter draining.

The amount of time it takes to drain is configurable with the generated config file, which defines the maximum oxygen in ticks. The default value is set to 6000 ticks (5 minutes). Any changes to the config can be updated in game using the "/reload" command.

How do I use this with default origins?

All of the base origins have compatibility with the items by default. If you want to disable or modify compatibility with the helmet you will need to override the json file of your targeted origin with a load priority above 1.

How do I use this with custom origins?

If you want to use the oxygen system for a custom origin, you will need to either add the base powers provided by the mod or make custom powers. If you do not know how to implement custom origins, consult the origins documentation (remember to select the correct origins version corresponding to this mod. Right now the only version supported is 1.13.x).

Drowning while wearing a filled bowl.

If you have an origin that does not breathe water, you can add the origins:has_lungs power. If you do not want to use this power, and would like to create a modified version that better fits your needs, you can use the following as a template:

{
  "hidden": true,
  "name": "Has Lungs",
  "description": "Gives compatibility with fish bowl armor as an air breather.",
  "type": "origins:multiple",

  "lose_oxygen": {
    "type": "origins:action_over_time",
    "interval": 2,
    "entity_action": {
      "type": "origins:gain_air",
      "value": -12
      },
    "condition": {
      "type": "origins:and",
      "conditions": [
        {
          "type": "origins:air",
          "comparison": ">=",
          "compare_to": -20
        },
        {
          "type": "origins:submerged_in",
          "fluid": "minecraft:water",
          "inverted": true
        },
        {
          "type": "origins:equipped_item",
          "equipment_slot": "head",
          "item_condition": {
            "type": "origins:ingredient",
            "ingredient": {
              "item": "toads_simple_origins:filled_fish_bowl"
              }
            }
        }
        ]
    }
  },

  "drown_above_water": {
    "type": "origins:action_over_time",
    "interval": 20,
    "entity_action": {
      "type": "origins:damage",
      "damage_type": "minecraft:drown",
      "amount": 2
      },
    "condition": {
      "type": "origins:and",
      "conditions": [
        {
          "type": "origins:air",
          "comparison": "<=",
          "compare_to": 5
        },
        {
          "type": "origins:submerged_in",
          "fluid": "minecraft:water",
          "inverted": true
        }
      ]
    }
  }

}

Additionally, if you have an origin that should take damage from water like the enderian or blazeborn, you can use the origins:damage_from_filled_bowl power. If you would like to use a modified version, you can use the following as a template:

{
  "hidden": true,
  "name": "Water Damage from Filled Fish Bowls",
  "description": "Gives compatibility with fish bowl armor as an origin vulnerable to water.",
  "type": "origins:damage_over_time",
  "interval": 20,
  "onset_delay": 1,
  "damage": 2,
  "damage_easy": 1,
  "damage_type": "origins:hurt_by_water",
  "protection_enchantment": "origins:water_protection",
  "protection_effectiveness": 1.0,
  "condition": {
    "type": "origins:equipped_item",
    "equipment_slot": "head",
    "item_condition": {
      "type": "origins:ingredient",
      "ingredient": {
        "item": "toads_simple_origins:filled_fish_bowl"
      }
    }
  }
}

Gaining oxygen while wearing a filled bowl.

If you have an origin that does breathe water, you can add the origins:has_gills power. If you do not want to use this power, and would like to create a modified version that better fits your needs, you can use the following as a template:

{
  "hidden": true,
  "name": "Has Gills",
  "description": "Gives compatibility with fish bowl armor as a water breather.",
  "type": "origins:multiple",

  "in_tag": {
    "type": "origins:action_on_callback",
    "entity_action_gained": {
        "type": "origins:execute_command",
        "command": "/tag @s add has_gills"
        },
    "entity_action_lost": {
        "type": "origins:execute_command",
        "command": "/tag @s remove has_gills"
        }
  },

  "gain_oxygen": {
    "type": "origins:action_over_time",
    "interval": 1,
    "entity_action": {
      "type": "origins:gain_air",
      "value": 4
      },
    "condition": {
      "type": "origins:and",
      "conditions": [
        {
          "type": "origins:submerged_in",
          "fluid": "minecraft:water",
          "inverted": true
        },
        {
          "type": "origins:equipped_item",
          "equipment_slot": "head",
          "item_condition": {
            "type": "origins:and",
            "conditions": [
              {
                "type": "origins:custom_data",
                "nbt": "{oxygenLevel:0}",
                "inverted": true
              },
              {
                "type": "origins:ingredient",
                "ingredient": {
                  "item": "toads_simple_origins:filled_fish_bowl"
                }
              }
            ]
          }
        }
      ]
    }
  }

}

What if I dont want either?

If you dont want a custom origin to interact with the oxygen system of the helmet at all, you do not have to do anything. The equipped helmet will still be equippable and behave exactly the same as an origin with the has_lungs power without actually drowning. You can also add your own power-based interactions with the helmet and oxygen system in whatever way you'd like. The main point of this mod is to implement models, items, and blocks that render nicely and track data to allow for simple power systems. You have complete freedom to make use of these resources how you please within your custom powers. (Just be sure to give credit when appropriate.)

Q&A

Will this mod ever be ported to forge/neoforge?

I do not plan to port this mod to forge or neoforge at the moment. That being said, I would probably consider porting this mod to neoforge if there is enough interest to warrant the effort.

Will this mod get support for another version of minecraft?

At the moment? No. That being said, I would definitely consider it if there is enough demand for it.

Can I add this mod to my modpack?

I would be flattered to have this mod incorporated into a modpack. Go for it.

Where can I report bugs?

I have a github repository linked below. There should be an issues tab where you can report any bugs you find. This is the only option as of right now.

Will this mod get any updates?

I have several ideas for updates for this mod, but I will probably not work on them unless there is an active demand for it. If you would be interested in seeing this mod updated, you may have to wait until I've set up a discord server.

Toads Simple Origins: Fish Bowl

A blockbench model wearing a fish bowl.

What does this mod add?

This mod adds an armor item called the fish bowl, which has a filled and empty variant. The fish bowl can be crafted with 8 glass blocks in the following pattern.

A crafting recipe using 8 glass in the edges and corners of the crafting UI. The recipe output is an empty fish bowl.

The item can be equipped with right click while standing or placed as a block with right-click while crouching.

A gif showing a player equipping and placing a fish bowl item.

The block and equipped item can switch between being filled or unfilled in different conditions.

Example of the filling mechanic.

When a player that "has gills" wears a filled fish bowl, it will display a hud icon and begin tracking oxygen drain. Oxygen meter draining.

The amount of time it takes to drain is configurable with the generated config file, which defines the maximum oxygen in ticks. The default value is set to 6000 ticks (5 minutes). Any changes to the config can be updated in game using the "/reload" command.

How do I use this with default origins?

All of the base origins have compatibility with the items by default. If you want to disable or modify compatibility with the helmet you will need to override the json file of your targeted origin with a load priority above 1.

How do I use this with custom origins?

If you want to use the oxygen system for a custom origin, you will need to either add the base powers provided by the mod or make custom powers. If you do not know how to implement custom origins, consult the origins documentation (remember to select the correct origins version corresponding to this mod. Right now the only version supported is 1.13.x).

Drowning while wearing a filled bowl.

If you have an origin that does not breathe water, you can add the origins:has_lungs power. If you do not want to use this power, and would like to create a modified version that better fits your needs, you can use the following as a template:

{
  "hidden": true,
  "name": "Has Lungs",
  "description": "Gives compatibility with fish bowl armor as an air breather.",
  "type": "origins:multiple",

  "lose_oxygen": {
    "type": "origins:action_over_time",
    "interval": 2,
    "entity_action": {
      "type": "origins:gain_air",
      "value": -12
      },
    "condition": {
      "type": "origins:and",
      "conditions": [
        {
          "type": "origins:air",
          "comparison": ">=",
          "compare_to": -20
        },
        {
          "type": "origins:submerged_in",
          "fluid": "minecraft:water",
          "inverted": true
        },
        {
          "type": "origins:equipped_item",
          "equipment_slot": "head",
          "item_condition": {
            "type": "origins:ingredient",
            "ingredient": {
              "item": "toads_simple_origins:filled_fish_bowl"
              }
            }
        }
        ]
    }
  },

  "drown_above_water": {
    "type": "origins:action_over_time",
    "interval": 20,
    "entity_action": {
      "type": "origins:damage",
      "damage_type": "minecraft:drown",
      "amount": 2
      },
    "condition": {
      "type": "origins:and",
      "conditions": [
        {
          "type": "origins:air",
          "comparison": "<=",
          "compare_to": 5
        },
        {
          "type": "origins:submerged_in",
          "fluid": "minecraft:water",
          "inverted": true
        }
      ]
    }
  }

}

Additionally, if you have an origin that should take damage from water like the enderian or blazeborn, you can use the origins:damage_from_filled_bowl power. If you would like to use a modified version, you can use the following as a template:

{
  "hidden": true,
  "name": "Water Damage from Filled Fish Bowls",
  "description": "Gives compatibility with fish bowl armor as an origin vulnerable to water.",
  "type": "origins:damage_over_time",
  "interval": 20,
  "onset_delay": 1,
  "damage": 2,
  "damage_easy": 1,
  "damage_type": "origins:hurt_by_water",
  "protection_enchantment": "origins:water_protection",
  "protection_effectiveness": 1.0,
  "condition": {
    "type": "origins:equipped_item",
    "equipment_slot": "head",
    "item_condition": {
      "type": "origins:ingredient",
      "ingredient": {
        "item": "toads_simple_origins:filled_fish_bowl"
      }
    }
  }
}

Gaining oxygen while wearing a filled bowl.

If you have an origin that does breathe water, you can add the origins:has_gills power. If you do not want to use this power, and would like to create a modified version that better fits your needs, you can use the following as a template:

{
  "hidden": true,
  "name": "Has Gills",
  "description": "Gives compatibility with fish bowl armor as a water breather.",
  "type": "origins:multiple",

  "in_tag": {
    "type": "origins:action_on_callback",
    "entity_action_gained": {
        "type": "origins:execute_command",
        "command": "/tag @s add has_gills"
        },
    "entity_action_lost": {
        "type": "origins:execute_command",
        "command": "/tag @s remove has_gills"
        }
  },

  "gain_oxygen": {
    "type": "origins:action_over_time",
    "interval": 1,
    "entity_action": {
      "type": "origins:gain_air",
      "value": 4
      },
    "condition": {
      "type": "origins:and",
      "conditions": [
        {
          "type": "origins:submerged_in",
          "fluid": "minecraft:water",
          "inverted": true
        },
        {
          "type": "origins:equipped_item",
          "equipment_slot": "head",
          "item_condition": {
            "type": "origins:and",
            "conditions": [
              {
                "type": "origins:custom_data",
                "nbt": "{oxygenLevel:0}",
                "inverted": true
              },
              {
                "type": "origins:ingredient",
                "ingredient": {
                  "item": "toads_simple_origins:filled_fish_bowl"
                }
              }
            ]
          }
        }
      ]
    }
  }

}

What if I dont want either?

If you dont want a custom origin to interact with the oxygen system of the helmet at all, you do not have to do anything. The equipped helmet will still be equippable and behave exactly the same as an origin with the has_lungs power without actually drowning. You can also add your own power-based interactions with the helmet and oxygen system in whatever way you'd like. The main point of this mod is to implement models, items, and blocks that render nicely and track data to allow for simple power systems. You have complete freedom to make use of these resources how you please within your custom powers. (Just be sure to give credit when appropriate.)

Q&A

Will this mod ever be ported to forge/neoforge?

I do not plan to port this mod to forge or neoforge at the moment. That being said, I would probably consider porting this mod to neoforge if there is enough interest to warrant the effort.

Will this mod get support for another version of minecraft?

At the moment? No. That being said, I would definitely consider it if there is enough demand for it.

Can I add this mod to my modpack?

I would be flattered to have this mod incorporated into a modpack. Go for it.

Where can I report bugs?

I have a github repository linked below. There should be an issues tab where you can report any bugs you find. This is the only option as of right now.

Will this mod get any updates?

I have several ideas for updates for this mod, but I will probably not work on them unless there is an active demand for it. If you would be interested in seeing this mod updated, you may have to wait until I've set up a discord server.

Screenshots

Gallery

  • Items, Armor Models, and Block Models
    Items, Armor Models, and Block Models Shows the filled and unfilled models for the fish bowl as an item, equipped armor piece, and placed block.
  • Bubble
    Bubble The oxygen meter that is displayed when worn by an origin that "has_gills".
  • Filled in the rain.
    Filled in the rain. Fish bowls can be filled in several ways, this shows the bowl filling in the rain while placed as a block.
  • Equip vs Place
    Equip vs Place Shows the difference between equipping the armor item and placing it as a block.
  • Crafting Recipe
    Crafting Recipe The crafting recipe for the fish bowl.
  • Merling Wearing Fishbowl (BlockBench)
    Merling Wearing Fishbowl (BlockBench) A display model equipped with a fish bowl armor item.
  • Merling Wearing Fishbowl (BlockBench)
    Merling Wearing Fishbowl (BlockBench) A display model equipped with a fish bowl armor item.
  • Crafting Recipe
    Crafting Recipe The crafting recipe for the fish bowl.
  • Equip vs Place
    Equip vs Place Shows the difference between equipping the armor item and placing it as a block.
  • Filled in the rain.
    Filled in the rain. Fish bowls can be filled in several ways, this shows the bowl filling in the rain while placed as a block.
  • Bubble
    Bubble The oxygen meter that is displayed when worn by an origin that "has_gills".
  • Items, Armor Models, and Block Models
    Items, Armor Models, and Block Models Shows the filled and unfilled models for the fish bowl as an item, equipped armor piece, and placed block.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Total Downloads
CurseForge
<1,000
Modrinth
<1,000
Last Updated
CurseForge
Created
CurseForge
Modrinth
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works