This is a library mod that adds a rule-based effect system for use in Minecraft mods. Its most notable use is Waystones, where it controls the highly dynamic warp requirements, and Unbreakables, where it controls the rules of which blocks are unbreakable.
To achieve this, mods implement the Shogi API and expose properties that can then be configured using a Shogi expression, which is a simple text-based format. For information on how to write Shogi rules or how to implement Shogi for your own mod, see the documentation.
- Dynamic rule evaluation based on player, dimension, or other context
- Simple expression syntax to configure rules as well as JSON support
- Conditional logic and aggregates for advanced calculations
- Powerful configuration expansion for mod developers with many inbuilt effects
- Embeddable lightweight API for mod developers to easily add support
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 | ||||
| 17h ago | 1 |
- Fixed circular reference resulting in crash with mods including shogi-api without a shogi dependency (like Hardcore Revival)
- Fixed circular reference resulting in crash with mods including shogi-api without a shogi dependency (like Hardcore Revival)
- Fixed circular reference resulting in crash with mods including shogi-api without a shogi dependency (like Hardcore Revival)
- Fixed circular reference resulting in crash with mods including shogi-api without a shogi dependency (like Hardcore Revival)
- Fixed circular reference resulting in crash with mods including shogi-api without a shogi dependency (like Hardcore Revival)
- Fixed circular reference resulting in crash with mods including shogi-api without a shogi dependency (like Hardcore Revival)
- Added
/shogi cooldown <targets> add <identifier> <seconds>and/shogi cooldown <targets> set <identifier> <seconds>commands - Added
shogi:on_deathrule that is evaluated when an entity dies - Fixed missing i18n for
/shogi cooldowncommands
- Added
/shogi cooldown <targets> add <identifier> <seconds>and/shogi cooldown <targets> set <identifier> <seconds>commands - Added
shogi:on_deathrule that is evaluated when an entity dies - Fixed missing i18n for
/shogi cooldowncommands
- Added
/shogi cooldown <targets> add <identifier> <seconds>and/shogi cooldown <targets> set <identifier> <seconds>commands - Added
shogi:on_deathrule that is evaluated when an entity dies - Fixed missing i18n for
/shogi cooldowncommands
- Added
/shogi cooldown <targets> add <identifier> <seconds>and/shogi cooldown <targets> set <identifier> <seconds>commands - Added
shogi:on_deathrule that is evaluated when an entity dies - Fixed missing i18n for
/shogi cooldowncommands
- Added
/shogi cooldown <targets> add <identifier> <seconds>and/shogi cooldown <targets> set <identifier> <seconds>commands - Added
shogi:on_deathrule that is evaluated when an entity dies - Fixed missing i18n for
/shogi cooldowncommands
- Added
/shogi cooldown <targets> add <identifier> <seconds>and/shogi cooldown <targets> set <identifier> <seconds>commands - Added
shogi:on_deathrule that is evaluated when an entity dies - Fixed missing i18n for
/shogi cooldowncommands
- Updated to Minecraft 26.3
- Updated to Minecraft 26.3
- Fixed integer overflow in ExperiencePointsCost if the player has too many levels
- API: Allow overriding stream codec registrations without throwing
- API: Move primitive stream codecs for results that may occur without Shogi installed to
shogi-api
- Fixed integer overflow in ExperiencePointsCost if the player has too many levels
- API: Allow overriding stream codec registrations without throwing
- API: Move primitive stream codecs for results that may occur without Shogi installed to
shogi-api
- Fixed integer overflow in ExperiencePointsCost if the player has too many levels
- API: Allow overriding stream codec registrations without throwing
- API: Move primitive stream codecs for results that may occur without Shogi installed to
shogi-api
- Fixed integer overflow in ExperiencePointsCost if the player has too many levels
- API: Allow overriding stream codec registrations without throwing
- API: Move primitive stream codecs for results that may occur without Shogi installed to
shogi-api
- API: Added RuleEditBox with syntax highlighting, auto-complete suggestions and parameter tooltips
- API: Allow overriding stream codec registrations without throwing
- API: Move primitive stream codecs for results that may occur without Shogi installed to shogi-api
- API: Added RuleEditBox with syntax highlighting, auto-complete suggestions and parameter tooltips
- API: Allow overriding stream codec registrations without throwing
- API: Move primitive stream codecs for results that may occur without Shogi installed to shogi-api
- Added support for
#=macro assignments - Added
has_valueto check if variable is set - Fixed nested variable assignments not being counted for auto applied effects
- Fixed some default effects missing sync codecs
- Added support for
#=macro assignments - Added
has_valueto check if variable is set - Fixed nested variable assignments not being counted for auto applied effects
- Fixed some default effects missing sync codecs
- Added support for
#=macro assignments - Added
has_valueto check if variable is set - Fixed nested variable assignments not being counted for auto applied effects
- Fixed some default effects missing sync codecs
- Added support for
#=macro assignments - Added
has_valueto check if variable is set - Fixed nested variable assignments not being counted for auto applied effects
- Fixed some default effects missing sync codecs
- Added support for
+/-unary expressions (i.e. the exotic concept of negative numbers, lol) - Added
is_in_team(name)andlookup_team(username)effects - Added
set_food_level(number)andset_health(number)effects - Added
health_cost(number)andadd_health(number)effects - Added
hunger_cost(number)andadd_hunger(number)effects - API: Fixed
refuse()not supportingComponentcoercion
- Added support for
+/-unary expressions (i.e. the exotic concept of negative numbers, lol) - Added
is_in_team(name)andlookup_team(username)effects - Added
set_food_level(number)andset_health(number)effects - Added
health_cost(number)andadd_health(number)effects - Added
hunger_cost(number)andadd_hunger(number)effects - API: Fixed
refuse()not supportingComponentcoercion
- Added support for
+/-unary expressions (i.e. the exotic concept of negative numbers, lol) - Added
is_in_team(name)andlookup_team(username)effects - Added
set_food_level(number)andset_health(number)effects - Added
health_cost(number)andadd_health(number)effects - Added
hunger_cost(number)andadd_hunger(number)effects - API: Fixed
refuse()not supportingComponentcoercion
- Added support for
+/-unary expressions (i.e. the exotic concept of negative numbers, lol) - Added
is_in_team(name)andlookup_team(username)effects - Added
set_food_level(number)andset_health(number)effects - Added
health_cost(number)andadd_health(number)effects - Added
hunger_cost(number)andadd_hunger(number)effects - API: Fixed
refuse()not supportingComponentcoercion
- Updated to Minecraft 26.2
- Updated to Minecraft 26.2
