From d27cabc6d7ae297e73febcfd626a844cf83b9876 Mon Sep 17 00:00:00 2001 From: Guddi <59566564+Guddi8@users.noreply.github.com> Date: Fri, 29 Aug 2025 17:50:13 +0200 Subject: [PATCH 1/2] added signs items / blocks / block-entities no real textures yet --- .../21763219d2ea38aa831f7b57625e5f4a64ca9c6e | 4 +-- .../3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c | 5 ++- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 11 +++++- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 6 +++- .../bdae2ca466a64bf2ac620d7a02b4f8ff14c39d1b | 17 +++++++++- .../f6b42ca1cd503fe26fe76afc2157fd76c4c99038 | 6 +++- .../blockstates/citron_hanging_sign.json | 7 ++++ .../lemonmates/blockstates/citron_sign.json | 7 ++++ .../blockstates/citron_wall_hanging_sign.json | 7 ++++ .../blockstates/citron_wall_sign.json | 7 ++++ .../blockstates/orange_hanging_sign.json | 7 ++++ .../lemonmates/blockstates/orange_sign.json | 7 ++++ .../blockstates/orange_wall_hanging_sign.json | 7 ++++ .../blockstates/orange_wall_sign.json | 7 ++++ .../models/block/citron_hanging_sign.json | 5 +++ .../lemonmates/models/block/citron_sign.json | 5 +++ .../models/block/orange_hanging_sign.json | 5 +++ .../lemonmates/models/block/orange_sign.json | 5 +++ .../models/item/citron_hanging_sign.json | 6 ++++ .../lemonmates/models/item/citron_juice.json | 7 ---- .../lemonmates/models/item/citron_sign.json | 6 ++++ .../models/item/orange_hanging_sign.json | 6 ++++ .../lemonmates/models/item/orange_juice.json | 7 ---- .../lemonmates/models/item/orange_sign.json | 6 ++++ .../models/item/raspberry_juice.json | 7 ---- .../advancement/lemonmates_root.json | 0 .../building_blocks/raspberry_crate.json | 32 ++++++++++++++++++ .../advancement/recipes/misc/raspberry.json | 32 ++++++++++++++++++ .../advancement/watermelon_lemonade.json | 0 .../blocks/citron_hanging_sign.json | 21 ++++++++++++ .../loot_table/blocks/citron_sign.json | 21 ++++++++++++ .../blocks/citron_wall_hanging_sign.json | 21 ++++++++++++ .../loot_table/blocks/citron_wall_sign.json | 21 ++++++++++++ .../blocks/orange_hanging_sign.json | 21 ++++++++++++ .../loot_table/blocks/orange_sign.json | 21 ++++++++++++ .../blocks/orange_wall_hanging_sign.json | 21 ++++++++++++ .../loot_table/blocks/orange_wall_sign.json | 21 ++++++++++++ .../loot_table/blocks/raspberry_crate.json | 21 ++++++++++++ .../data/lemonmates/recipe/raspberry.json | 13 +++++++ .../lemonmates/recipe/raspberry_crate.json | 18 ++++++++++ .../minecraft/tags/block/mineable/axe.json | 1 + .../data/minecraft/tags/item/slabs.json | 6 ++++ .../data/minecraft/tags/item/stairs.json | 6 ++++ .../lemonmates/AllCreativeModeTabs.java | 13 ++++--- .../net/doppelr/lemonmates/AllWoodTypes.java | 10 ++++++ .../net/doppelr/lemonmates/LemonMates.java | 6 ++++ .../doppelr/lemonmates/block/ModBlocks.java | 21 ++++++++++-- .../lemonmates/block/ModHangingSignBlock.java | 19 +++++++++++ .../block/ModStandingSignBlock.java | 19 +++++++++++ .../block/ModWallHangingSignBlock.java | 19 +++++++++++ .../lemonmates/block/ModWallSignBlock.java | 19 +++++++++++ .../block/entity/ModBlockEntities.java | 30 ++++++++++++++++ .../entity/ModHangingSignBlockEntity.java | 17 ++++++++++ .../block/entity/ModSignBlockEntity.java | 17 ++++++++++ .../datagen/ModBlockLootTableProvider.java | 18 +++++++++- .../datagen/ModBlockStateProvider.java | 6 ++++ .../datagen/ModItemModelProvider.java | 4 +++ .../lemonmates/event/ModClientEvents.java | 20 +++++++++++ .../net/doppelr/lemonmates/item/ModItems.java | 20 +++++++++-- .../assets/lemonmates/lang/en_US.json | 4 +++ .../textures/entity/signs/citron.png | Bin 0 -> 385 bytes .../textures/entity/signs/hanging/citron.png | Bin 0 -> 449 bytes .../textures/entity/signs/hanging/orange.png | Bin 0 -> 418 bytes .../textures/entity/signs/orange.png | Bin 0 -> 470 bytes .../textures/item/citron_hanging_sign.png | Bin 0 -> 248 bytes .../lemonmates/textures/item/citron_sign.png | Bin 0 -> 223 bytes .../textures/item/orange_hanging_sign.png | Bin 0 -> 229 bytes .../lemonmates/textures/item/orange_sign.png | Bin 0 -> 217 bytes 68 files changed, 692 insertions(+), 37 deletions(-) create mode 100644 src/generated/resources/assets/lemonmates/blockstates/citron_hanging_sign.json create mode 100644 src/generated/resources/assets/lemonmates/blockstates/citron_sign.json create mode 100644 src/generated/resources/assets/lemonmates/blockstates/citron_wall_hanging_sign.json create mode 100644 src/generated/resources/assets/lemonmates/blockstates/citron_wall_sign.json create mode 100644 src/generated/resources/assets/lemonmates/blockstates/orange_hanging_sign.json create mode 100644 src/generated/resources/assets/lemonmates/blockstates/orange_sign.json create mode 100644 src/generated/resources/assets/lemonmates/blockstates/orange_wall_hanging_sign.json create mode 100644 src/generated/resources/assets/lemonmates/blockstates/orange_wall_sign.json create mode 100644 src/generated/resources/assets/lemonmates/models/block/citron_hanging_sign.json create mode 100644 src/generated/resources/assets/lemonmates/models/block/citron_sign.json create mode 100644 src/generated/resources/assets/lemonmates/models/block/orange_hanging_sign.json create mode 100644 src/generated/resources/assets/lemonmates/models/block/orange_sign.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/citron_hanging_sign.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/citron_juice.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/citron_sign.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/orange_hanging_sign.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/orange_juice.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/orange_sign.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/raspberry_juice.json delete mode 100644 src/generated/resources/data/lemonmates/advancement/lemonmates_root.json create mode 100644 src/generated/resources/data/lemonmates/advancement/recipes/building_blocks/raspberry_crate.json create mode 100644 src/generated/resources/data/lemonmates/advancement/recipes/misc/raspberry.json delete mode 100644 src/generated/resources/data/lemonmates/advancement/watermelon_lemonade.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/citron_hanging_sign.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/citron_sign.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/citron_wall_hanging_sign.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/citron_wall_sign.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/orange_hanging_sign.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/orange_sign.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/orange_wall_hanging_sign.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/orange_wall_sign.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/raspberry_crate.json create mode 100644 src/generated/resources/data/lemonmates/recipe/raspberry.json create mode 100644 src/generated/resources/data/lemonmates/recipe/raspberry_crate.json create mode 100644 src/generated/resources/data/minecraft/tags/item/slabs.json create mode 100644 src/generated/resources/data/minecraft/tags/item/stairs.json create mode 100644 src/main/java/net/doppelr/lemonmates/AllWoodTypes.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/ModHangingSignBlock.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/ModStandingSignBlock.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/ModWallHangingSignBlock.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/ModWallSignBlock.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/entity/ModHangingSignBlockEntity.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/entity/ModSignBlockEntity.java create mode 100644 src/main/java/net/doppelr/lemonmates/event/ModClientEvents.java create mode 100644 src/main/resources/assets/lemonmates/textures/entity/signs/citron.png create mode 100644 src/main/resources/assets/lemonmates/textures/entity/signs/hanging/citron.png create mode 100644 src/main/resources/assets/lemonmates/textures/entity/signs/hanging/orange.png create mode 100644 src/main/resources/assets/lemonmates/textures/entity/signs/orange.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/citron_hanging_sign.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/citron_sign.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/orange_hanging_sign.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/orange_sign.png diff --git a/src/generated/resources/.cache/21763219d2ea38aa831f7b57625e5f4a64ca9c6e b/src/generated/resources/.cache/21763219d2ea38aa831f7b57625e5f4a64ca9c6e index 5af2e06..2336705 100644 --- a/src/generated/resources/.cache/21763219d2ea38aa831f7b57625e5f4a64ca9c6e +++ b/src/generated/resources/.cache/21763219d2ea38aa831f7b57625e5f4a64ca9c6e @@ -1,4 +1,4 @@ -// 1.21.1 2025-08-28T22:55:31.9498268 Tags for minecraft:block mod id lemonmates +// 1.21.1 2025-08-29T17:33:56.7538869 Tags for minecraft:block mod id lemonmates c2aeba83a0cd5589021128b260951b1f5dd5c10a data/c/tags/block/stripped_logs.json 831234b532b3190e02bdad6ca92f1c79e6e8d9e1 data/c/tags/block/stripped_woods.json ec001d932df2810d44f728a91637e46f25deb9e1 data/lemonmates/tags/block/citron_logs.json @@ -9,7 +9,7 @@ ec9fbd376a3a8309ef969352126e2a59abca981f data/minecraft/tags/block/fences.json 4b2c7e1c50af5d63714df2c3a463f8d6298a4fb6 data/minecraft/tags/block/leaves.json e3216b2b2cb6ef503aae1d6f721e6157794150fc data/minecraft/tags/block/logs.json e3216b2b2cb6ef503aae1d6f721e6157794150fc data/minecraft/tags/block/logs_that_burn.json -251aaffcf09e2cf973dba75378c3226136fed4d6 data/minecraft/tags/block/mineable/axe.json +72f59cf351e67a52e7a76b1c7172f618544e1266 data/minecraft/tags/block/mineable/axe.json 4b2c7e1c50af5d63714df2c3a463f8d6298a4fb6 data/minecraft/tags/block/mineable/hoe.json 428bc57a88557c01ea601e4bb01897c1eeec7153 data/minecraft/tags/block/overworld_natural_logs.json 7985a0cc812db01ca58f78d85c50a3410a97f55f data/minecraft/tags/block/planks.json diff --git a/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c b/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c index 58bb896..a204da2 100644 --- a/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c +++ b/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c @@ -1,4 +1,5 @@ -// 1.21.1 2025-08-28T23:00:24.2326106 Tags for minecraft:item mod id lemonmates +// 1.21.1 2025-08-29T17:33:56.7427046 Tags for minecraft:item mod id lemonmates +c2aeba83a0cd5589021128b260951b1f5dd5c10a data/c/tags/item/stripped_logs.json 831234b532b3190e02bdad6ca92f1c79e6e8d9e1 data/c/tags/item/stripped_woods.json ec001d932df2810d44f728a91637e46f25deb9e1 data/lemonmates/tags/item/citron_logs.json 13d4e7735ae53dea526fe61eb36457db27667dcc data/lemonmates/tags/item/orange_logs.json @@ -7,3 +8,5 @@ e3216b2b2cb6ef503aae1d6f721e6157794150fc data/minecraft/tags/item/logs.json e3216b2b2cb6ef503aae1d6f721e6157794150fc data/minecraft/tags/item/logs_that_burn.json 7985a0cc812db01ca58f78d85c50a3410a97f55f data/minecraft/tags/item/planks.json ceb8e6e85fd625b41c939323206d0d518844c8e5 data/minecraft/tags/item/saplings.json +28977a83d779d7fd7af8b89adc3a5209a4e816b5 data/minecraft/tags/item/slabs.json +2f3d1854ad2f7ef6e2379125d49445ead9605568 data/minecraft/tags/item/stairs.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 9f1b715..f3e9047 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,33 +1,42 @@ -// 1.21.1 2025-08-28T05:13:31.168603 Loot Tables +// 1.21.1 2025-08-29T17:33:56.7488677 Loot Tables 7e6629cf425f2397f87b1a6c439f701aa8b4fd04 data/lemonmates/loot_table/blocks/citron_button.json 5ecfcd3e41895ce2db80738f891e13845547f945 data/lemonmates/loot_table/blocks/citron_crate.json 1126754d8c95732b55490a43313d49624d070270 data/lemonmates/loot_table/blocks/citron_door.json b2d12308036bcc246985e8013e665b7b7810c16c data/lemonmates/loot_table/blocks/citron_fence.json a4e9df613d17e651399909c970bb759be0ed8dba data/lemonmates/loot_table/blocks/citron_fence_gate.json +c0c0d0b7c5dcd85e5fde4e7d99de0cd1469faa0a data/lemonmates/loot_table/blocks/citron_hanging_sign.json 631627b8884813507bd09e83f116ea7e34831b45 data/lemonmates/loot_table/blocks/citron_leaves.json ff72613a08c9e95b9f18f82fa539f2c598372a78 data/lemonmates/loot_table/blocks/citron_log.json 035588ac3c7861f2783ca9b311bad4c1619db82b data/lemonmates/loot_table/blocks/citron_planks.json c07f881b818118808f050c7012d0b85ae330a4f5 data/lemonmates/loot_table/blocks/citron_pressure_plate.json 74845f4cdc363a70d19116c33b5aae64cb512176 data/lemonmates/loot_table/blocks/citron_sapling.json +be56f3f3d40997839e2f5cafbdd671ad138bff15 data/lemonmates/loot_table/blocks/citron_sign.json 54de9fedf3bf09a081dca6fb42154129c0a98ee2 data/lemonmates/loot_table/blocks/citron_slab.json 94e636910564078bfde457b45037b7e1c510b0e1 data/lemonmates/loot_table/blocks/citron_stairs.json 8d94faf7f574ee1ee7b15231f76cea96b24d8854 data/lemonmates/loot_table/blocks/citron_trapdoor.json +0a963f93f59f29878b6a7f16be2e9fc3c413dc81 data/lemonmates/loot_table/blocks/citron_wall_hanging_sign.json +d4e59033f364cc2b689d470b73733bcad5a931a8 data/lemonmates/loot_table/blocks/citron_wall_sign.json 4098d61de0b4bf5314926c5a4b04f366f2f7f8d2 data/lemonmates/loot_table/blocks/citron_wood.json f904d74cc3fafb07d9e23051af019f5edaebaeae data/lemonmates/loot_table/blocks/orange_button.json 8c2027370536a83e1ebc819a9b0d034c20326f33 data/lemonmates/loot_table/blocks/orange_crate.json 48e8f83773044b736f7636152a6aba42210a525e data/lemonmates/loot_table/blocks/orange_door.json 3aee55e5aa2ebea226967c06d696ecf39fa12960 data/lemonmates/loot_table/blocks/orange_fence.json 24a544198ba7ab98220c47867b166d6f930399e0 data/lemonmates/loot_table/blocks/orange_fence_gate.json +58468e7ffa4f323f799397ce9a7fc0e39bd73b2e data/lemonmates/loot_table/blocks/orange_hanging_sign.json 280dbd6bdeff16a14999ff1c769cc078ee0920fa data/lemonmates/loot_table/blocks/orange_leaves.json 2169adfc8e142ecde75d435155e298f818f96092 data/lemonmates/loot_table/blocks/orange_log.json 3437f0b97939d3a2075888532553f6caa5c5c60b data/lemonmates/loot_table/blocks/orange_planks.json b5c05da81b44fe0ad7a488af49f85d425626b020 data/lemonmates/loot_table/blocks/orange_pressure_plate.json 66bfc1d75012ad89ab97892198ad687cf2ad3660 data/lemonmates/loot_table/blocks/orange_sapling.json +cb43bf0b6d8a897f5ded0a9ffb3d1f3e098e5e0d data/lemonmates/loot_table/blocks/orange_sign.json 85787b4d616eb633a4315c0ca4629a85cf8d27b6 data/lemonmates/loot_table/blocks/orange_slab.json 986c1b33ca024906c2eee3659b535f1e388624fe data/lemonmates/loot_table/blocks/orange_stairs.json b1a9c59afdb1e57b47b56ba135b0586a7108e013 data/lemonmates/loot_table/blocks/orange_trapdoor.json +92f5da224869a39a1df0a86bbcbc8ddfd78c06d6 data/lemonmates/loot_table/blocks/orange_wall_hanging_sign.json +c843ae8c37cf280bd2af0e535da7b81203cf26d3 data/lemonmates/loot_table/blocks/orange_wall_sign.json bd82e20645f4f6f75d6862a28b3756f714d1ffed data/lemonmates/loot_table/blocks/orange_wood.json 9d624bdc7c2a4bc05639befe886bb8cb510fa878 data/lemonmates/loot_table/blocks/raspberry_bush.json +85e927b4cfd53cb81cc939fcd137b391a69a6ad4 data/lemonmates/loot_table/blocks/raspberry_crate.json f449a514381baf54e4515a0ca8f4a304d9c2735d data/lemonmates/loot_table/blocks/stripped_citron_log.json 52a1b6d1cba20cd6b102a26193248df56eb37c52 data/lemonmates/loot_table/blocks/stripped_citron_wood.json 6119e198844f5713fd685fdd8ade49f8c00a7733 data/lemonmates/loot_table/blocks/stripped_orange_log.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 9d17c6a..0c0b643 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.21.1 2025-08-28T22:50:07.6278428 Recipes +// 1.21.1 2025-08-29T17:33:56.7513773 Recipes 1d7c61d7aa66adee3bb6a9752e28e5b3481ff485 data/lemonmates/advancement/recipes/building_blocks/citron_crate.json 8c180e50e9625c1985dfc40e7be05f0293d92fd2 data/lemonmates/advancement/recipes/building_blocks/citron_planks.json eee4f4632b7c48b3af255d7aa5fac05090e88546 data/lemonmates/advancement/recipes/building_blocks/citron_slab.json @@ -9,12 +9,14 @@ cb0e74f87159d0de2e9ba582aaad66c5f9a35a23 data/lemonmates/advancement/recipes/bui d967bf8fafc67fafed7c4e9a7122e864c1508507 data/lemonmates/advancement/recipes/building_blocks/orange_slab.json acd964845aa6395650d3ad532b0e7f26414ac1f2 data/lemonmates/advancement/recipes/building_blocks/orange_stairs.json c1f895eb552cbea0adcf753ffde739cd3a862407 data/lemonmates/advancement/recipes/building_blocks/orange_wood.json +21d724d6f612079fba942adff637c6678195a1bc data/lemonmates/advancement/recipes/building_blocks/raspberry_crate.json 3b42fd00a983e446cd9c80f29425be9ce7136a63 data/lemonmates/advancement/recipes/building_blocks/stripped_citron_wood.json 413c4076a09b44ca85def5d8aac8e2c37cfefd51 data/lemonmates/advancement/recipes/building_blocks/stripped_orange_wood.json e57b95388b59618d5c42e47b2e02cc0de69b4b86 data/lemonmates/advancement/recipes/decorations/citron_fence.json 970983af8729e67ad31eb275430614a94943bd90 data/lemonmates/advancement/recipes/decorations/orange_fence.json 4479303ddbadd32d46326de55321302897b148ec data/lemonmates/advancement/recipes/misc/citron.json c2058d9cefd54d577a5fd4729619999e05153bef data/lemonmates/advancement/recipes/misc/orange.json +e9a2fe0611d96dcfaafadbb8ada78fd10586215a data/lemonmates/advancement/recipes/misc/raspberry.json 8705e703b642f9226f38b7eea60d820b32112c90 data/lemonmates/advancement/recipes/redstone/citron_button.json 88f5d881de84c5dd384ce0c3292e009440b74ab6 data/lemonmates/advancement/recipes/redstone/citron_door.json b9b463ee4a3fea1c84dc3e78179dd0d0e6667473 data/lemonmates/advancement/recipes/redstone/citron_fence_gate.json @@ -49,5 +51,7 @@ a474ee389965e67b45953f8198a823e3a68b143e data/lemonmates/recipe/orange_fence.jso 97539de8be75cd3284b9f8f82d60ef867b3d3f48 data/lemonmates/recipe/orange_stairs.json 3ee677fe14e886b3791d1ac308db25e62c062ccb data/lemonmates/recipe/orange_trapdoor.json b884e4c1a9d89dbe95138d5ea95113136e361e90 data/lemonmates/recipe/orange_wood.json +232a5e5636df063c5d4f993cf8510859234f9c1c data/lemonmates/recipe/raspberry.json +1445516a5fab144d5ab7dfed1ad3de0efa970a3c data/lemonmates/recipe/raspberry_crate.json 145218accb1ca38a0a5f92fa8c36fec665f9fb60 data/lemonmates/recipe/stripped_citron_wood.json 538d2929b9a38901bd7becd5ad38af94afe42e5a data/lemonmates/recipe/stripped_orange_wood.json diff --git a/src/generated/resources/.cache/bdae2ca466a64bf2ac620d7a02b4f8ff14c39d1b b/src/generated/resources/.cache/bdae2ca466a64bf2ac620d7a02b4f8ff14c39d1b index 01875c3..12e2a5e 100644 --- a/src/generated/resources/.cache/bdae2ca466a64bf2ac620d7a02b4f8ff14c39d1b +++ b/src/generated/resources/.cache/bdae2ca466a64bf2ac620d7a02b4f8ff14c39d1b @@ -1,33 +1,42 @@ -// 1.21.1 2025-08-28T05:13:31.1666025 Block States: lemonmates +// 1.21.1 2025-08-29T17:33:56.745869 Block States: lemonmates 505012ab48971d0061b678b0bcc09d94d2c7e0fc assets/lemonmates/blockstates/citron_button.json eca78553353a3e20b4f0dfa97e77c053aaad4298 assets/lemonmates/blockstates/citron_crate.json 7d036fe561885dffc12046056cfd5b09c1b7a8d5 assets/lemonmates/blockstates/citron_door.json ce2267023bca8bdd1b41d2aad230d8c55363d3cf assets/lemonmates/blockstates/citron_fence.json ef606854d3182b49f792c851f8fe5a72d7ad4dc9 assets/lemonmates/blockstates/citron_fence_gate.json +2ded078cdd22eef4d7bcb2ea602a3aa5700a4583 assets/lemonmates/blockstates/citron_hanging_sign.json c123b2dbd1da736e9ded394df9cc3eb36c45bbd7 assets/lemonmates/blockstates/citron_leaves.json 165297cd391dc34583b5dc79d1373579dc66441d assets/lemonmates/blockstates/citron_log.json 3a3d948e920a43ad3a089534165cf85e80e75230 assets/lemonmates/blockstates/citron_planks.json d88cb1f4887cb77d985c6cf45de2e553c050f8fa assets/lemonmates/blockstates/citron_pressure_plate.json ae54a8a33123feadc2df3b6865c3a801ac95e697 assets/lemonmates/blockstates/citron_sapling.json +460b0571d79c82dee1e35bbab6c1d89f43435b7f assets/lemonmates/blockstates/citron_sign.json 18f9164711c694afb1cf89b17df3eeb4201d4dc4 assets/lemonmates/blockstates/citron_slab.json 395f78c0bea1d1ffc115d67d34f30680b25692f0 assets/lemonmates/blockstates/citron_stairs.json 43aace20a4af9b8b885bd094866024cdf92da956 assets/lemonmates/blockstates/citron_trapdoor.json +2ded078cdd22eef4d7bcb2ea602a3aa5700a4583 assets/lemonmates/blockstates/citron_wall_hanging_sign.json +460b0571d79c82dee1e35bbab6c1d89f43435b7f assets/lemonmates/blockstates/citron_wall_sign.json a7f089d15a35fc27cc5b9cd069912f3a11963498 assets/lemonmates/blockstates/citron_wood.json 3dd07a147a027337d949cd0a8aef5fa1baa8f760 assets/lemonmates/blockstates/orange_button.json 01a64b5c967cb784a532337b31e93746ef542785 assets/lemonmates/blockstates/orange_crate.json eb48dffdbafdf5932c57b39ae65d0599c40ec104 assets/lemonmates/blockstates/orange_door.json 768a22a1401c0ff7b81118e04ec52365d9931605 assets/lemonmates/blockstates/orange_fence.json 5707106f0d8c8d8a42bc6971eed74c57ed06ba70 assets/lemonmates/blockstates/orange_fence_gate.json +8210095f5eb3e9d721140ebd41f7cc6755d984b1 assets/lemonmates/blockstates/orange_hanging_sign.json da63b2c45df09e5e82d3be0c11f305dbc5dc647f assets/lemonmates/blockstates/orange_leaves.json 0277e377ff2769adfe906667d5bb98544805000c assets/lemonmates/blockstates/orange_log.json ffcd2ff94230a7b29b7712b22a81178d8ef389ed assets/lemonmates/blockstates/orange_planks.json 74967f9d3e3a366851a847c5dd3b136deeff6be4 assets/lemonmates/blockstates/orange_pressure_plate.json 14e2d54c9086d898fb011dafff9ea6d8e2961512 assets/lemonmates/blockstates/orange_sapling.json +2d0e57ece7a507c1f3b566a9d9e0e58a4b19caba assets/lemonmates/blockstates/orange_sign.json 39bf291a6cdc1ed07fc8c045d0795c684ec86c03 assets/lemonmates/blockstates/orange_slab.json d5b5eecd1b2e2e3e2bf8ed35c9f931dc47861f3d assets/lemonmates/blockstates/orange_stairs.json 0fa3983d5125823c52c2c56d47c9c52f7c6e915b assets/lemonmates/blockstates/orange_trapdoor.json +8210095f5eb3e9d721140ebd41f7cc6755d984b1 assets/lemonmates/blockstates/orange_wall_hanging_sign.json +2d0e57ece7a507c1f3b566a9d9e0e58a4b19caba assets/lemonmates/blockstates/orange_wall_sign.json 1be8140b14a93cdd0f68a5de8005f6556351a5d3 assets/lemonmates/blockstates/orange_wood.json 52b077c9223f47c86751742b721bb57fa5cf93e5 assets/lemonmates/blockstates/raspberry_bush.json +0122edd687ac3a35eedac21e3789a88465df90fe assets/lemonmates/blockstates/raspberry_crate.json f587f63c6bee598521190d56ded3fe7b71ad6a20 assets/lemonmates/blockstates/stripped_citron_log.json e45465b7ec3f153de3b11d0a51ae66415d4e68bd assets/lemonmates/blockstates/stripped_citron_wood.json 50130c2e0f6a85c49dd5d14e209e36e32aad3c4f assets/lemonmates/blockstates/stripped_orange_log.json @@ -49,6 +58,7 @@ a240bef7e975931fceda8f16c07654731146dea6 assets/lemonmates/models/block/citron_f 1507f81894253031fc19e827bfc2d7f52a7d6a41 assets/lemonmates/models/block/citron_fence_gate_wall_open.json 2c0f984aa2fce774391bd77c02707989f3971df3 assets/lemonmates/models/block/citron_fence_post.json 88a5672ffa6ca60237df4f0e66f99107e9ce7b10 assets/lemonmates/models/block/citron_fence_side.json +32f1634f94cac72635120761b335abc3fb9dc5e6 assets/lemonmates/models/block/citron_hanging_sign.json 6eac8310b28fce4f2a610b1eca45b1133712f72e assets/lemonmates/models/block/citron_leaves.json 2bc887dbfee98eeca7625f2342760e3b31508038 assets/lemonmates/models/block/citron_log.json fce6ed472142c9547a9a713090e6c2172bf1a45b assets/lemonmates/models/block/citron_log_horizontal.json @@ -56,6 +66,7 @@ fce6ed472142c9547a9a713090e6c2172bf1a45b assets/lemonmates/models/block/citron_l f4b56cdb7a9b4103cebfb66d0da8c7222ada4cf3 assets/lemonmates/models/block/citron_pressure_plate.json d0d99d5519817eeb8c9d93d04df55f322569c54a assets/lemonmates/models/block/citron_pressure_plate_down.json cb71db31deb5c8df968eadcf9a9e275cb31383c7 assets/lemonmates/models/block/citron_sapling.json +32f1634f94cac72635120761b335abc3fb9dc5e6 assets/lemonmates/models/block/citron_sign.json 4c773671751ff70f580926b02d0a224405d0da45 assets/lemonmates/models/block/citron_slab.json 5f72e53c9dbc4ec512d9f5a675031b7f8cc04e24 assets/lemonmates/models/block/citron_slab_top.json d5e9dcc7966f8c9fb9e1780e0b5d44c7230a39e2 assets/lemonmates/models/block/citron_stairs.json @@ -83,6 +94,7 @@ dff7d7d250f11f3e330ac8154db9dffc990caf60 assets/lemonmates/models/block/orange_d 20eacb611a84665828278d4cb4a269bea1f23cba assets/lemonmates/models/block/orange_fence_gate_wall_open.json 5a2a27c6690166e886d2dbb843ac83d3b8716926 assets/lemonmates/models/block/orange_fence_post.json a979f5f8785d2cf48dbf3f6b1dd952df024e3210 assets/lemonmates/models/block/orange_fence_side.json +679ecbfd6cf5bf5389e413d1a4e975ee7b0673d5 assets/lemonmates/models/block/orange_hanging_sign.json b50654380ac4f2c3f9e54b9223743260b51cec0b assets/lemonmates/models/block/orange_leaves.json 3570c189863c93efc6efc2b53022386e08690c71 assets/lemonmates/models/block/orange_log.json d2348401d8e8a24b840ce1d0aa5b59f3d02ae5eb assets/lemonmates/models/block/orange_log_horizontal.json @@ -90,6 +102,7 @@ ef9dcd9fd419478fa5f0a9d444c0470a98185d9b assets/lemonmates/models/block/orange_p 95a6ad96664a4325ac9e1bb08fd03b05c2c831b5 assets/lemonmates/models/block/orange_pressure_plate.json fafbc0bd36235f0f6a7c68d56d5e31b6b2202c31 assets/lemonmates/models/block/orange_pressure_plate_down.json 61a515dbe696c5af3ad23d2c2f9057abca2f84e5 assets/lemonmates/models/block/orange_sapling.json +32f1634f94cac72635120761b335abc3fb9dc5e6 assets/lemonmates/models/block/orange_sign.json 6e52508b12c519db324c4ac0e75e4453efb5a5b3 assets/lemonmates/models/block/orange_slab.json 108c1af2e217326695dcbe077e3838bf3456d276 assets/lemonmates/models/block/orange_slab_top.json 47f3db9388ad5dc1765758f8346aba6828d4295e assets/lemonmates/models/block/orange_stairs.json @@ -104,6 +117,7 @@ e16ee299788667375dab8556352deaac8982f2d6 assets/lemonmates/models/block/raspberr fe1fcc81eec9d9c2ba07a1d4c786aee89bc3ed22 assets/lemonmates/models/block/raspberry_bush_stage1.json fe9fdc56cb96a3188af1444398bac26ab6e5dc5e assets/lemonmates/models/block/raspberry_bush_stage2.json 55d4bde2f1ecec00411f63fa127aab486cd20d65 assets/lemonmates/models/block/raspberry_bush_stage3.json +c8075a053275539e0f679a4c0caa4e0702bd4161 assets/lemonmates/models/block/raspberry_crate.json e418a25ba457640bc57ece030c8028973b6bcf13 assets/lemonmates/models/block/stripped_citron_log.json 2823d53cbb414bac07baad851c54545c601011ec assets/lemonmates/models/block/stripped_citron_log_horizontal.json 234e73f527fee028c8f09ef67e40ddff0bc93833 assets/lemonmates/models/block/stripped_citron_wood.json @@ -132,6 +146,7 @@ a9bc7f0d0da2a6edfeddb538c845db3c2ddafc8a assets/lemonmates/models/item/orange_le a9a5eb5f125ece6e9ceeea99b02425e88a46f31f assets/lemonmates/models/item/orange_stairs.json 7c12c0c4690ba1cb6354bbda6235ddfcdff85b64 assets/lemonmates/models/item/orange_trapdoor.json 70127860d587990ca541397e39577e85a168985b assets/lemonmates/models/item/orange_wood.json +754d3facfcb132f98f79464cd8db26fdd19eb4f4 assets/lemonmates/models/item/raspberry_crate.json 19d0190c4da5d9dc3b2df13b677f178509dc87cd assets/lemonmates/models/item/stripped_citron_log.json 6e62e3c3d8eced0f21579b1054d4eb2a31705444 assets/lemonmates/models/item/stripped_citron_wood.json 913b3056c6ab389826a50d8d00a81e6913b9f362 assets/lemonmates/models/item/stripped_orange_log.json diff --git a/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 b/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 index 6f34800..5a2d8ad 100644 --- a/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 +++ b/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 @@ -1,12 +1,16 @@ -// 1.21.1 2025-08-28T05:13:31.1706027 Item Models: lemonmates +// 1.21.1 2025-08-29T17:33:56.7528817 Item Models: lemonmates 1d65eec8c3227815848450e8c5d87f5bd0cd3c32 assets/lemonmates/models/item/citron.json 3589c8bf67233cfea9a9a5e0407c4168a9f99d7e assets/lemonmates/models/item/citron_button.json 258c99a08a8e797e91253ccc4b30e1754df23c2a assets/lemonmates/models/item/citron_door.json 2619c0a6226d0b62f91c6074d209358c7280c268 assets/lemonmates/models/item/citron_fence.json +0b476a32185240fe6706d3e31eefef67ffb406c7 assets/lemonmates/models/item/citron_hanging_sign.json a79067c13f8f61f2773c10c67451c64307bac6b0 assets/lemonmates/models/item/citron_sapling.json +9f1c52c417b907ad9d92f751f22ee86dc3c4e1eb assets/lemonmates/models/item/citron_sign.json e9c347f3336218870283425b87f389d6e2ee836c assets/lemonmates/models/item/orange.json a5e34ba1fef7e8c745423a65d4f527bf6405364a assets/lemonmates/models/item/orange_button.json af17e2972f3855dc7ae6987fd45ad9d85fa2a9c5 assets/lemonmates/models/item/orange_door.json 91de5070707506596975216f1c76c4989a4f2150 assets/lemonmates/models/item/orange_fence.json +c9d64f2902642ba2c8425b24fa57beee3abc7204 assets/lemonmates/models/item/orange_hanging_sign.json fb91a796f34d6d6b6e16a52d71c1678b091007c5 assets/lemonmates/models/item/orange_sapling.json +dbddedbfbcc9a4033ba0fcb909b3acc80be4ee98 assets/lemonmates/models/item/orange_sign.json f1418197725e7fa91216d57cfb49b5a7c6b76c06 assets/lemonmates/models/item/raspberry.json diff --git a/src/generated/resources/assets/lemonmates/blockstates/citron_hanging_sign.json b/src/generated/resources/assets/lemonmates/blockstates/citron_hanging_sign.json new file mode 100644 index 0000000..648b4f1 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/blockstates/citron_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "lemonmates:block/citron_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/blockstates/citron_sign.json b/src/generated/resources/assets/lemonmates/blockstates/citron_sign.json new file mode 100644 index 0000000..253ff5d --- /dev/null +++ b/src/generated/resources/assets/lemonmates/blockstates/citron_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "lemonmates:block/citron_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/blockstates/citron_wall_hanging_sign.json b/src/generated/resources/assets/lemonmates/blockstates/citron_wall_hanging_sign.json new file mode 100644 index 0000000..648b4f1 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/blockstates/citron_wall_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "lemonmates:block/citron_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/blockstates/citron_wall_sign.json b/src/generated/resources/assets/lemonmates/blockstates/citron_wall_sign.json new file mode 100644 index 0000000..253ff5d --- /dev/null +++ b/src/generated/resources/assets/lemonmates/blockstates/citron_wall_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "lemonmates:block/citron_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/blockstates/orange_hanging_sign.json b/src/generated/resources/assets/lemonmates/blockstates/orange_hanging_sign.json new file mode 100644 index 0000000..1e3d816 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/blockstates/orange_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "lemonmates:block/orange_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/blockstates/orange_sign.json b/src/generated/resources/assets/lemonmates/blockstates/orange_sign.json new file mode 100644 index 0000000..82bb155 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/blockstates/orange_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "lemonmates:block/orange_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/blockstates/orange_wall_hanging_sign.json b/src/generated/resources/assets/lemonmates/blockstates/orange_wall_hanging_sign.json new file mode 100644 index 0000000..1e3d816 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/blockstates/orange_wall_hanging_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "lemonmates:block/orange_hanging_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/blockstates/orange_wall_sign.json b/src/generated/resources/assets/lemonmates/blockstates/orange_wall_sign.json new file mode 100644 index 0000000..82bb155 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/blockstates/orange_wall_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "lemonmates:block/orange_sign" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/block/citron_hanging_sign.json b/src/generated/resources/assets/lemonmates/models/block/citron_hanging_sign.json new file mode 100644 index 0000000..4b3311e --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/block/citron_hanging_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "lemonmates:block/citron_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/block/citron_sign.json b/src/generated/resources/assets/lemonmates/models/block/citron_sign.json new file mode 100644 index 0000000..4b3311e --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/block/citron_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "lemonmates:block/citron_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/block/orange_hanging_sign.json b/src/generated/resources/assets/lemonmates/models/block/orange_hanging_sign.json new file mode 100644 index 0000000..e44c6f0 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/block/orange_hanging_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "lemonmates:block/orange_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/block/orange_sign.json b/src/generated/resources/assets/lemonmates/models/block/orange_sign.json new file mode 100644 index 0000000..4b3311e --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/block/orange_sign.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "lemonmates:block/citron_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/citron_hanging_sign.json b/src/generated/resources/assets/lemonmates/models/item/citron_hanging_sign.json new file mode 100644 index 0000000..ec161d7 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/citron_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/citron_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/citron_juice.json b/src/generated/resources/assets/lemonmates/models/item/citron_juice.json deleted file mode 100644 index 205e817..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/citron_juice.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/juice_fluid/citron", - "layer1": "lemonmates:item/juice_glass" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/citron_sign.json b/src/generated/resources/assets/lemonmates/models/item/citron_sign.json new file mode 100644 index 0000000..1f985d7 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/citron_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/citron_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/orange_hanging_sign.json b/src/generated/resources/assets/lemonmates/models/item/orange_hanging_sign.json new file mode 100644 index 0000000..d61bee9 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/orange_hanging_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/orange_hanging_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/orange_juice.json b/src/generated/resources/assets/lemonmates/models/item/orange_juice.json deleted file mode 100644 index b063d3e..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/orange_juice.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/juice_fluid/orange", - "layer1": "lemonmates:item/juice_glass" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/orange_sign.json b/src/generated/resources/assets/lemonmates/models/item/orange_sign.json new file mode 100644 index 0000000..b3d122f --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/orange_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/orange_sign" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/raspberry_juice.json b/src/generated/resources/assets/lemonmates/models/item/raspberry_juice.json deleted file mode 100644 index 0d8631c..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/raspberry_juice.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/juice_fluid/raspberry", - "layer1": "lemonmates:item/juice_glass" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/advancement/lemonmates_root.json b/src/generated/resources/data/lemonmates/advancement/lemonmates_root.json deleted file mode 100644 index e69de29..0000000 diff --git a/src/generated/resources/data/lemonmates/advancement/recipes/building_blocks/raspberry_crate.json b/src/generated/resources/data/lemonmates/advancement/recipes/building_blocks/raspberry_crate.json new file mode 100644 index 0000000..8baf978 --- /dev/null +++ b/src/generated/resources/data/lemonmates/advancement/recipes/building_blocks/raspberry_crate.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raspberry": { + "conditions": { + "items": [ + { + "items": "lemonmates:raspberry" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "lemonmates:raspberry_crate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raspberry" + ] + ], + "rewards": { + "recipes": [ + "lemonmates:raspberry_crate" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/advancement/recipes/misc/raspberry.json b/src/generated/resources/data/lemonmates/advancement/recipes/misc/raspberry.json new file mode 100644 index 0000000..5f52dc9 --- /dev/null +++ b/src/generated/resources/data/lemonmates/advancement/recipes/misc/raspberry.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raspberry": { + "conditions": { + "items": [ + { + "items": "lemonmates:raspberry" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "lemonmates:raspberry" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raspberry" + ] + ], + "rewards": { + "recipes": [ + "lemonmates:raspberry" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/advancement/watermelon_lemonade.json b/src/generated/resources/data/lemonmates/advancement/watermelon_lemonade.json deleted file mode 100644 index e69de29..0000000 diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/citron_hanging_sign.json b/src/generated/resources/data/lemonmates/loot_table/blocks/citron_hanging_sign.json new file mode 100644 index 0000000..27e145b --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/citron_hanging_sign.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "lemonmates:citron_hanging_sign" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lemonmates:blocks/citron_hanging_sign" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/citron_sign.json b/src/generated/resources/data/lemonmates/loot_table/blocks/citron_sign.json new file mode 100644 index 0000000..2ccacff --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/citron_sign.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "lemonmates:citron_sign" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lemonmates:blocks/citron_sign" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/citron_wall_hanging_sign.json b/src/generated/resources/data/lemonmates/loot_table/blocks/citron_wall_hanging_sign.json new file mode 100644 index 0000000..32d4770 --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/citron_wall_hanging_sign.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "lemonmates:citron_hanging_sign" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lemonmates:blocks/citron_wall_hanging_sign" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/citron_wall_sign.json b/src/generated/resources/data/lemonmates/loot_table/blocks/citron_wall_sign.json new file mode 100644 index 0000000..e563ceb --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/citron_wall_sign.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "lemonmates:citron_sign" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lemonmates:blocks/citron_wall_sign" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/orange_hanging_sign.json b/src/generated/resources/data/lemonmates/loot_table/blocks/orange_hanging_sign.json new file mode 100644 index 0000000..281e258 --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/orange_hanging_sign.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "lemonmates:orange_hanging_sign" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lemonmates:blocks/orange_hanging_sign" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/orange_sign.json b/src/generated/resources/data/lemonmates/loot_table/blocks/orange_sign.json new file mode 100644 index 0000000..5c15359 --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/orange_sign.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "lemonmates:orange_sign" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lemonmates:blocks/orange_sign" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/orange_wall_hanging_sign.json b/src/generated/resources/data/lemonmates/loot_table/blocks/orange_wall_hanging_sign.json new file mode 100644 index 0000000..f7e52db --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/orange_wall_hanging_sign.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "lemonmates:orange_hanging_sign" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lemonmates:blocks/orange_wall_hanging_sign" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/orange_wall_sign.json b/src/generated/resources/data/lemonmates/loot_table/blocks/orange_wall_sign.json new file mode 100644 index 0000000..96dcc5e --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/orange_wall_sign.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "lemonmates:orange_sign" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lemonmates:blocks/orange_wall_sign" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/raspberry_crate.json b/src/generated/resources/data/lemonmates/loot_table/blocks/raspberry_crate.json new file mode 100644 index 0000000..6bc10b3 --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/raspberry_crate.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "lemonmates:raspberry_crate" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lemonmates:blocks/raspberry_crate" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/recipe/raspberry.json b/src/generated/resources/data/lemonmates/recipe/raspberry.json new file mode 100644 index 0000000..86b0f66 --- /dev/null +++ b/src/generated/resources/data/lemonmates/recipe/raspberry.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "lemonmates:raspberry_crate" + } + ], + "result": { + "count": 9, + "id": "lemonmates:raspberry" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/recipe/raspberry_crate.json b/src/generated/resources/data/lemonmates/recipe/raspberry_crate.json new file mode 100644 index 0000000..05a8842 --- /dev/null +++ b/src/generated/resources/data/lemonmates/recipe/raspberry_crate.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "lemonmates:raspberry" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "lemonmates:raspberry_crate" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/axe.json b/src/generated/resources/data/minecraft/tags/block/mineable/axe.json index eb31f1e..a86731b 100644 --- a/src/generated/resources/data/minecraft/tags/block/mineable/axe.json +++ b/src/generated/resources/data/minecraft/tags/block/mineable/axe.json @@ -2,6 +2,7 @@ "values": [ "lemonmates:orange_planks", "lemonmates:orange_crate", + "lemonmates:raspberry_crate", "lemonmates:citron_planks", "lemonmates:citron_crate" ] diff --git a/src/generated/resources/data/minecraft/tags/item/slabs.json b/src/generated/resources/data/minecraft/tags/item/slabs.json new file mode 100644 index 0000000..b337cc2 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/item/slabs.json @@ -0,0 +1,6 @@ +{ + "values": [ + "lemonmates:orange_slab", + "lemonmates:citron_slab" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/item/stairs.json b/src/generated/resources/data/minecraft/tags/item/stairs.json new file mode 100644 index 0000000..6553399 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/item/stairs.json @@ -0,0 +1,6 @@ +{ + "values": [ + "lemonmates:orange_stairs", + "lemonmates:citron_stairs" + ] +} \ No newline at end of file diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index 6df958f..b9f3c72 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -107,6 +107,8 @@ public class AllCreativeModeTabs { output.accept(ModItems.RASPBERRY_JUICE); // Citron Wood Stuffs + output.accept(ModBlocks.CITRON_SAPLING); + output.accept(ModBlocks.CITRON_LEAVES); output.accept(ModBlocks.CITRON_LOG); output.accept(ModBlocks.CITRON_WOOD); output.accept(ModBlocks.STRIPPED_CITRON_LOG); @@ -120,10 +122,13 @@ public class AllCreativeModeTabs { output.accept(ModBlocks.CITRON_TRAPDOOR); output.accept(ModBlocks.CITRON_PRESSURE_PLATE); output.accept(ModBlocks.CITRON_BUTTON); - output.accept(ModBlocks.CITRON_LEAVES); - output.accept(ModBlocks.CITRON_SAPLING); + output.accept(ModBlocks.CITRON_SIGN); + output.accept(ModItems.CITRON_SIGN); + output.accept(ModItems.CITRON_HANGING_SIGN); // Orange Wood Stuffs + output.accept(ModBlocks.ORANGE_SAPLING); + output.accept(ModBlocks.ORANGE_LEAVES); output.accept(ModBlocks.ORANGE_LOG); output.accept(ModBlocks.ORANGE_WOOD); output.accept(ModBlocks.STRIPPED_ORANGE_LOG); @@ -137,8 +142,8 @@ public class AllCreativeModeTabs { output.accept(ModBlocks.ORANGE_TRAPDOOR); output.accept(ModBlocks.ORANGE_PRESSURE_PLATE); output.accept(ModBlocks.ORANGE_BUTTON); - output.accept(ModBlocks.ORANGE_LEAVES); - output.accept(ModBlocks.ORANGE_SAPLING); + output.accept(ModItems.ORANGE_SIGN); + output.accept(ModItems.ORANGE_HANGING_SIGN); }) .build() ); diff --git a/src/main/java/net/doppelr/lemonmates/AllWoodTypes.java b/src/main/java/net/doppelr/lemonmates/AllWoodTypes.java new file mode 100644 index 0000000..d05d6a3 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/AllWoodTypes.java @@ -0,0 +1,10 @@ +package net.doppelr.lemonmates; + +import net.minecraft.world.level.block.state.properties.BlockSetType; +import net.minecraft.world.level.block.state.properties.WoodType; + +public class AllWoodTypes { + public static final WoodType CITRON = WoodType.register(new WoodType(LemonMates.MOD_ID + ":citron", BlockSetType.OAK)); + public static final WoodType ORANGE = WoodType.register(new WoodType(LemonMates.MOD_ID + ":orange", BlockSetType.OAK)); + +} diff --git a/src/main/java/net/doppelr/lemonmates/LemonMates.java b/src/main/java/net/doppelr/lemonmates/LemonMates.java index f1a3c1a..f491aa5 100644 --- a/src/main/java/net/doppelr/lemonmates/LemonMates.java +++ b/src/main/java/net/doppelr/lemonmates/LemonMates.java @@ -6,7 +6,9 @@ import com.simibubi.create.foundation.item.TooltipModifier; import net.createmod.catnip.lang.FontHelper; import net.doppelr.lemonmates.block.ModBlocks; +import net.doppelr.lemonmates.block.entity.ModBlockEntities; import net.doppelr.lemonmates.item.ModItems; +import net.minecraft.client.renderer.Sheets; import net.minecraft.resources.ResourceKey; import net.minecraft.world.item.CreativeModeTab; import org.slf4j.Logger; @@ -49,6 +51,8 @@ public LemonMates(IEventBus modEventBus, ModContainer modContainer) { ModItems.register(modEventBus); ModBlocks.register(modEventBus); + ModBlockEntities.register(modEventBus); + // Register our mod's ModConfigSpec so that FML can create and load the config file for us // modContainer.registerConfig(ModConfig.Type.COMMON, Config.SPEC); } @@ -75,6 +79,8 @@ public void onServerStarting(ServerStartingEvent event) { static class ClientModEvents { @SubscribeEvent static void onClientSetup(FMLClientSetupEvent event) { + Sheets.addWoodType(AllWoodTypes.CITRON); + Sheets.addWoodType(AllWoodTypes.ORANGE); } } } diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index 55144d3..1fc5ebd 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -1,5 +1,6 @@ package net.doppelr.lemonmates.block; +import net.doppelr.lemonmates.AllWoodTypes; import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.item.ModItems; import net.doppelr.lemonmates.worldgen.tree.ModTreeGrowers; @@ -49,7 +50,15 @@ public class ModBlocks { () -> new DoorBlock(BlockSetType.OAK, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_DOOR))); public static final DeferredBlock ORANGE_TRAPDOOR = registerBlock("orange_trapdoor", () -> new TrapDoorBlock(BlockSetType.OAK, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_TRAPDOOR))); - // TODO: Boats, Signs (could be something with Entities tho) + public static final DeferredBlock ORANGE_SIGN = BLOCKS.register("orange_sign", + () -> new ModStandingSignBlock(AllWoodTypes.ORANGE, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_SIGN))); + public static final DeferredBlock ORANGE_WALL_SIGN = BLOCKS.register("orange_wall_sign", + () -> new ModWallSignBlock(AllWoodTypes.ORANGE, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_WALL_SIGN))); + public static final DeferredBlock ORANGE_HANGING_SIGN = BLOCKS.register("orange_hanging_sign", + () -> new ModHangingSignBlock(AllWoodTypes.ORANGE, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_HANGING_SIGN))); + public static final DeferredBlock ORANGE_WALL_HANGING_SIGN = BLOCKS.register("orange_wall_hanging_sign", + () -> new ModWallHangingSignBlock(AllWoodTypes.ORANGE, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_WALL_HANGING_SIGN))); + // TODO: Boats public static final DeferredBlock CITRON_LOG = registerBlock("citron_log", () -> new ModFlammableRotatedPillarBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_LOG))); @@ -81,7 +90,15 @@ public class ModBlocks { () -> new DoorBlock(BlockSetType.OAK, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_DOOR))); public static final DeferredBlock CITRON_TRAPDOOR = registerBlock("citron_trapdoor", () -> new TrapDoorBlock(BlockSetType.OAK, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_TRAPDOOR))); - // TODO: Boats, Signs (could be something with Entities tho) + public static final DeferredBlock CITRON_SIGN = BLOCKS.register("citron_sign", + () -> new ModStandingSignBlock(AllWoodTypes.CITRON, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_SIGN))); + public static final DeferredBlock CITRON_WALL_SIGN = BLOCKS.register("citron_wall_sign", + () -> new ModWallSignBlock(AllWoodTypes.CITRON, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_WALL_SIGN))); + public static final DeferredBlock CITRON_HANGING_SIGN = BLOCKS.register("citron_hanging_sign", + () -> new ModHangingSignBlock(AllWoodTypes.CITRON, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_HANGING_SIGN))); + public static final DeferredBlock CITRON_WALL_HANGING_SIGN = BLOCKS.register("citron_wall_hanging_sign", + () -> new ModWallHangingSignBlock(AllWoodTypes.CITRON, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_WALL_HANGING_SIGN))); + // TODO: Boats public static final DeferredBlock RASPBERRY_BUSH = registerBlock("raspberry_bush", () -> new RaspberryBushBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SWEET_BERRY_BUSH))); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModHangingSignBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModHangingSignBlock.java new file mode 100644 index 0000000..bba4b61 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/ModHangingSignBlock.java @@ -0,0 +1,19 @@ +package net.doppelr.lemonmates.block; + +import net.doppelr.lemonmates.block.entity.ModHangingSignBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.CeilingHangingSignBlock; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.WoodType; + +public class ModHangingSignBlock extends CeilingHangingSignBlock { + public ModHangingSignBlock(WoodType type, Properties properties) { + super(type, properties); + } + + @Override + public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new ModHangingSignBlockEntity(pos, state); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/ModStandingSignBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModStandingSignBlock.java new file mode 100644 index 0000000..f49f2d7 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/ModStandingSignBlock.java @@ -0,0 +1,19 @@ +package net.doppelr.lemonmates.block; + +import net.doppelr.lemonmates.block.entity.ModSignBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.StandingSignBlock; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.WoodType; + +public class ModStandingSignBlock extends StandingSignBlock { + public ModStandingSignBlock(WoodType type, Properties properties) { + super(type, properties); + } + + @Override + public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new ModSignBlockEntity(pos, state); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/ModWallHangingSignBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModWallHangingSignBlock.java new file mode 100644 index 0000000..4668163 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/ModWallHangingSignBlock.java @@ -0,0 +1,19 @@ +package net.doppelr.lemonmates.block; + +import net.doppelr.lemonmates.block.entity.ModHangingSignBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.WallHangingSignBlock; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.WoodType; + +public class ModWallHangingSignBlock extends WallHangingSignBlock { + public ModWallHangingSignBlock(WoodType type, Properties properties) { + super(type, properties); + } + + @Override + public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new ModHangingSignBlockEntity(pos, state); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/ModWallSignBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModWallSignBlock.java new file mode 100644 index 0000000..4d5a5e3 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/ModWallSignBlock.java @@ -0,0 +1,19 @@ +package net.doppelr.lemonmates.block; + +import net.doppelr.lemonmates.block.entity.ModSignBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.WallSignBlock; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.WoodType; + +public class ModWallSignBlock extends WallSignBlock { + public ModWallSignBlock(WoodType type, Properties properties) { + super(type, properties); + } + + @Override + public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new ModSignBlockEntity(pos, state); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java b/src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java new file mode 100644 index 0000000..71507d3 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java @@ -0,0 +1,30 @@ +package net.doppelr.lemonmates.block.entity; + +import net.doppelr.lemonmates.LemonMates; +import net.doppelr.lemonmates.block.ModBlocks; +import net.minecraft.core.registries.Registries; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredRegister; + +public class ModBlockEntities { + public static DeferredRegister> BLOCK_ENTITIES = + DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, LemonMates.MOD_ID); + + public static final DeferredHolder, BlockEntityType> SIGN = + BLOCK_ENTITIES.register("mod_sign", () -> + BlockEntityType.Builder.of(ModSignBlockEntity::new, + ModBlocks.ORANGE_SIGN.get(), ModBlocks.ORANGE_WALL_SIGN.get(), + ModBlocks.CITRON_SIGN.get(), ModBlocks.CITRON_WALL_SIGN.get()).build(null)); + + public static final DeferredHolder, BlockEntityType> HANGING_SIGN = + BLOCK_ENTITIES.register("mod_hanging_sign", () -> + BlockEntityType.Builder.of(ModHangingSignBlockEntity::new, + ModBlocks.ORANGE_HANGING_SIGN.get(), ModBlocks.ORANGE_WALL_HANGING_SIGN.get(), + ModBlocks.CITRON_HANGING_SIGN.get(), ModBlocks.CITRON_WALL_HANGING_SIGN.get()).build(null)); + + public static void register(IEventBus eventBus) { + BLOCK_ENTITIES.register(eventBus); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/entity/ModHangingSignBlockEntity.java b/src/main/java/net/doppelr/lemonmates/block/entity/ModHangingSignBlockEntity.java new file mode 100644 index 0000000..0f1df4b --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/entity/ModHangingSignBlockEntity.java @@ -0,0 +1,17 @@ +package net.doppelr.lemonmates.block.entity; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.entity.SignBlockEntity; +import net.minecraft.world.level.block.state.BlockState; + +public class ModHangingSignBlockEntity extends SignBlockEntity { + public ModHangingSignBlockEntity(BlockPos pos, BlockState blockState) { + super(ModBlockEntities.HANGING_SIGN.get(), pos, blockState); + } + + @Override + public BlockEntityType getType() { + return ModBlockEntities.HANGING_SIGN.get(); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/entity/ModSignBlockEntity.java b/src/main/java/net/doppelr/lemonmates/block/entity/ModSignBlockEntity.java new file mode 100644 index 0000000..fd82f57 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/entity/ModSignBlockEntity.java @@ -0,0 +1,17 @@ +package net.doppelr.lemonmates.block.entity; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.entity.SignBlockEntity; +import net.minecraft.world.level.block.state.BlockState; + +public class ModSignBlockEntity extends SignBlockEntity { + public ModSignBlockEntity(BlockPos pos, BlockState blockState) { + super(ModBlockEntities.SIGN.get(), pos, blockState); + } + + @Override + public BlockEntityType getType() { + return ModBlockEntities.SIGN.get(); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java index 4ad62b9..05517b1 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java @@ -70,6 +70,14 @@ protected void generate() { dropSelf(ModBlocks.ORANGE_TRAPDOOR.get()); add(ModBlocks.ORANGE_DOOR.get(), block -> createDoorTable(ModBlocks.ORANGE_DOOR.get())); + add(ModBlocks.ORANGE_SIGN.get(), + block -> createSingleItemTable(ModItems.ORANGE_SIGN)); + add(ModBlocks.ORANGE_WALL_SIGN.get(), + block -> createSingleItemTable(ModItems.ORANGE_SIGN)); + add(ModBlocks.ORANGE_HANGING_SIGN.get(), + block -> createSingleItemTable(ModItems.ORANGE_HANGING_SIGN)); + add(ModBlocks.ORANGE_WALL_HANGING_SIGN.get(), + block -> createSingleItemTable(ModItems.ORANGE_HANGING_SIGN)); dropSelf(ModBlocks.CITRON_LOG.get()); dropSelf(ModBlocks.CITRON_WOOD.get()); @@ -89,8 +97,16 @@ protected void generate() { dropSelf(ModBlocks.CITRON_TRAPDOOR.get()); add(ModBlocks.CITRON_DOOR.get(), block -> createDoorTable(ModBlocks.CITRON_DOOR.get())); + add(ModBlocks.CITRON_SIGN.get(), + block -> createSingleItemTable(ModItems.CITRON_SIGN)); + add(ModBlocks.CITRON_WALL_SIGN.get(), + block -> createSingleItemTable(ModItems.CITRON_SIGN)); + add(ModBlocks.CITRON_HANGING_SIGN.get(), + block -> createSingleItemTable(ModItems.CITRON_HANGING_SIGN)); + add(ModBlocks.CITRON_WALL_HANGING_SIGN.get(), + block -> createSingleItemTable(ModItems.CITRON_HANGING_SIGN)); - this.add(ModBlocks.RASPBERRY_BUSH.get(), block -> this.applyExplosionDecay( + add(ModBlocks.RASPBERRY_BUSH.get(), block -> applyExplosionDecay( block,LootTable.lootTable().withPool(LootPool.lootPool().when( LootItemBlockStatePropertyCondition.hasBlockStateProperties(ModBlocks.RASPBERRY_BUSH.get()) .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(SweetBerryBushBlock.AGE, 3)) diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockStateProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockStateProvider.java index 1fbf86a..7e1604a 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockStateProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockStateProvider.java @@ -87,6 +87,12 @@ protected void registerStatesAndModels() { crateBlock(ModBlocks.ORANGE_CRATE, "orange"); crateBlock(ModBlocks.CITRON_CRATE, "citron"); crateBlock(ModBlocks.RASPBERRY_CRATE, "raspberry"); + + signBlock((StandingSignBlock) ModBlocks.CITRON_SIGN.get(), (WallSignBlock) ModBlocks.CITRON_WALL_SIGN.get(), modLoc("block/citron_planks")); + hangingSignBlock((CeilingHangingSignBlock) ModBlocks.CITRON_HANGING_SIGN.get(), (WallHangingSignBlock) ModBlocks.CITRON_WALL_HANGING_SIGN.get(), modLoc("block/citron_planks")); + signBlock((StandingSignBlock) ModBlocks.ORANGE_SIGN.get(), (WallSignBlock) ModBlocks.ORANGE_WALL_SIGN.get(), modLoc("block/citron_planks")); + hangingSignBlock((CeilingHangingSignBlock) ModBlocks.ORANGE_HANGING_SIGN.get(), (WallHangingSignBlock) ModBlocks.ORANGE_WALL_HANGING_SIGN.get(), modLoc("block/orange_planks")); + } public void crateBlock(DeferredBlock deferredBlock, String fruitName) { diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java index 3c0010c..af495d0 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java @@ -29,12 +29,16 @@ protected void registerModels() { buttonItem(ModBlocks.CITRON_BUTTON, ModBlocks.CITRON_PLANKS); fenceItem(ModBlocks.CITRON_FENCE, ModBlocks.CITRON_PLANKS); basicItem(ModBlocks.CITRON_DOOR.asItem()); + basicItem(ModItems.CITRON_SIGN.get()); + basicItem(ModItems.CITRON_HANGING_SIGN.get()); basicItem(ModItems.ORANGE.get()); saplingItem(ModBlocks.ORANGE_SAPLING); buttonItem(ModBlocks.ORANGE_BUTTON, ModBlocks.ORANGE_PLANKS); fenceItem(ModBlocks.ORANGE_FENCE, ModBlocks.ORANGE_PLANKS); basicItem(ModBlocks.ORANGE_DOOR.asItem()); + basicItem(ModItems.ORANGE_SIGN.get()); + basicItem(ModItems.ORANGE_HANGING_SIGN.get()); } private ItemModelBuilder lemonadeItem(DeferredItem item) { diff --git a/src/main/java/net/doppelr/lemonmates/event/ModClientEvents.java b/src/main/java/net/doppelr/lemonmates/event/ModClientEvents.java new file mode 100644 index 0000000..ab6facb --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/event/ModClientEvents.java @@ -0,0 +1,20 @@ +package net.doppelr.lemonmates.event; + +import net.doppelr.lemonmates.LemonMates; +import net.doppelr.lemonmates.block.entity.ModBlockEntities; +import net.minecraft.client.renderer.blockentity.HangingSignRenderer; +import net.minecraft.client.renderer.blockentity.SignRenderer; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.client.event.EntityRenderersEvent; + + +@EventBusSubscriber(modid = LemonMates.MOD_ID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) +public class ModClientEvents { + @SubscribeEvent + public static void registerBlockEntityRenderers(EntityRenderersEvent.RegisterRenderers event) { + event.registerBlockEntityRenderer(ModBlockEntities.SIGN.get(), SignRenderer::new); + event.registerBlockEntityRenderer(ModBlockEntities.HANGING_SIGN.get(), HangingSignRenderer::new); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index cfa786a..5b669cb 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -3,8 +3,8 @@ import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.AllFoodProperties; import net.doppelr.lemonmates.block.ModBlocks; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemNameBlockItem; +import net.minecraft.world.entity.vehicle.Boat; +import net.minecraft.world.item.*; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredItem; import net.neoforged.neoforge.registries.DeferredRegister; @@ -125,6 +125,22 @@ public class ModItems { public static final DeferredItem RASPBERRY = ITEMS.register("raspberry", () -> new ItemNameBlockItem(ModBlocks.RASPBERRY_BUSH.get(), new Item.Properties().food(AllFoodProperties.RASPBERRY))); + // Wood Items + public static final DeferredItem CITRON_SIGN = ITEMS.register("citron_sign", + () -> new SignItem(new Item.Properties().stacksTo(16), ModBlocks.CITRON_SIGN.get(), ModBlocks.CITRON_WALL_SIGN.get())); + public static final DeferredItem CITRON_HANGING_SIGN = ITEMS.register("citron_hanging_sign", + () -> new HangingSignItem(ModBlocks.CITRON_HANGING_SIGN.get(), ModBlocks.CITRON_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16))); + public static final DeferredItem ORANGE_SIGN = ITEMS.register("orange_sign", + () -> new SignItem(new Item.Properties().stacksTo(16), ModBlocks.ORANGE_SIGN.get(), ModBlocks.ORANGE_WALL_SIGN.get())); + public static final DeferredItem ORANGE_HANGING_SIGN = ITEMS.register("orange_hanging_sign", + () -> new HangingSignItem(ModBlocks.ORANGE_HANGING_SIGN.get(), ModBlocks.ORANGE_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16))); + + public static final DeferredItem CITRON_BOAT = ITEMS.register("citron_boat", + () -> new BoatItem(false, Boat.Type.OAK, new Item.Properties())); + public static final DeferredItem ORANGE_BOAT = ITEMS.register("orange_boat", + () -> new BoatItem(false, Boat.Type.OAK, new Item.Properties())); + + // Juices public static final DeferredItem CITRON_JUICE = ITEMS.register("citron_juice", () -> new Item(new Item.Properties().food(AllFoodProperties.JUICE_DRINK))); diff --git a/src/main/resources/assets/lemonmates/lang/en_US.json b/src/main/resources/assets/lemonmates/lang/en_US.json index 88f6ebe..3ddce6f 100644 --- a/src/main/resources/assets/lemonmates/lang/en_US.json +++ b/src/main/resources/assets/lemonmates/lang/en_US.json @@ -71,6 +71,8 @@ "block.lemonmates.citron_fence_gate": "Citron Fence Gate", "block.lemonmates.citron_door": "Citron Door", "block.lemonmates.citron_trapdoor": "Citron Trapdoor", + "block.lemonmates.citron_sign": "Citron Sign", + "block.lemonmates.citron_hanging_sign": "Citron Hanging Sign", "item.lemonmates.orange": "Orange", "block.lemonmates.orange_log": "Orange Log", @@ -88,6 +90,8 @@ "block.lemonmates.orange_fence_gate": "Orange Fence Gate", "block.lemonmates.orange_door": "Orange Door", "block.lemonmates.orange_trapdoor": "Orange Trapdoor", + "block.lemonmates.orange_sign": "Orange Sign", + "block.lemonmates.orange_hanging_sign": "Orange Hanging Sign", "block.lemonmates.orange_crate": "Orange Crate", "block.lemonmates.citron_crate": "Citron Crate", diff --git a/src/main/resources/assets/lemonmates/textures/entity/signs/citron.png b/src/main/resources/assets/lemonmates/textures/entity/signs/citron.png new file mode 100644 index 0000000000000000000000000000000000000000..87db7e5bc1509207c247f499bd338347dffca850 GIT binary patch literal 385 zcmV-{0e=38P)iSpRz8rV!V&1EMPeBqnSKNJO3g!1!n zA}G8Ux!g3^skhTG4G!M(`=+|9g>WtegOCK%1#4rpF<5_VAta%y)HRhhRFoxzB+TYm z9;07IKL*)C$QiWa4dJiGp4AX?1{0z^f{npN$si;_tB!KY$yq{32=6tcwb8n>&xsa5 z7PRj8*~DL~vpa z{N3$tM}=BTjS6K|R;chj|IDb+Zo`IWFw&p`Gc_La>sdeX3~RmOf|htlrrAF~>b|ub fzJ+0H@zMGNfa7~=UQA2k00000NkvXXu0mjfQ{t>H literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/entity/signs/hanging/citron.png b/src/main/resources/assets/lemonmates/textures/entity/signs/hanging/citron.png new file mode 100644 index 0000000000000000000000000000000000000000..e304f41682bb490022385bd4342886eb2499fd7b GIT binary patch literal 449 zcmV;y0Y3hTP)kOY#}8WTfE;p`|sZLENO0kORe zLam($sgIHN4#rJN6UYIAT%#YGofLMC)0U_12j-^GJ`3KK&0+^by(x9xC^~ zUC1Nh_9HRVG`}?Q%};8kv9i^XQ0}Ps{uPa>N>P-Sjy56d$Au(t81vfS%yVlOPF#bQJ1PXPWmt4_rjo_lZpC_QFVq*=#^$ z!r6taw?B7?On7(-f+SI|6Cx9?J#IT6v@3L1sy^SgyQLu-j8b zx8}tg1!fmZrgnulK5`p!$zBU@6r`}sby^?1QBc=vQwVLn$v>lf0jynahSLC*x1hA)796@jn~12(ZGPdzOKl(db+7|xTtlmpLVX8X{D5Bo{M3QfnH!< zR5mm!Y~E}P00001bW%=J06^y0W&i*INJ&INRCwCelfiPsFbG7YAb~?st=j+puLZ`j zij$elD5vfL{0^+O$WAHY7a|k7m>J)3y6U^H>)L<1we`FAcbuXKWl?!yw)S8oWg-+* zX&D?0m=+e6Cd@Xd^<+|6ed1ss!aBvxhec#CJ(!G%1_uL+)>hZ?5V-g5O*Qzk13$NE z?7|sUB;?sqH8>iukJ!;fYg;Z%9zAe0z#|&7bvwadCP8}U>ke9r$p?3nv9-bR1afBg zr%_Rm5YbbUAPx=&wlK@56Mlb#iOHGBnFdD#zj$ej7Sk&xWun1x2S@C411I+*vbGDq z_?glN^4~el3!s()0BKgGf-2`UtDJMK1wJt-_if*|`3L~&uHe1Z2$lO literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/citron_hanging_sign.png b/src/main/resources/assets/lemonmates/textures/item/citron_hanging_sign.png new file mode 100644 index 0000000000000000000000000000000000000000..da9d83505951554e2cfb5399b6dfb91f8924adbc GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=8HXHzIU@Qsp3ubV5b|VeQsq}Pl z45_%4+`#Cj_W20cKdyCAX=d4nUrXt|$>HJQk(Q9yA=%JSuFrh=EgC z(?jya1O#*2nbMqlRbvz|VkB}GG9T3S<@ pQSz0ZYO11wsidsKg>ww-3~R5+Hk-^VKM8aMgQu&X%Q~loCIEExQ%L{- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/citron_sign.png b/src/main/resources/assets/lemonmates/textures/item/citron_sign.png new file mode 100644 index 0000000000000000000000000000000000000000..f2067c0d6d35ad44d41507e957e1b373e277b6a0 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?b1=8EaktaVz-% zQ_mEK0}YLi+PW&$CyiLy*j}F9y`?-?Fd@O9*t^i1(-_Ez+;S@8qL9Mjs@wCf-rm;i zGNpHFZ)gKg_qK0azL+U2E>hz#F<@YHx4x32rl`?u%Y5oVK(nEagoFgc*?p4J`tK<_ Q0c~XPboFyt=akR{0LN5Me*gdg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/orange_hanging_sign.png b/src/main/resources/assets/lemonmates/textures/item/orange_hanging_sign.png new file mode 100644 index 0000000000000000000000000000000000000000..58c275d904af5773c5ac84f3e732e1af2b29fb4e GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=80~_g+8PdSZLkjuoZr z=9ev_!@plj-T=7*cU7 zxq;d3vzPP3PbV39a$+}IS%t0hNJvPCIB?*=Q3jSft0g7Mav2PFNJ^MBNHlphH94Jf zXzSa!@oi$T!r^b9WN%xiIkass6qvyvd8+;VjT;V2-p$*}>Zy5niPJ%b6E7H;TeKOz XM#_A5mn>`qTFT(*>gTe~DWM4fktzk5iNchO9Y|E>=Ss%jOAoOiljfPZWMBpT8J@& Date: Sun, 31 Aug 2025 19:59:25 +0200 Subject: [PATCH 2/2] Revert "Merge branch 'main' into block-entities" This reverts commit f2924283227d2f4011483c1e924a002d87cc0b30, reversing changes made to d27cabc6d7ae297e73febcfd626a844cf83b9876. --- .../net/doppelr/lemonmates/AllFluids.java | 265 ------------------ .../net/doppelr/lemonmates/LemonMates.java | 8 +- .../textures/block/citron_crate_side.png | Bin 528 -> 526 bytes .../textures/block/citron_crate_top.png | Bin 549 -> 542 bytes .../lemonmates/textures/item/orange.png | Bin 300 -> 537 bytes .../lemonmates/textures/item/raspberry.png | Bin 219 -> 475 bytes 6 files changed, 1 insertion(+), 272 deletions(-) delete mode 100644 src/main/java/net/doppelr/lemonmates/AllFluids.java diff --git a/src/main/java/net/doppelr/lemonmates/AllFluids.java b/src/main/java/net/doppelr/lemonmates/AllFluids.java deleted file mode 100644 index a250a27..0000000 --- a/src/main/java/net/doppelr/lemonmates/AllFluids.java +++ /dev/null @@ -1,265 +0,0 @@ -package net.doppelr.lemonmates; - -import java.util.function.Consumer; -import java.util.function.Supplier; - -import javax.annotation.Nullable; - -import org.jetbrains.annotations.NotNull; -import org.joml.Vector3f; - -import com.mojang.blaze3d.shaders.FogShape; -import com.mojang.blaze3d.systems.RenderSystem; -import com.simibubi.create.content.decoration.palettes.AllPaletteStoneTypes; -import com.simibubi.create.content.fluids.VirtualFluid; -import com.simibubi.create.content.fluids.potion.PotionFluid; -import com.simibubi.create.content.fluids.potion.PotionFluid.PotionFluidType; -import com.simibubi.create.foundation.data.CreateRegistrate; -import com.simibubi.create.infrastructure.config.AllConfigs; -import com.tterrag.registrate.builders.FluidBuilder.FluidTypeFactory; -import com.tterrag.registrate.util.entry.FluidEntry; - -import net.createmod.catnip.theme.Color; -import net.minecraft.client.Camera; -import net.minecraft.client.multiplayer.ClientLevel; -import net.minecraft.client.renderer.FogRenderer.FogMode; -import net.minecraft.core.BlockPos; -import net.minecraft.core.dispenser.BlockSource; -import net.minecraft.core.dispenser.DefaultDispenseItemBehavior; -import net.minecraft.core.dispenser.DispenseItemBehavior; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.BucketItem; -import net.minecraft.world.item.DispensibleContainerItem; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.BlockAndTintGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.DispenserBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Fluid; -import net.minecraft.world.level.material.FluidState; -import net.minecraft.world.level.material.MapColor; - -import net.neoforged.neoforge.client.extensions.common.IClientFluidTypeExtensions; -import net.neoforged.neoforge.common.NeoForgeMod; -import net.neoforged.neoforge.common.Tags; -import net.neoforged.neoforge.fluids.BaseFlowingFluid; -import net.neoforged.neoforge.fluids.FluidInteractionRegistry; -import net.neoforged.neoforge.fluids.FluidInteractionRegistry.InteractionInformation; -import net.neoforged.neoforge.fluids.FluidStack; -import net.neoforged.neoforge.fluids.FluidType; - -import static net.doppelr.lemonmates.LemonMates.REGISTRATE; - - -public class AllFluids { - /*public static final FluidEntry WATERMELON_LEMONADE_FLUID = - REGISTRATE.standardFluid("watermelon_lemonade_fluid", - ) - .properties(b -> b.viscosity(1500) - .canExtinguish(true) - .canHydrate(true) - .density(1500)) - .fluidProperties(p -> p.levelDecreasePerBlock(2) - .tickRate(25) - .slopeFindDistance(3) - .explosionResistance(100f)) - .source(BaseFlowingFluid.Source::new) - .bucket() - .register();*/ - public static final FluidEntry WATERMELON_LEMONADE_FLUID = - REGISTRATE.standardFluid("watermelon_lemonade_fluid", - SolidRenderedPlaceableFluidType.create(0xEAAE2F, - () -> 1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF())) - .lang("Watermelon Lemonade") - .properties(b -> b.viscosity(2000) - .density(1400)) - .fluidProperties(p -> p.levelDecreasePerBlock(2) - .tickRate(25) - .slopeFindDistance(3) - .explosionResistance(100f)) - .tag(Tags.Fluids.HONEY) - .source(BaseFlowingFluid.Source::new) - .block() - .properties(p -> p.mapColor(MapColor.TERRACOTTA_RED)) - .build() - .bucket() - .onRegister(AllFluids::registerFluidDispenseBehavior) - //.tag(Tags.Items.BUCKETS, AllTags.commonItemTag("buckets/honey")) - .build() - .register(); - - public static void register() { - - } - - /*public static void registerFluidInteractions() { - final BlockState BLOCK = testosteroneModBlocks.AEQUALIS.get().defaultBlockState(); - - final ResourceLocation estrogenFluidId = new ResourceLocation("estrogen", "liquid_estrogen"); - - final @Nullable Fluid estrogenFluid = ForgeRegistries.FLUIDS.getValue(estrogenFluidId); - - if (estrogenFluid != Fluids.EMPTY) { - FluidInteractionRegistry.addInteraction(estrogenFluid.getFluidType(), new FluidInteractionRegistry.InteractionInformation( - WATERMELON_LEMONADE_FLUID.get().getFluidType(), - fluidState -> BLOCK - )); - - FluidInteractionRegistry.addInteraction(TESTOSTERONE_FLUID.get().getFluidType(), new FluidInteractionRegistry.InteractionInformation( - estrogenFluid.getFluidType(), - fluidState -> BLOCK - )); - } - - - FluidInteractionRegistry.addInteraction(net.mifort.testosterone.fluids.AllFluids.ESTRONE_FLUID.getType(), new FluidInteractionRegistry.InteractionInformation( - TESTOSTERONE_FLUID.get().getFluidType(), - fluidState -> BLOCK - )); - - FluidInteractionRegistry.addInteraction(TESTOSTERONE_FLUID.get().getFluidType(), new FluidInteractionRegistry.InteractionInformation( - net.mifort.testosterone.fluids.AllFluids.ESTRONE_FLUID.getType(), - fluidState -> BLOCK - )); - - } */ - - private static final DispenseItemBehavior DEFAULT = new DefaultDispenseItemBehavior(); - private static final DispenseItemBehavior DISPENSE_FLUID = new DefaultDispenseItemBehavior(){ - @Override - protected ItemStack execute(BlockSource pSource, ItemStack pStack) { - DispensibleContainerItem dispensibleContainerItem = (DispensibleContainerItem) pStack.getItem(); - BlockPos pos = pSource.pos().relative(pSource.state().getValue(DispenserBlock.FACING)); - Level level = pSource.level(); - if (dispensibleContainerItem.emptyContents(null, level, pos, null, pStack)) { - return new ItemStack(Items.BUCKET); - } - return DEFAULT.dispense(pSource, pStack); - } - }; - - private static void registerFluidDispenseBehavior(BucketItem bucket) { - DispenserBlock.registerBehavior(bucket, DISPENSE_FLUID); - } - - public static abstract class TintedFluidType extends FluidType { - - protected static final int NO_TINT = 0xffffffff; - private final ResourceLocation stillTexture; - private final ResourceLocation flowingTexture; - - public TintedFluidType(Properties properties, ResourceLocation stillTexture, ResourceLocation flowingTexture) { - super(properties); - this.stillTexture = stillTexture; - this.flowingTexture = flowingTexture; - } - - @Override - public void initializeClient(Consumer consumer) { - consumer.accept(new IClientFluidTypeExtensions() { - - @Override - public ResourceLocation getStillTexture() { - return stillTexture; - } - - @Override - public ResourceLocation getFlowingTexture() { - return flowingTexture; - } - - @Override - public int getTintColor(FluidStack stack) { - return TintedFluidType.this.getTintColor(stack); - } - - @Override - public int getTintColor(FluidState state, BlockAndTintGetter getter, BlockPos pos) { - return TintedFluidType.this.getTintColor(state, getter, pos); - } - - @Override - public @NotNull Vector3f modifyFogColor(Camera camera, float partialTick, ClientLevel level, - int renderDistance, float darkenWorldAmount, Vector3f fluidFogColor) { - Vector3f customFogColor = TintedFluidType.this.getCustomFogColor(); - return customFogColor == null ? fluidFogColor : customFogColor; - } - - @Override - public void modifyFogRender(Camera camera, FogMode mode, float renderDistance, float partialTick, - float nearDistance, float farDistance, FogShape shape) { - float modifier = TintedFluidType.this.getFogDistanceModifier(); - float baseWaterFog = 96.0f; - if (modifier != 1f) { - RenderSystem.setShaderFogShape(FogShape.CYLINDER); - RenderSystem.setShaderFogStart(-8); - RenderSystem.setShaderFogEnd(baseWaterFog * modifier); - } - } - - }); - } - - protected abstract int getTintColor(FluidStack stack); - - protected abstract int getTintColor(FluidState state, BlockAndTintGetter getter, BlockPos pos); - - protected Vector3f getCustomFogColor() { - return null; - } - - protected float getFogDistanceModifier() { - return 1f; - } - - } - - private static class SolidRenderedPlaceableFluidType extends TintedFluidType { - - private Vector3f fogColor; - private Supplier fogDistance; - - public static FluidTypeFactory create(int fogColor, Supplier fogDistance) { - return (p, s, f) -> { - SolidRenderedPlaceableFluidType fluidType = new SolidRenderedPlaceableFluidType(p, s, f); - fluidType.fogColor = new Color(fogColor, false).asVectorF(); - fluidType.fogDistance = fogDistance; - return fluidType; - }; - } - - private SolidRenderedPlaceableFluidType(Properties properties, ResourceLocation stillTexture, - ResourceLocation flowingTexture) { - super(properties, stillTexture, flowingTexture); - } - - @Override - protected int getTintColor(FluidStack stack) { - return NO_TINT; - } - - /* - * Removing alpha from tint prevents optifine from forcibly applying biome - * colors to modded fluids (this workaround only works for fluids in the solid - * render layer) - */ - @Override - public int getTintColor(FluidState state, BlockAndTintGetter world, BlockPos pos) { - return 0x00ffffff; - } - - @Override - protected Vector3f getCustomFogColor() { - return fogColor; - } - - @Override - protected float getFogDistanceModifier() { - return fogDistance.get(); - } - - } - -} diff --git a/src/main/java/net/doppelr/lemonmates/LemonMates.java b/src/main/java/net/doppelr/lemonmates/LemonMates.java index 3de98c7..f491aa5 100644 --- a/src/main/java/net/doppelr/lemonmates/LemonMates.java +++ b/src/main/java/net/doppelr/lemonmates/LemonMates.java @@ -34,7 +34,6 @@ public class LemonMates { public static final String NAME = "Lemon Mates"; public static final String MOD_ID = "lemonmates"; public static final Logger LOGGER = LogUtils.getLogger(); - private static final StackWalker STACK_WALKER = StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE); // The constructor for the mod class is the first code that is run when your mod is loaded. // FML will recognize some parameter types like IEventBus or ModContainer and pass them in automatically. @@ -62,7 +61,7 @@ private void commonSetup(FMLCommonSetupEvent event) { } - static final CreateRegistrate REGISTRATE = CreateRegistrate.create(ID) + private static final CreateRegistrate REGISTRATE = CreateRegistrate.create(ID) .defaultCreativeTab((ResourceKey) null) .setTooltipModifierFactory(item -> new ItemDescription.Modifier(item, FontHelper.Palette.STANDARD_CREATE) @@ -84,9 +83,4 @@ static void onClientSetup(FMLClientSetupEvent event) { Sheets.addWoodType(AllWoodTypes.ORANGE); } } - public static CreateRegistrate registrate() { - if (!STACK_WALKER.getCallerClass().getPackageName().startsWith("com.simibubi.create")) - throw new UnsupportedOperationException("Other mods are not permitted to use create's registrate instance."); - return REGISTRATE; - } } diff --git a/src/main/resources/assets/lemonmates/textures/block/citron_crate_side.png b/src/main/resources/assets/lemonmates/textures/block/citron_crate_side.png index be3d13c8bf65274c9d249896e31257659c9978ca..0b75d64ad513e6968bb5e079c25d92cbdf097c4d 100644 GIT binary patch literal 526 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF; zq^olUPzz^)M`SSr1K%MKW)#)%Y5)pKl(KW=; z=H%V71FG4U8sVAd>8ZuQ0pzeUNHMZ9FalX#Kr9VqgWRjZ$P5-|030kOkFcXkY-6)mHqjZsWubQrzX~;us=vIXNLDC@4iBNF>3)tdNl@Ik|1Zmu;Ds zZyCo*wp=y}Ph0lZBqhPjqS(#T^I(IcghqZ&PSS}5bEe%3j13e!vcSf8txa~MnsD=` z#!Cy0(?wvMX=oYVscY;vosZ@%$iW)ovpQ=MzfwTwqez;qptPMcLapXNp@ g;~5sx%`y*o7)~gt1-EIawt!sd>FVdQ&MBb@03Eo2iU0rr delta 514 zcmV+d0{#7t1ds%f7=H)`0000V^Z#K000GrWL_t(IPh+fzF#FHJ#=yYM2_(?K*YCd= ze*A(6BC7$3g8)d5G1N-_KTO~2_g^p!K^G7e zoZ;dQMy_z0%2{^4ZMS9;6v=MfhJvj9JXQ_?R6HGdUR2F8Xsv;SA`ykw}Z z{KBBk@*S=aWEiq$kRc#LcR%>RAkM?Z(Av(!psga#zz7P1yN_OiZBdpJXHb;nLUH1! zZ+|en_4ea029O?*dbkT<{zvyCwm<=?1*rqOpgY~>|EbH58B%gzF*pe@g8c_`I*1Jm z2Nt<+VD_#{oPS_-+0*10RHZ}^281QPW#Hra3zppX0TMCDY&X5{U@=hGtiAG?;p|>5 z24Q|SgaNQH011Ks9~TP)$p0W38Gytt zc>n1SL!L9xufX&Hi`uDYe={82CIyKFm;uXbUxNb>7JFzLo-i>4>+muxKK+3qN)-{f zpzyhV_YbN8CobLvM+?YAnBS27jT{cJFaV_kL19iv7#ui#7p|VzbO6!-PRbxJz+3=I z7@%B6_x}aM<;$|n>CE!8Wd8r>`Tt+} z|Nl&eem=DVRdt|7&H|6fVg?4jLmP^E#9u>s=(h^ZhOSr{&803@re_+8z`i5;YPil>WXh{WaO1QC&hprD|ngaos)!oor` zvjhRY)h|}`%*Z;Ru<2LH&v#!gyYVPlmap=^euvR$*ZFrh_kFjR5Exs#C&{06!p6Tb zmD!cMg_(L!7=H)`0000V^Z#K000HbtL_t(IPj!<`C`4fthTm(DVK5p$Q6xVr zj3PG+NrbIZ5~WC4h-4vBQkG&f*@=Y}Q8p|nq?E|QUrLRHB22~@M%PSN=ey45j-Rvn z?%aFMbKduSbCl6GRgbeq!yK;xP5gW}jz1&jt3)Bd*1lUNrGF&Z{w;cV@`rt^D$9j3 z-c_NmY@cCs(F5I=4kh6hhZhbwlZ_T3@3S~hgH{yhco4jbg~gtT>JAMOuy=fo;UPZ? zA_Fp!VCG_i5On?0i!@s-`UZgV;x7ee0MWT{!>gk<+m540O>}1{srdz%pU{MSinSxF zIIHanBD3B^;eXP}3leN0@s2HoDd_CEmmgUHCGs2y#BhSt_FKa(G_`wV2a?VT__@v* z5bs#c!mIyrUcH}=RjmTw}2G8!fY-Ga|= zfmATqtm?amZZx#|&|MlOARKoOz>_bC-kM}FV7`T^gMSa~tY#Pr7(fcl(y4P}VLayc zy=cidCQquU!I?WK00ns_z|hE>^vB8MoBnyOJ)lR0R7W;x25M2}w}O(YXVh0l2?!Ou zzK5VXBXD}I;O0(4lHG#17>fi=yHX7RFB31(&xMf#F+Fguw7{#$YfbCSt4!a1t~;?f a=M!I3BM}BDl1NS%G|m0G|+7hJHSVLOzCizWwRqk7p{qTdQ-eL+Z=T?C;OBSA_7NYg9T@DRr?x zdY&KO$!sa0CRW2U5gCZIV?V3k3Z7C;tMm!W|HNY>~40T0#w>kEL)0#6sm5RKr{ zv)+6xiX1EfvR$wGZ{7L7jd#)J87Vg+z9ucWasE$pg^}Khqp#AJaVlwuDoMLcoyy{* z7SR8>WTy~ImBtE{Sed*veXLFz(tGkh+-bPhInkSa)~A;p^B(M<|1R3>hD4pC`wJ$K#6Epy%8Jk9!%W)d;w}cgJI|%%K^PhoZ!5^$@F$Ccnb^bE^e)kU%M3-2= zY;=RL8t_}{Hv_XK7X#DF9}pKn4SK(yg+X#Ns!LD|0ND=G%zrAx#K5R7&hYocN3bC< z16ZH2Vt5Cq0sq7~z_!B-0BHt+S2zEoxB{mE@BoB5A7=aew+y%q_>sW!pF!^rM%sdD z21(#G0Hgq92&)Kc*n*-Fn`V$0Ml65~0NEm@&Ik@L7yyZZ0Nz+YcKdT*pm&e}x<;53 iZ8H-_Xkrln02Mp)e-S-U{_y|+002ovPDHLkV1fXI@^$(E diff --git a/src/main/resources/assets/lemonmates/textures/item/raspberry.png b/src/main/resources/assets/lemonmates/textures/item/raspberry.png index ab7c36f38008833bafb4fd89adfb09421abf0cc4..caf6c83923f25008490800639419647dba692302 100644 GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}H0G|-o$UX`CG(r6^hBF#2*VJ5YnE1W&NIIk8e9*uZsKjWBLkE!JDhcun z{tp8To6hK*2a0kQctjR6Fz_7&Va6R3v)=**B}!Z)N`mv#O3D+9QW*jgGxJLH{9Hp6 zO!W-)ETl7EtpKXomKx!i=IN=$zyaj2GDtD9GB5&JUO+4jWrKX9!N?32X9BVf8JWPo zivqGU+gZTkSwJ=j+$>{ccmeb@j7GDR0Vp+roq+|Y(!j{rfN=rDRFI9V3m_&<0kT1W z31}`8SY?o<1&{^RWoTdkl6_j6*_sqMbsv!F<>}%Wq7gjz%xS&`0}hwK1vYd3|4*E3 zlu?qbB(0~O$-4e0zf$;DrYY49SFJeGPVeTJcsf~JQTr3)!^ppBc5Azmk26%zopr0OiDU;{X5v delta 202 zcmV;*05$*H1KRW?Y&