diff --git a/projectfiles/Kyiv_cutlet.aseprite b/projectfiles/Kyiv_cutlet.aseprite new file mode 100644 index 0000000..3b2c479 Binary files /dev/null and b/projectfiles/Kyiv_cutlet.aseprite differ diff --git a/projectfiles/Sauerkraut_soup/cooking_pot_bottom.png b/projectfiles/Sauerkraut_soup/cooking_pot_bottom.png new file mode 100644 index 0000000..a339bba Binary files /dev/null and b/projectfiles/Sauerkraut_soup/cooking_pot_bottom.png differ diff --git a/projectfiles/Sauerkraut_soup/cooking_pot_parts.png b/projectfiles/Sauerkraut_soup/cooking_pot_parts.png new file mode 100644 index 0000000..4e1ce61 Binary files /dev/null and b/projectfiles/Sauerkraut_soup/cooking_pot_parts.png differ diff --git a/projectfiles/Sauerkraut_soup/cooking_pot_side.png b/projectfiles/Sauerkraut_soup/cooking_pot_side.png new file mode 100644 index 0000000..fa08d61 Binary files /dev/null and b/projectfiles/Sauerkraut_soup/cooking_pot_side.png differ diff --git a/projectfiles/Sauerkraut_soup/cooking_pot_top.png b/projectfiles/Sauerkraut_soup/cooking_pot_top.png new file mode 100644 index 0000000..fb4b509 Binary files /dev/null and b/projectfiles/Sauerkraut_soup/cooking_pot_top.png differ diff --git a/projectfiles/Sauerkraut_soup/inside.png b/projectfiles/Sauerkraut_soup/inside.png new file mode 100644 index 0000000..c690ff6 Binary files /dev/null and b/projectfiles/Sauerkraut_soup/inside.png differ diff --git a/projectfiles/Sauerkraut_soup/sauerkraut_soup.bbmodel b/projectfiles/Sauerkraut_soup/sauerkraut_soup.bbmodel new file mode 100644 index 0000000..5f8f17c --- /dev/null +++ b/projectfiles/Sauerkraut_soup/sauerkraut_soup.bbmodel @@ -0,0 +1 @@ +{"meta":{"format_version":"4.10","model_format":"java_block","box_uv":false},"name":"sauerkraut_soup","parent":"block/block","ambientocclusion":true,"front_gui_light":false,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"unhandled_root_fields":{},"resolution":{"width":32,"height":32},"elements":[{"name":"pot","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[13,0,2],"to":[14,10,14],"autouv":0,"color":5,"origin":[0,0,0],"faces":{"north":{"uv":[4,12,6,32],"texture":1},"east":{"uv":[4,12,28,32],"texture":1},"south":{"uv":[4,12,6,32],"texture":1},"west":{"uv":[4,12,28,32],"texture":1},"up":{"uv":[4,4,6,28],"texture":0},"down":{"uv":[4,4,6.000000000000001,28],"cullface":"down","texture":3}},"type":"cube","uuid":"8be76f88-772a-6d5c-943b-66dfb9bddf17"},{"name":"spoon","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[10,6,7],"to":[12,18,9],"autouv":0,"color":8,"rotation":[0,0,-22.5],"origin":[11,8,8],"faces":{"north":{"uv":[4,4,0,28],"texture":2},"east":{"uv":[0,4,4,28],"texture":2},"south":{"uv":[4,4,0,28],"texture":2},"west":{"uv":[0,4,4,28],"texture":2},"up":{"uv":[0,0,4,4],"texture":2},"down":{"uv":[0,0,4,4],"texture":2}},"type":"cube","uuid":"0e64fbf1-10e5-da0c-0515-eafe21ed537c"},{"name":"right handle","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[14,7,5],"to":[16,9,11],"autouv":0,"color":2,"origin":[0,0,0],"faces":{"north":{"uv":[20,0,24,4],"texture":2},"east":{"uv":[8,4,20,8],"texture":2},"south":{"uv":[4,0,8,4],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[8,0,20,4],"rotation":90,"texture":2},"down":{"uv":[8,4,20,8],"rotation":90,"texture":2}},"type":"cube","uuid":"1ad64fa2-1fd8-5f2e-24f6-f998508df2b7"},{"name":"left handle","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[0,7,5],"to":[2,9,11],"autouv":0,"color":4,"origin":[0,0,0],"faces":{"north":{"uv":[4,0,8,4],"texture":2},"east":{"uv":[0,0,0,0],"texture":null},"south":{"uv":[20,0,24,4],"texture":2},"west":{"uv":[8,4,20,8],"texture":2},"up":{"uv":[8,0,20,4],"rotation":270,"texture":2},"down":{"uv":[8,4,20,8],"rotation":270,"texture":2}},"type":"cube","uuid":"142e2a2e-f57a-bc65-30ba-664b65bf44aa"},{"name":"pot","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[2,0,2],"to":[3,10,14],"autouv":0,"color":5,"origin":[0,0,0],"faces":{"north":{"uv":[4,12,8,32],"texture":1},"east":{"uv":[4,12,28,32],"texture":1},"south":{"uv":[4,12,6,32],"texture":1},"west":{"uv":[4,12,28,32],"texture":1},"up":{"uv":[4,4,6,28],"texture":0},"down":{"uv":[4,4,6,28],"cullface":"down","texture":3}},"type":"cube","uuid":"82b75b78-cccc-2029-d4d9-7584fb2ff762"},{"name":"pot","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[3,0,2],"to":[13,10,3],"autouv":0,"color":5,"origin":[0,0,0],"faces":{"north":{"uv":[6,12,26,32],"texture":1},"east":{"uv":[4,12,28,32],"texture":1},"south":{"uv":[6,12,26,32],"texture":1},"west":{"uv":[4,12,28,32],"texture":1},"up":{"uv":[6,4,26,6],"texture":0},"down":{"uv":[6,26,26,28],"cullface":"down","texture":3}},"type":"cube","uuid":"1ca988ee-13bf-01ef-ac9e-926f62bef950"},{"name":"pot","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[3,0,13],"to":[13,10,14],"autouv":0,"color":5,"origin":[0,0,0],"faces":{"north":{"uv":[6,12,26,32],"texture":1},"east":{"uv":[4,12,28,32],"texture":1},"south":{"uv":[6,12,26,32],"texture":1},"west":{"uv":[4,12,28,32],"texture":1},"up":{"uv":[4,4,28,6],"texture":0},"down":{"uv":[4,4,28,6],"cullface":"down","texture":3}},"type":"cube","uuid":"a6769449-8e32-8904-06ac-6240a108747d"},{"name":"pot","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[3,0,3],"to":[13,1,13],"autouv":0,"color":5,"origin":[0,0,0],"faces":{"north":{"uv":[4,12,28,32],"texture":1},"east":{"uv":[4,12,28,32],"texture":1},"south":{"uv":[4,12,28,32],"texture":1},"west":{"uv":[4,12,28,32],"texture":1},"up":{"uv":[4,4,28,28],"texture":3},"down":{"uv":[6,6,26,26],"cullface":"down","texture":3}},"type":"cube","uuid":"e5aa36b3-24d2-fb21-1e30-6df02313e05e"},{"name":"spoon","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[10,2,6],"to":[12,6,10],"autouv":0,"color":8,"rotation":[0,0,-22.5],"origin":[11,8,8],"faces":{"north":{"uv":[8,8,4,16],"texture":2},"east":{"uv":[8,16,16,24],"texture":2},"south":{"uv":[8,8,4,16],"texture":2},"west":{"uv":[8,8,16,16],"texture":2},"up":{"uv":[20,8,16,16],"texture":2},"down":{"uv":[16,8,20,16],"texture":2}},"type":"cube","uuid":"7da65fa2-5088-a0fd-a7ea-ac9a68100877"},{"name":"inside","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[3,3,3],"to":[13,5,13],"autouv":0,"color":6,"origin":[3,3,3],"faces":{"north":{"uv":[10,0,20,2],"texture":4},"east":{"uv":[10,2,20,4],"texture":4},"south":{"uv":[0,10,10,12],"texture":4},"west":{"uv":[10,6,20,8],"texture":4},"up":{"uv":[29.333333333333332,29.333333333333332,2.6666666666666665,2.6666666666666665],"texture":4},"down":{"uv":[10,10,0,20],"texture":4}},"type":"cube","uuid":"bb303f39-13a9-4fe9-0679-df649aafbfc6"}],"outliner":[{"name":"cooking pot","origin":[8,8,8],"color":0,"uuid":"ae5661c6-0643-f77e-c384-0dec1ec8a86c","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["8be76f88-772a-6d5c-943b-66dfb9bddf17","1ca988ee-13bf-01ef-ac9e-926f62bef950","a6769449-8e32-8904-06ac-6240a108747d","e5aa36b3-24d2-fb21-1e30-6df02313e05e","82b75b78-cccc-2029-d4d9-7584fb2ff762",{"name":"spoon","origin":[9,3,8],"color":0,"uuid":"781931b8-5264-ef6e-9654-1c2f8b75c0d5","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["0e64fbf1-10e5-da0c-0515-eafe21ed537c","7da65fa2-5088-a0fd-a7ea-ac9a68100877"]},"1ad64fa2-1fd8-5f2e-24f6-f998508df2b7","142e2a2e-f57a-bc65-30ba-664b65bf44aa","bb303f39-13a9-4fe9-0679-df649aafbfc6"]}],"textures":[{"path":"D:\\Users\\EUGENE\\Desktop\\Sauerkraut_soup\\cooking_pot_top.png","name":"cooking_pot_top.png","folder":"Sauerkraut_soup","namespace":"farmersdelight","id":"top","group":"","width":16,"height":16,"uv_width":16,"uv_height":16,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"0c7b4bc2-f0b4-b443-469d-0f9de050ce33","relative_path":"cooking_pot_top.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAANdJREFUOE9jZKAQMFKonwFugL+//3+QYVycnGAz+aA0iP3p+3e4Pd+g7I0bN4L1ohhw795jBnZ2NgZuLi6whq/fvsE1/vz5C85WUpJlwGnAp0/v8fpKVFScQVpaHNOAyIiI/7fvPGB4/folXgMU5BUZBAR5MQ1IT0z8f+PuQ4YHD+8TNEBKSoxh+YoVqGFAigEayvIMM+fPp7IBoDB49uwVQS+AAlFVRQHTC8QGIs5YACWkp09fEowFvAYgJyRQIgIlKGyJCWdCQk7KyMmZqKRMbqaiODcCAGw0gRF+y2viAAAAAElFTkSuQmCC"},{"path":"D:\\Users\\EUGENE\\Desktop\\Sauerkraut_soup\\cooking_pot_side.png","name":"cooking_pot_side.png","folder":"Sauerkraut_soup","namespace":"farmersdelight","id":"side","group":"","width":16,"height":16,"uv_width":16,"uv_height":16,"particle":true,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"686eecd1-a46a-4fe2-fe08-a9a39cd722cb","relative_path":"cooking_pot_side.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAANVJREFUOE/tkzESgjAQRUNDhhTehMYD6IwVVmnxhNJSSeWMHsCGS1hRWMCEJs4GP25CrGhNk7DL/8l/kESsHMlKvfgbiC8DrbVVWTYz3bA1FV/D4Hr9Z67r2vGbIeb51kItZeqWxoxuxjOvte3DN9jvDlapSeh26icxRti73a++wbEobCqloBg4ZviPoDcaIy5N4xucytJFIDG9SAwoN1iAAUzPVeUbcIih+Nl1niltsoDII/CThDFIHI3AIYIFF0MIwAuIZEBNTjt20fB1fhrERLEaDN7Oim0RO7azFgAAAABJRU5ErkJggg=="},{"path":"D:\\Users\\EUGENE\\Desktop\\Sauerkraut_soup\\cooking_pot_parts.png","name":"cooking_pot_parts.png","folder":"Sauerkraut_soup","namespace":"farmersdelight","id":"parts","group":"","width":16,"height":16,"uv_width":16,"uv_height":16,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"ad6d87f3-d240-e822-ffa4-f31a4d72c5c5","relative_path":"cooking_pot_parts.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAghJREFUOE+dkk9oE1EQxr/dTXfZNqlpRaKxtCKtlQiCUDzYmgTPQo4eBVERoVV79uAfKHpQK9aDiIp4EqEYFSwIYj2I6KoYW2m0Jk2NaWIlbpPN5o+bjuxT1qwkBZ3bezPzm2++97iRQwMUTRbw1fDA7XajVZbRV5jHlvZWmDGdzUFp6USuWISqqng4McGxxO/g9u7eRr0dLRhXDHbV070B3oUoNnva2Xkmk0VqXS8+zs6xs6I8twPOD/npXTyPG/ffsEQoFKIgp8IpOliDVjHwhNwIh8O2RkvBhSN+ep8o4OrdV6wg4N9Ffdz3WpVQqA2TTx/XB1weDtKLD0vYutGFaFKH1MSz5lzhB0QHD4EH1q+REYnl2P2dRxH7CucG/RSJ5+HrciGjlmBUge61zShWqphN6WhzNaFjtYSh0cn6Ck7s76d4Woev04kv30ogjsMmbzOWlwlTCQ2+LifS2TLO3rKbZ3lw8kA/JRdLDDDzWYMoCky+GbIksPvphIYr40p9BSYgtqDj5oNfrzC4Zzsx93UDDoGzzLW5WvsPLh0LUCSuWYXH9+0gzyoRermKWLrYcLK1wthwkN7G8hbAVNDjlSHwHDJqBaeuPasr3QKcObyTPqV0G8BMlspVSBKPsdsvVwZcPBqgqbk/KzTataEHpw8OsGe8fu/1ipMaAv514t/1/zW1FvITE+PTEaQsXXsAAAAASUVORK5CYII="},{"path":"D:\\Users\\EUGENE\\Desktop\\Sauerkraut_soup\\cooking_pot_bottom.png","name":"cooking_pot_bottom.png","folder":"Sauerkraut_soup","namespace":"farmersdelight","id":"bottom","group":"","width":16,"height":16,"uv_width":16,"uv_height":16,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"a0562b9c-8968-ab35-1026-5ad7af33628d","relative_path":"cooking_pot_bottom.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAALdJREFUOE+lk8EKhDAMROulBfd3PHjaBT9ccE978G+KQnvZZQoj2aZVsLmkKvNMJmlnGqNr1JsD8HpO3xy27Xt69eh79Z/lPSetAlCEjyFE45z9ExNWBEAMEQNiPvOMDIgCDMOYWoAgxmCsdSkjcEawmlOA977oKyDNAFZRrYDl10bLKooAjJEmsncJyn1Y148eIwDwgAbKfGkiK+AkKKjtwuUilYRyK6sA2bfcynydFeDupWq+jT8eYoERXNyz5wAAAABJRU5ErkJggg=="},{"path":"D:\\Users\\EUGENE\\Desktop\\Sauerkraut_soup\\inside.png","name":"inside.png","folder":"Sauerkraut_soup","namespace":"","id":"4","group":"","width":12,"height":12,"uv_width":32,"uv_height":32,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"90d28c99-51bd-c046-9667-82896572fb10","relative_path":"inside.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAATNJREFUKFNjZCARMILUn5hu9V/DTAGsdVXHMoYASzGGtW2sDJoKLAzCZu8YdFT+gOUYi74zgjVMF5H+b9gszwDSdOPUA4bztQ/BiuUUlBj2MO5nSLXkZJjRJsSQ+eYpQgNII0gRCFx/8IfB3UGN4dGDe2BNILDzwC2EhgMm8v9BgjDrDy4TYzCYaQ1WeCH9KJgGaVRasx9iA0gDyNSMqncMs49/Z/i7X5ohcqc92HmX9h0D80G2O5x5CNFwL8TxP8x6ZFor6jvDtWWccGfC/QCzAdkfMLfDDEDxw/8+zv9X7rAwHH/9GWw9zMMgAziSpcGhBwrutNUMECddzuL9D1IMAmr35cH0LcWHDHpOVmDFsPiBa5gVygAOJZgGUAAwOz4F80GaQGDS1GsMy658gNhACgAAWdGODViWursAAAAASUVORK5CYII="}],"display":{"thirdperson_righthand":{"rotation":[63,0,0],"translation":[0,3.75,1],"scale":[0.5,0.5,0.5]},"thirdperson_lefthand":{"rotation":[63,-180,0],"translation":[0,2.5,1],"scale":[0.5,0.5,0.5]},"firstperson_lefthand":{"rotation":[0,-180,0]},"ground":{"translation":[-0.5,2.5,0],"scale":[0.55,0.55,0.55]},"head":{"translation":[0,7.5,0]}},"tint_color":[1,0.705,0.294]} \ No newline at end of file diff --git a/projectfiles/fishball.aseprite b/projectfiles/fishball.aseprite new file mode 100644 index 0000000..dbdfa59 Binary files /dev/null and b/projectfiles/fishball.aseprite differ diff --git a/projectfiles/fishball_atlas.aseprite b/projectfiles/fishball_atlas.aseprite new file mode 100644 index 0000000..21ce8d0 Binary files /dev/null and b/projectfiles/fishball_atlas.aseprite differ diff --git a/projectfiles/holubtsi.aseprite b/projectfiles/holubtsi.aseprite index dab15f4..9e36713 100644 Binary files a/projectfiles/holubtsi.aseprite and b/projectfiles/holubtsi.aseprite differ diff --git a/projectfiles/kyiv_cake/bowl.png b/projectfiles/kyiv_cake/bowl.png new file mode 100644 index 0000000..94cd093 Binary files /dev/null and b/projectfiles/kyiv_cake/bowl.png differ diff --git a/projectfiles/kyiv_cake/kyiv_cake_block.png b/projectfiles/kyiv_cake/kyiv_cake_block.png new file mode 100644 index 0000000..5e6e675 Binary files /dev/null and b/projectfiles/kyiv_cake/kyiv_cake_block.png differ diff --git a/projectfiles/kyiv_cake/kyiv_cake_block_leftover.json b/projectfiles/kyiv_cake/kyiv_cake_block_leftover.json new file mode 100644 index 0000000..001e7cf --- /dev/null +++ b/projectfiles/kyiv_cake/kyiv_cake_block_leftover.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "tray_side": "ukrainian_delight:tray_bottom", + "particle": "ukrainian_delight:tray_kyiv_cake_leftover", + "tray_top": "ukrainian_delight:tray_kyiv_cake_leftover" + }, + "elements": [ + { + "name": "plate", + "from": [1, 0, 1], + "to": [15, 2, 15], + "faces": { + "north": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "east": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "south": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "west": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#tray_top"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#tray_side", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/projectfiles/kyiv_cake/kyiv_cake_block_stage0.json b/projectfiles/kyiv_cake/kyiv_cake_block_stage0.json new file mode 100644 index 0000000..4d600ef --- /dev/null +++ b/projectfiles/kyiv_cake/kyiv_cake_block_stage0.json @@ -0,0 +1,38 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "particle": "ukrainian_delight:kyiv_cake_top", + "top": "ukrainian_delight:kyiv_cake_top", + "side": "ukrainian_delight:kyiv_cake_side", + "tray_top": "ukrainian_delight:tray_top", + "tray_side": "ukrainian_delight:tray_bottom" + }, + "elements": [ + { + "name": "plate", + "from": [1, 0, 1], + "to": [15, 2, 15], + "faces": { + "north": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "east": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "south": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "west": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#tray_top"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#tray_side", "cullface": "down"} + } + }, + { + "name": "pie", + "from": [2, 2, 2], + "to": [14, 8, 14], + "faces": { + "north": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "east": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "south": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "west": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "up": {"uv": [2, 2, 14, 14], "texture": "#top"} + } + } + ] +} \ No newline at end of file diff --git a/projectfiles/kyiv_cake/kyiv_cake_block_stage1.json b/projectfiles/kyiv_cake/kyiv_cake_block_stage1.json new file mode 100644 index 0000000..1cae704 --- /dev/null +++ b/projectfiles/kyiv_cake/kyiv_cake_block_stage1.json @@ -0,0 +1,51 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "particle": "ukrainian_delight:kyiv_cake_top", + "top": "ukrainian_delight:kyiv_cake_top", + "side": "ukrainian_delight:kyiv_cake_side", + "tray_side": "ukrainian_delight:tray_bottom", + "inner": "ukrainian_delight:kyiv_cake_inner", + "tray_top": "ukrainian_delight:tray_kyiv_cake_leftover" + }, + "elements": [ + { + "name": "plate", + "from": [1, 0, 1], + "to": [15, 2, 15], + "faces": { + "north": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "east": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "south": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "west": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#tray_top"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#tray_side", "cullface": "down"} + } + }, + { + "name": "pie", + "from": [8, 2, 2], + "to": [14, 8, 8], + "faces": { + "north": {"uv": [2, 10, 8, 16], "texture": "#side"}, + "east": {"uv": [8, 10, 14, 16], "texture": "#side"}, + "south": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "west": {"uv": [2, 10, 8, 16], "texture": "#inner"}, + "up": {"uv": [8, 2, 14, 8], "texture": "#top"} + } + }, + { + "name": "pie", + "from": [2, 2, 8], + "to": [14, 8, 14], + "faces": { + "north": {"uv": [2, 10, 14, 16], "texture": "#inner"}, + "east": {"uv": [2, 10, 8, 16], "texture": "#side"}, + "south": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "west": {"uv": [8, 10, 14, 16], "texture": "#side"}, + "up": {"uv": [2, 8, 14, 14], "texture": "#top"} + } + } + ] +} \ No newline at end of file diff --git a/projectfiles/kyiv_cake/kyiv_cake_block_stage2.json b/projectfiles/kyiv_cake/kyiv_cake_block_stage2.json new file mode 100644 index 0000000..1ab6cf1 --- /dev/null +++ b/projectfiles/kyiv_cake/kyiv_cake_block_stage2.json @@ -0,0 +1,39 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "particle": "ukrainian_delight:kyiv_cake_top", + "top": "ukrainian_delight:kyiv_cake_top", + "side": "ukrainian_delight:kyiv_cake_side", + "tray_side": "ukrainian_delight:tray_bottom", + "inner": "ukrainian_delight:kyiv_cake_inner", + "tray_top": "ukrainian_delight:tray_kyiv_cake_leftover" + }, + "elements": [ + { + "name": "plate", + "from": [1, 0, 1], + "to": [15, 2, 15], + "faces": { + "north": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "east": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "south": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "west": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#tray_top"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#tray_side", "cullface": "down"} + } + }, + { + "name": "pie", + "from": [2, 2, 8], + "to": [14, 8, 14], + "faces": { + "north": {"uv": [2, 10, 14, 16], "texture": "#inner"}, + "east": {"uv": [2, 10, 8, 16], "texture": "#side"}, + "south": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "west": {"uv": [8, 10, 14, 16], "texture": "#side"}, + "up": {"uv": [2, 8, 14, 14], "texture": "#top"} + } + } + ] +} \ No newline at end of file diff --git a/projectfiles/kyiv_cake/kyiv_cake_block_stage3.json b/projectfiles/kyiv_cake/kyiv_cake_block_stage3.json new file mode 100644 index 0000000..a25b1b9 --- /dev/null +++ b/projectfiles/kyiv_cake/kyiv_cake_block_stage3.json @@ -0,0 +1,39 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "particle": "ukrainian_delight:kyiv_cake_top", + "top": "ukrainian_delight:kyiv_cake_top", + "side": "ukrainian_delight:kyiv_cake_side", + "tray_side": "ukrainian_delight:tray_bottom", + "inner": "ukrainian_delight:kyiv_cake_inner", + "tray_top": "ukrainian_delight:tray_kyiv_cake_leftover" + }, + "elements": [ + { + "name": "plate", + "from": [1, 0, 1], + "to": [15, 2, 15], + "faces": { + "north": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "east": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "south": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "west": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#tray_top"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#tray_side", "cullface": "down"} + } + }, + { + "name": "pie", + "from": [2, 2, 8], + "to": [8, 8, 14], + "faces": { + "north": {"uv": [8, 10, 14, 16], "texture": "#inner"}, + "east": {"uv": [2, 10, 8, 16], "texture": "#inner"}, + "south": {"uv": [2, 10, 8, 16], "texture": "#side"}, + "west": {"uv": [8, 10, 14, 16], "texture": "#side"}, + "up": {"uv": [2, 8, 8, 14], "texture": "#top"} + } + } + ] +} \ No newline at end of file diff --git a/projectfiles/kyiv_cake/kyiv_cake_inner.png b/projectfiles/kyiv_cake/kyiv_cake_inner.png new file mode 100644 index 0000000..5aa1113 Binary files /dev/null and b/projectfiles/kyiv_cake/kyiv_cake_inner.png differ diff --git a/projectfiles/kyiv_cake/kyiv_cake_side.png b/projectfiles/kyiv_cake/kyiv_cake_side.png new file mode 100644 index 0000000..1a1a03f Binary files /dev/null and b/projectfiles/kyiv_cake/kyiv_cake_side.png differ diff --git a/projectfiles/kyiv_cake/kyiv_cake_slice.png b/projectfiles/kyiv_cake/kyiv_cake_slice.png new file mode 100644 index 0000000..826d7a2 Binary files /dev/null and b/projectfiles/kyiv_cake/kyiv_cake_slice.png differ diff --git a/projectfiles/kyiv_cake/kyiv_cake_top.png b/projectfiles/kyiv_cake/kyiv_cake_top.png new file mode 100644 index 0000000..2dee316 Binary files /dev/null and b/projectfiles/kyiv_cake/kyiv_cake_top.png differ diff --git a/projectfiles/kyiv_cake/tray_bottom.png b/projectfiles/kyiv_cake/tray_bottom.png new file mode 100644 index 0000000..269e260 Binary files /dev/null and b/projectfiles/kyiv_cake/tray_bottom.png differ diff --git a/projectfiles/kyiv_cake/tray_kyiv_cake_leftover.png b/projectfiles/kyiv_cake/tray_kyiv_cake_leftover.png new file mode 100644 index 0000000..8684840 Binary files /dev/null and b/projectfiles/kyiv_cake/tray_kyiv_cake_leftover.png differ diff --git a/projectfiles/kyiv_cake/tray_top.png b/projectfiles/kyiv_cake/tray_top.png new file mode 100644 index 0000000..211234f Binary files /dev/null and b/projectfiles/kyiv_cake/tray_top.png differ diff --git "a/projectfiles/\320\272\320\276\321\202\320\273\320\265\321\202\320\260 \320\277\320\276-\320\272\320\270\321\227\320\262\321\201\321\214\320\272\320\270.aseprite" "b/projectfiles/\320\272\320\276\321\202\320\273\320\265\321\202\320\260 \320\277\320\276-\320\272\320\270\321\227\320\262\321\201\321\214\320\272\320\270.aseprite" new file mode 100644 index 0000000..e3a650e Binary files /dev/null and "b/projectfiles/\320\272\320\276\321\202\320\273\320\265\321\202\320\260 \320\277\320\276-\320\272\320\270\321\227\320\262\321\201\321\214\320\272\320\270.aseprite" differ diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/compat/UkrainianDeligthREIClientPlugin.java b/src/main/java/com/megatrex4/ukrainian_dlight/compat/UkrainianDeligthREIClientPlugin.java index 14e2c08..a25df2c 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/compat/UkrainianDeligthREIClientPlugin.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/compat/UkrainianDeligthREIClientPlugin.java @@ -1,4 +1,4 @@ -package com.megatrex4.ukrainian_dlight.compat; +//package com.megatrex4.ukrainian_dlight.compat; //import me.shedaniel.rei.api.client.plugins.REIClientPlugin; //import net.minecraft.client.resource.language.I18n; diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/item/BowlReturningFoodItem.java b/src/main/java/com/megatrex4/ukrainian_dlight/item/BowlReturningFoodItem.java index 2b25932..f1696bc 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/item/BowlReturningFoodItem.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/item/BowlReturningFoodItem.java @@ -3,13 +3,17 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; +import net.minecraft.item.Item; +import net.minecraft.registry.Registries; import net.minecraft.world.World; +import net.minecraft.util.Identifier; public class BowlReturningFoodItem extends ToolTipHelper { + private final Identifier bowlId; // Store the bowl identifier - public BowlReturningFoodItem(Settings settings) { + public BowlReturningFoodItem(Settings settings, Identifier bowlId) { super(settings); + this.bowlId = bowlId; // Initialize with the bowl identifier } @Override @@ -18,7 +22,8 @@ public ItemStack finishUsing(ItemStack stack, World world, LivingEntity user) { if (user instanceof PlayerEntity) { PlayerEntity player = (PlayerEntity) user; - ItemStack bowlStack = new ItemStack(Items.BOWL); + Item bowlItem = Registries.ITEM.get(bowlId); // Retrieve the bowl item based on the identifier + ItemStack bowlStack = new ItemStack(bowlItem); boolean addedToInventory = player.getInventory().insertStack(bowlStack); diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/item/FoodItemBuilder.java b/src/main/java/com/megatrex4/ukrainian_dlight/item/FoodItemBuilder.java index 0f3a492..e5dda61 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/item/FoodItemBuilder.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/item/FoodItemBuilder.java @@ -3,39 +3,78 @@ import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.minecraft.item.FoodComponent; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Identifier; public class FoodItemBuilder { private FoodComponent foodComponent; private int maxCount = 64; private Boolean returnsBowl = false; + private Boolean isSnack = false; + private Identifier bowlId = new Identifier("minecraft", "bowl"); + // Set the food component public FoodItemBuilder food(FoodComponent foodComponent) { this.foodComponent = foodComponent; return this; } + // Set the max count public FoodItemBuilder maxCount(int maxCount) { this.maxCount = maxCount; return this; } + // Set bowl return flag public FoodItemBuilder returnsBowl() { this.returnsBowl = true; return this; } - public FoodItemBuilder returnsBowl(boolean returnsBowl) { - this.returnsBowl = returnsBowl; + public FoodItemBuilder returnsBowl(Identifier bowlId) { + this.returnsBowl = true; + this.bowlId = bowlId; + return this; + } + + // Set snack flag + public FoodItemBuilder snack() { + this.isSnack = true; return this; } + public FoodItemBuilder snack(boolean isSnack) { + this.isSnack = isSnack; + return this; + } + + // Build the item public Item build() { FabricItemSettings settings = new FabricItemSettings().maxCount(maxCount); if (foodComponent != null) { + if (isSnack) { + // Adjust the food component to set it as a snack + FoodComponent.Builder foodBuilder = new FoodComponent.Builder() + .hunger(foodComponent.getHunger()) + .saturationModifier(foodComponent.getSaturationModifier()) + .snack(); + + if (foodComponent.isAlwaysEdible()) { + foodBuilder.alwaysEdible(); + } + + foodComponent.getStatusEffects().forEach(pair -> + foodBuilder.statusEffect(pair.getFirst(), pair.getSecond()) + ); + + foodComponent = foodBuilder.build(); + } settings.food(foodComponent); } - if (returnsBowl != null && returnsBowl) { - return new BowlReturningFoodItem(settings); + + // If the item returns a bowl, give the player the bowl item after consuming + if (returnsBowl) { + return new BowlReturningFoodItem(settings, bowlId); } else { return new ToolTipHelper(settings); } diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/item/ModFoodComponents.java b/src/main/java/com/megatrex4/ukrainian_dlight/item/ModFoodComponents.java index e234ffe..9624bb9 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/item/ModFoodComponents.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/item/ModFoodComponents.java @@ -1,122 +1,23 @@ package com.megatrex4.ukrainian_dlight.item; -import net.minecraft.item.FoodComponents; -import vectorwing.farmersdelight.common.registry.ModEffects; -import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.item.FoodComponent; - public class ModFoodComponents { - // Retrieve the StatusEffect instances using the EffectsRegistry - public static final StatusEffect COMFORT = ModEffects.COMFORT.get(); - public static final StatusEffect NOURISHMENT = ModEffects.NOURISHMENT.get(); - - // MEALS - public static final FoodComponent VARENYK = new FoodComponent.Builder() - .hunger(6) - .saturationModifier(0.40f) - .statusEffect(new StatusEffectInstance(COMFORT, 25*20, 0), 1.0F) - .build(); - - public static final FoodComponent BORSCHT = new FoodComponent.Builder() - .hunger(15) - .saturationModifier(1f) - .statusEffect(new StatusEffectInstance(NOURISHMENT, 3*60*15, 0), 1.0F) - .statusEffect(new StatusEffectInstance(COMFORT, 5*60*15, 0), 1.0F) - // .statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 3*20, 3), 1.0f) - .build(); - - public static final FoodComponent LEAN_BORSCHT = new FoodComponent.Builder() - .hunger(15) - .saturationModifier(1f) - .statusEffect(new StatusEffectInstance(NOURISHMENT, 3*60*15, 0), 1.0F) - .statusEffect(new StatusEffectInstance(COMFORT, 5*60*15, 0), 1.0F) - .build(); - - // INGREDIENTS - public static final FoodComponent HORSERADISH = new FoodComponent.Builder() - .hunger(2) - .saturationModifier(0.15f) - .build(); - - public static final FoodComponent CUCUMBER = new FoodComponent.Builder() - .hunger(2) - .saturationModifier(0.15f) - .build(); - - public static final FoodComponent CUTTED_CUCUMBER = new FoodComponent.Builder() - .hunger(1) - .saturationModifier(0.1f) - .build(); - - public static final FoodComponent APPLE_SLICE = new FoodComponent.Builder() - .hunger(3) - .snack() - .saturationModifier(0.2f) - .build(); - - public static final FoodComponent DRIED_APPLE_SLICE = new FoodComponent.Builder() - .hunger(4) - .snack() - .saturationModifier(0.23f) - .build(); - - public static final FoodComponent HOMEMADE_SAUSAGE = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent CHERRY_BERRY = new FoodComponent.Builder() - .hunger(1) - .snack() - .saturationModifier(0.1f) - .build(); - - public static final FoodComponent COTTAGE_CHEESE = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent SALO = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent APPLE_PYRIZHOK = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent CABBAGE_PYRIZHOK = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent MEAT_PYRIZHOK = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent POTATO_PYRIZHOK = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent BAKED_POTATOS_N_MUSHROOMS = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent BAKED_PUMPKIN_SLICE = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); + public static FoodComponent createFoodComponent(int hunger, float saturation, StatusEffectInstance... effects) { + FoodComponent.Builder builder = new FoodComponent.Builder() + .hunger(hunger) + .saturationModifier(saturation); + if (effects != null) { + for (StatusEffectInstance effect : effects) { + if (effect != null) { + builder.statusEffect(effect, 1.0F); + } + } + } - // Ensure that the class is initialized - public static void init() { - // This method is empty, but it ensures that the class is initialized + return builder.build(); } } diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemGroupRegistry.java b/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemGroupRegistry.java index 7378fa6..fc9771a 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemGroupRegistry.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemGroupRegistry.java @@ -71,8 +71,6 @@ public class ItemGroupRegistry { entries.add(ItemsRegistry.RED_KRASHANKA); entries.add(ItemsRegistry.WHITE_KRASHANKA); entries.add(ItemsRegistry.YELLOW_KRASHANKA); - - }).build()); public static final ItemGroup JARS_UKRAINIAN_DELIGHT = Registry.register(Registries.ITEM_GROUP, diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemsRegistry.java b/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemsRegistry.java index a471349..65993a7 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemsRegistry.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemsRegistry.java @@ -7,67 +7,33 @@ import com.megatrex4.ukrainian_dlight.item.ModFoodComponents; import com.megatrex4.ukrainian_dlight.item.KrashankyItem; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.item.FoodComponent; import net.minecraft.item.Item; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.util.Identifier; +import vectorwing.farmersdelight.common.registry.ModEffects; import java.util.List; -public class ItemsRegistry { - - // Define items using the ItemBuilder - public static final Item VARENYK = registerItem("varenyk", new FoodItemBuilder() - .food(ModFoodComponents.VARENYK) - .build()); - - public static final Item BORSCHT = registerItem("borscht", new FoodItemBuilder() - .food(ModFoodComponents.BORSCHT) - .maxCount(16) - .returnsBowl() - .build()); - - public static final Item LEAN_BORSCHT = registerItem("lean_borscht", new FoodItemBuilder() - .food(ModFoodComponents.LEAN_BORSCHT) - .maxCount(16) - .returnsBowl() - .build()); - - public static final Item HORSERADISH = registerItem("horseradish", new FoodItemBuilder() - .food(ModFoodComponents.HORSERADISH) - .build()); - - public static final Item CUCUMBER = registerItem("cucumber", new FoodItemBuilder() - .food(ModFoodComponents.CUCUMBER) - .build()); - - public static final Item CUTTED_CUCUMBER = registerItem("cutted_cucumber", new FoodItemBuilder() - .food(ModFoodComponents.CUTTED_CUCUMBER) - .build()); - - public static final Item APPLE_SLICE = registerItem("apple_slice", new FoodItemBuilder() - .food(ModFoodComponents.APPLE_SLICE) - .build()); - - public static final Item DRIED_APPLE_SLICE = registerItem("dried_apple_slice", new FoodItemBuilder() - .food(ModFoodComponents.DRIED_APPLE_SLICE) - .build()); - - public static final Item HOMEMADE_SAUSAGE = registerItem("homemade_sausage", new FoodItemBuilder() - .food(ModFoodComponents.HOMEMADE_SAUSAGE) - .build()); +import static com.megatrex4.ukrainian_dlight.item.ModFoodComponents.*; - public static final Item CHERRY_BERRY = registerItem("cherry_berry", new FoodItemBuilder() - .food(ModFoodComponents.CHERRY_BERRY) - .build()); +public class ItemsRegistry { - public static final Item COTTAGE_CHEESE = registerItem("cottage_cheese", new FoodItemBuilder() - .food(ModFoodComponents.COTTAGE_CHEESE) - .build()); - public static final Item SALO = registerItem("salo", new FoodItemBuilder() - .food(ModFoodComponents.SALO) - .build()); + public static final Item VARENYK = registerFoodItem("varenyk", createFoodComponent(6, 0.40f), 64, false, false); + public static final Item BORSCHT = registerFoodItem("borscht", createFoodComponent(15, 1f, new StatusEffectInstance(ModEffects.COMFORT.get(), 5 * 60 * 20), new StatusEffectInstance(ModEffects.NOURISHMENT.get(), 3 * 60 * 20)), 16, true, false); + public static final Item LEAN_BORSCHT = registerFoodItem("lean_borscht", createFoodComponent(8, 0.8f, new StatusEffectInstance(ModEffects.COMFORT.get(), 3 * 60 * 20)), 16, true, false); + public static final Item HORSERADISH = registerFoodItem("horseradish", createFoodComponent(6, 0.15f), 64, false, false); + public static final Item CUCUMBER = registerFoodItem("cucumber", createFoodComponent(2, 0.3f), 64, false, false); + public static final Item HOMEMADE_SAUSAGE = registerFoodItem("homemade_sausage", createFoodComponent(7, 0.6f), 64, false, false); + public static final Item CUTTED_CUCUMBER = registerFoodItem("cutted_cucumber", createFoodComponent(1, 0.1f), 64, false, true); + public static final Item APPLE_SLICE = registerFoodItem("apple_slice", createFoodComponent(3, 0.2f), 64, false, true); + public static final Item DRIED_APPLE_SLICE = registerFoodItem("dried_apple_slice", createFoodComponent(3, 0.2f), 64, false, true); + public static final Item CHERRY_BERRY = registerFoodItem("cherry_berry", createFoodComponent(3, 0.2f), 64, false, true); + public static final Item COTTAGE_CHEESE = registerFoodItem("cottage_cheese", createFoodComponent(3, 0.2f), 64, false, false); + public static final Item SALO = registerFoodItem("salo", createFoodComponent(3, 0.2f), 64, false, false); // Simple items without specifying maxCount, defaults to 64 @@ -114,8 +80,6 @@ public class ItemsRegistry { YELLOW_KRASHANKA ); - - // Register items public static Item registerItem(String name, Item item) { return Registry.register(Registries.ITEM, new Identifier(UkrainianDelight.MOD_ID, name.toLowerCase()), item); @@ -124,4 +88,23 @@ public static Item registerItem(String name, Item item) { public static void registerModItems() { UkrainianDelight.LOGGER.info("Registering Mod Items for " + UkrainianDelight.MOD_ID); } + + // Main method with the optional Identifier parameter + private static Item registerFoodItem(String name, FoodComponent foodComponent, int maxCount, boolean returnsBowl, boolean isSnack, Identifier bowlId) { + FoodItemBuilder builder = new FoodItemBuilder() + .food(foodComponent) + .maxCount(maxCount); + + if (returnsBowl) { + builder.returnsBowl(bowlId); + } + if (isSnack) builder.snack(); + + return registerItem(name, builder.build()); + } + + // Overloaded method to handle the case where the bowl identifier is not provided (returns default bowl) + private static Item registerFoodItem(String name, FoodComponent foodComponent, int maxCount, boolean returnsBowl, boolean isSnack) { + return registerFoodItem(name, foodComponent, maxCount, returnsBowl, isSnack, new Identifier("minecraft", "bowl")); + } } diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/screen/BrewingKegScreen.java b/src/main/java/com/megatrex4/ukrainian_dlight/screen/BrewingKegScreen.java index 279bec8..da55a28 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/screen/BrewingKegScreen.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/screen/BrewingKegScreen.java @@ -93,7 +93,6 @@ private void renderProgressBar(DrawContext context, int x, int y) { } } - @Override public void render(DrawContext context, int mouseX, int mouseY, float delta) { renderBackground(context); @@ -109,7 +108,6 @@ protected void drawMouseoverTooltip(DrawContext context, int mouseX, int mouseY) } } - protected void drawMouseoverTankTooltip(DrawContext context, int mouseX, int mouseY) { int x = (width - backgroundWidth) / 2; int y = (height - backgroundHeight) / 2; @@ -120,7 +118,6 @@ protected void drawMouseoverTankTooltip(DrawContext context, int mouseX, int mou } } - private boolean isMouseAboveArea(int pMouseX, int pMouseY, int x, int y, int offsetX, int offsetY, FluidStackRenderer renderer) { return MouseUtil.isMouseOver(pMouseX, pMouseY, x + offsetX, y + offsetY, renderer.getWidth(), renderer.getHeight()); } diff --git a/src/main/resources/assets/ukrainian_delight/textures/item/Kyiv_cutlet.png b/src/main/resources/assets/ukrainian_delight/textures/item/Kyiv_cutlet.png new file mode 100644 index 0000000..3e66119 Binary files /dev/null and b/src/main/resources/assets/ukrainian_delight/textures/item/Kyiv_cutlet.png differ diff --git a/src/main/resources/assets/ukrainian_delight/textures/item/fishball.png b/src/main/resources/assets/ukrainian_delight/textures/item/fishball.png new file mode 100644 index 0000000..f7170bf Binary files /dev/null and b/src/main/resources/assets/ukrainian_delight/textures/item/fishball.png differ diff --git a/src/main/resources/data/fabric/tags/blocks/needs_tool_level_4.json b/src/main/resources/data/fabric/tags/block/needs_tool_level_4.json similarity index 100% rename from src/main/resources/data/fabric/tags/blocks/needs_tool_level_4.json rename to src/main/resources/data/fabric/tags/block/needs_tool_level_4.json