Jewish-themed datapack (jpack)
Jewish-themed datapack, with a few features to make your playing experience more Jewish.
Jewish-themed datapack (jpack)
jpack: A collection of Jewish-themed features
Dependencies & Credits
- This datapack requires a supplamentary resource pack, available at the download page. - This datapack is dependant on the bookshelf utility pack. Specifically, it requires the ID and Raycast modules. - This datapack comes with a generated & modified version of the Iris raycasting datapack by Aeldrion on GitHub, which is provided under the 0BSD license.
Dependencies & credits for older versions
- Until version 1.2.0, this datapack depended on the GU datapack made by gibbsly, which can be obtained from GitHub or from this Modrinth fork.
Player-Level information
Datapack Management
This datapack adds the following features to the game: - jflags: Jewish symbols as banner patterns. - jtime: Jewish weekdays, including villagers resting during Shabat. - jfood: Adds Jewish Kashrut rules into Minecraft (with the option to opt in/out keeping Kashrut).
Any unit's functions can be turned on/off by using the command: ``` function jpack:<enable/disable>/<unit> ``` For instance, if the jfood unit causes lag, it can be turned off by using the command: ``` function jpack:disable/jfood ``` (all units are enabled by default). - Note: This only turns off any of the unit's functions that are running in the background. For instance, if you turn off the jfood unit, items will still get the "Kosher" tag, but nothing will happen to a Kosher-keeping player who eats non-Kosher food (see below). It is for this reason that the jflags unit cannot be disabled (as it has no functions running).
jflags unit
This datapack adds several Jewish symbols for banners, as of now this includes different variations of Magen David and Hebrew letters & vowels. All patterns are available in the loom without need of additional items.
- Note: At the moments, Hebrew vowels on shields are not supported.
jtime unit
When this unit is on: - The current weekday will be displayed on the right side of the screen. - The current time of the day can be seen by holding a clock (which shows the daytime above the player's hotbar) or by placing a clock in an item frame (which displays the current daytime above the item frame). - Day changes at night as per Jewish tradition/law. Specifically, the day changes at sunset, 19:00. When the time is between 19:00 and 23:59, the displayed weekday states that it is the evening before this day (e.g. 'Erev Shabat on sunset before Shabat). - During Shabat, villagers are resting: no trades, no work. - Shabat always enters at 19:00 and leaves at 20:00.
jfood unit
This unit adds Kashrut rules into Minecraft, giving each individual player the option to opt in/out keeping Kashrut. - All players are opted out by default. - To opt in, the player has to use the command: ``` /trigger KeepKosher ``` (this command is available to all players, regardless of whether they have permission to run commands or not). - To opt out, the player has to use the command: ``` /trigger StopKeepingKosher ``` (this command is available to all players, regardless of whether they have permission to run commands or not). - When a player is opted-in to keeping Kashrut, they have to keep Kashrut ruled (see below). If a Kosher-keeping player breaks Kashrut rules, they get nausia for 30 seconds. - Kashrut rules are as follows: - Meat-to-milk cooldown: The player has to wait 3 or 6 minutes after eating meat before they drinking milk (the cooldown is set to 3 minutes by default, player can switch between 3 or 6 minutes by using the command `/trigger SwitchMeatToMilkCooldown`). - The following items are never Kosher: porkchop, cooked porkchop, rabbit, cooked rabbit, rabbit stew, pufferfish. - The following items should only by consumed if they have the "Kashrut" tag (see below): milk bucket, mushroom stew, mutton, cooked mutton, beef, steak, chicken, cooked chicken, cod, cooked cod, salmon, cooked salmon, tropical fish (in which case a "Kosher" label is added to the item). - A piece of beef, mutton, chicken, cod, salmon or tropical fish only gets the Kosher tag if the animal was butchered in a single hit using an axe. - A piece of Kosher meat has to be cooked in a Kosher smoker in order for it to remain Kosher. A freshly-crafted smoker is always Kosher, until used to cook a non-Kosher item. A non-Kosher smoker can be turned Kosher by cooking a piece of wet sponge in it. The smoker GUI indicates if the smoker is Kosher, if it doesn't state "Kosher" then it isn't Kosher. Furnaces are never Kosher as they can be used to cook things that are not food. - A milk bucket is only Kosher if the cow/mooshroom using a Kosher bucket (see below). - A freshly-crafted mushroom stew is always Kosher Parve. A mushroom stew milked from a mooshroom is Kosher Dairy, only if it was milked with a Kosher bowl (otherwise it is not Kosher). - A bucket/bowl is Kosher Parve when freshly crafted. If later it is used to milk a cow/mooshroom then it becomes Kosher Dairy. - A non-Kosher bucket can be turned Kosher Parve by putting Lava in it. - Any items not mentioned here are always Kosher (with no need of a Kosher tag). - In general, items that you find (in dungeons etc.) that require the Kosher tag in order to be Kosher are never Kosher when you find them - you don't know what they've been through.
Technical information
jtime unit
Commands - A player with command-running permissions can set the current weekday and daytime by using the following commands (Note: These commands do reset the moonphase): - `/function jtime:set_time/day` Sets the time to day (07:00) in the current weekday. - `/function jtime:set_time/noon` Sets the time to noon (12:00) in the current weekday. - `/function jtime:set_time/night` Sets the time to night (19:00) in the current weekday. - `/function jtime:set_time/midnight` Sets the time to midnight (00:00) in the current weekday. - `/function jtime:set_time/<weekday>` Sets the weekday to `<weekday>` (which can be sunday, monday, ..., shabat), while keeping the current daytime as it is. - `/function jtime:set_time/daytime {daytime: <daytime>}` Sets the time to a given daytime, with `<daytime>` being the amount of ticks into the day. E.g. 0 means 00:00, 13000 means 19:00. - `/function jtime:set_time/weekday {weekday: <weekday>}` Sets the weekday to a given weekday, with `<weekday>` being a number in range 0..6 (0 means Sunday, 6 means Shabat). - `/function jtime:set_time/full {weekday: <weekday>, daytime: <daytime>}` Set the time to a specific weekday and daytime, when: - `<weekday>` is replaced with a number in range 0..6 (0 means Sunday, 6 means Shabat). - `<daytime>` is replaced with the amount of ticks into the day. E.g. 0 means 00:00, 13000 means 19:00.
Function (event) tags - The following function tags exist in the datapack, and can be extended to add functionality: - `#jtime:event/on_hol_loop`: Runs in a loop every second of a non-Shabat day. - `#jtime:event/on_shabat_loop`: Runs in a loop every second of Shabat. - `#jtime:event/on_shabat_enter`: Runs once every time Shabat enters (single tick). - `#jtime:event/on_shabat_leave`: Runs once every time Shabat leaves (single tick). - `#jtime:event/on_weekday_change`: Runs when the weekday changes (that is 19:00 at the end of every non-Shabat day and 20:00 at the end of Shabat). - `#jtime:event/on_frame_got_clock`: Runs in a loop as any item frame entity which has a clock in it. - `#jtime:event/on_frame_lost_clock`: Runs once as any item frame entity that used to have a clock in it, and just had it removed. - `#jtime:event/on_holding_clock`: Runs in a loop every second as any player that is holding a clock (on either hand). - `#jtime:event/on_talked_to_villager`: Runs once as any player that interacted with a villager (without a GUI opening). - NOTE: These tags can be extended, not replaced. Replacing these tags may damage the datapack's functionality.
jfood unit
Item tags - The following item tags exist in the datapack: - `#jfood:certainly_nonkosher`: Items that are never Kosher. - `#jfood:potentially_nonkosher`: Items that require a "Kosher" tag in order to be Kosher. - Any consumable items that are in neither of these tags, are always Kosher (with no need of a Kosher stamp).
Function (event) tags - The following function tags exist in the datapack, and can be extended to add functionality: - `#jfood:event/on_consumed_kosher_meat`: Runs once as any player that has just consumed Kosher meat. - `#jfood:event/on_consumed_kosher_milk`: Runs once as any player that has just consumed Kosher milk (from a bucket). - `#jfood:event/on_kashruth_break`: Runs once as any player that has just broken Kosher rules, event if said player isn't opted-in to keeping Kosher; You can exit the function for non-Kosher-keeping players by using `execute unless entity @s[tag=jfood.keeping_kosher] run return 0`. - `#jfood:event/on_kashruth_opt_in`: Runs once as any player that has just opted in to keeping Kashrut. - `#jfood:event/on_kashruth_opt_out`: Runs once as any player that has just opted out from keeping Kashrut. - `#jfood:event/on_switch_meat_to_milk_cooldown`: Runs once as any player that has just switch their meat-to-milk cooldown (from 3 to 6 or vise-versa).