From 1ebb1cb29a79d1d8195af4ffc3e206537a10e58b Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Fri, 20 Feb 2026 10:46:36 +0100 Subject: [PATCH 01/76] add placeable glasses with lemonade --- .../lemonmates/AllCreativeModeTabs.java | 3 + .../doppelr/lemonmates/block/ModBlocks.java | 8 +++ .../datagen/ModBlockLootTableProvider.java | 2 + .../blockstates/drinking_glass_fluid.json | 7 +++ .../models/block/drinking_glass_fluid.json | 57 ++++++++++++++++++ .../models/item/drinking_glass_fluid.json | 6 ++ .../textures/item/drinking_glass.png | Bin 0 -> 453 bytes 7 files changed, 83 insertions(+) create mode 100644 src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json create mode 100644 src/main/resources/assets/lemonmates/models/block/drinking_glass_fluid.json create mode 100644 src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json create mode 100644 src/main/resources/assets/lemonmates/textures/item/drinking_glass.png diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index dace66b..8f6d822 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -34,6 +34,9 @@ public class AllCreativeModeTabs { output.accept(ModBlocks.ORANGE_CRATE); output.accept(ModBlocks.RASPBERRY_CRATE); + // Misc + output.accept(ModBlocks.DRINKING_GLASS_FLUID); + // Finished Lemonades output.accept(ModItems.CITRON_LEMONADE_BOTTLE); output.accept(ModItems.ORANGE_LEMONADE_BOTTLE); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index fb193d9..cff241e 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -10,6 +10,7 @@ import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.properties.BlockSetType; import net.minecraft.world.level.block.state.properties.WoodType; +import net.minecraft.world.level.material.MapColor; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredRegister; @@ -109,6 +110,13 @@ public class ModBlocks { public static final DeferredBlock RASPBERRY_CRATE = registerBlock("raspberry_crate", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS))); + public static final DeferredBlock DRINKING_GLASS_FLUID = registerBlock("drinking_glass_fluid", + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT) + .noCollission() + .dynamicShape() + .mapColor(MapColor.NONE) + )); + private static DeferredBlock registerBlock(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); registerBlockItem(name, toReturn); diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java index bf68be1..d452a77 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java @@ -124,6 +124,8 @@ protected void generate() { dropSelf(ModBlocks.ORANGE_CRATE.get()); dropSelf(ModBlocks.CITRON_CRATE.get()); dropSelf(ModBlocks.RASPBERRY_CRATE.get()); + + dropSelf(ModBlocks.DRINKING_GLASS_FLUID.get()); } @Override diff --git a/src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json b/src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json new file mode 100644 index 0000000..a1e9550 --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "lemonmates:block/drinking_glass_fluid" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/drinking_glass_fluid.json b/src/main/resources/assets/lemonmates/models/block/drinking_glass_fluid.json new file mode 100644 index 0000000..49a8356 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/drinking_glass_fluid.json @@ -0,0 +1,57 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "block/glass", + "glass": "block/glass", + "red_stained_glass": "block/red_stained_glass" + }, + "elements": [ + { "from": [ 5, 0, 5 ], + "to": [ 6, 6, 11 ], + "faces": { + "down": { "uv": [ 5, 5, 6, 11 ], "texture": "#glass", "cullface": "down" }, + "up": { "uv": [ 5, 5, 6, 11 ], "texture": "#glass" }, + "north": { "uv": [ 10, 10, 11, 16 ], "texture": "#glass" }, + "south": { "uv": [ 5, 10, 6, 16 ], "texture": "#glass" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#glass" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#glass" } + } + }, + { "from": [ 10, 0, 5 ], + "to": [ 11, 6, 11 ], + "faces": { + "down": { "uv": [ 10, 5, 11, 11 ], "texture": "#glass", "cullface": "down" }, + "up": { "uv": [ 10, 5, 11, 11 ], "texture": "#glass" }, + "north": { "uv": [ 5, 10, 6, 16 ], "texture": "#glass" }, + "south": { "uv": [ 10, 10, 11, 16 ], "texture": "#glass" }, + "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#glass" }, + "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#glass" } + } + }, + { "from": [ 6, 0, 5 ], + "to": [ 10, 6, 6 ], + "faces": { + "down": { "uv": [ 6, 10, 10, 11 ], "texture": "#glass", "cullface": "down" }, + "up": { "uv": [ 6, 5, 10, 6 ], "texture": "#glass" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#glass" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#glass" } + } + }, + { "from": [ 6, 0, 10 ], + "to": [ 10, 6, 11 ], + "faces": { + "down": { "uv": [ 6, 5, 10, 6 ], "texture": "#glass", "cullface": "down" }, + "up": { "uv": [ 6, 10, 10, 11 ], "texture": "#glass" }, + "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#glass" }, + "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#glass" } + } + }, + { "from": [ 6, 0, 6 ], + "to": [ 10, 4, 10 ], + "faces": { + "down": { "uv": [ 6, 12, 10, 16 ], "texture": "#glass", "cullface": "down" }, + "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#red_stained_glass" } + } + } + ] +} diff --git a/src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json b/src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json new file mode 100644 index 0000000..b687207 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/drinking_glass" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/textures/item/drinking_glass.png b/src/main/resources/assets/lemonmates/textures/item/drinking_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..cfddb044c3ad89b1b9391ba1bebd704d7f614aea GIT binary patch literal 453 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G~10G|-oD^I^~KK~}R|4{eZ3qY~jab`OUSUd;F27v@1 z2I+^<=(aL20KGqfoq+|Y#=ywffN=rDT#z2t1rW2Q0ofqH1T={WtTM>b0?2~uGBhv% z$+DSVDc;myWDR7xdb&7++IeQDa<1Y{2F(QKPa({6r#_q-1~S~!)z4*}Q$iB} Dz}{!4 literal 0 HcmV?d00001 From 2b23afaeb607e7cc3647d66316857bde434200b3 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Fri, 20 Feb 2026 10:49:11 +0100 Subject: [PATCH 02/76] add translation? thought I did that already --- src/main/resources/assets/lemonmates/lang/en_US.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/resources/assets/lemonmates/lang/en_US.json b/src/main/resources/assets/lemonmates/lang/en_US.json index df751d9..efcee93 100644 --- a/src/main/resources/assets/lemonmates/lang/en_US.json +++ b/src/main/resources/assets/lemonmates/lang/en_US.json @@ -96,6 +96,8 @@ "block.lemonmates.citron_crate": "Citron Crate", "block.lemonmates.raspberry_crate": "Raspberry Crate", + "block.lemonmates.drinking_glass_fluid": "Glass with Lemonade", + "item.lemonmates.citron_lemonade_bucket": "Citron Lemonade Bucket", "item.lemonmates.orange_lemonade_bucket": "Orange Lemonade Bucket", "item.lemonmates.raspberry_lemonade_bucket": "Raspberry Lemonade Bucket", From 5d40524e73ed026ed873e03eaedf0549e1371732 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Fri, 20 Feb 2026 19:19:55 +0100 Subject: [PATCH 03/76] setup tweaks - removed unused imports in some files - updated create to patch 9 (6.0.9) --- build.gradle | 2 +- gradle.properties | 8 ++++---- .../doppelr/lemonmates/datagen/ModItemModelProvider.java | 1 - .../doppelr/lemonmates/datagen/ModItemTagProvider.java | 1 - src/main/java/net/doppelr/lemonmates/event/ModEvents.java | 5 ----- .../net/doppelr/lemonmates/item/LemonadeDrinkItem.java | 3 --- 6 files changed, 5 insertions(+), 15 deletions(-) diff --git a/build.gradle b/build.gradle index 182ac50..8c340f2 100644 --- a/build.gradle +++ b/build.gradle @@ -119,7 +119,7 @@ dependencies { // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html // http://www.gradle.org/docs/current/userguide/dependency_management.html implementation("com.simibubi.create:create-${minecraft_version}:${create_version}:slim") { transitive = false } - implementation("net.createmod.ponder:Ponder-NeoForge-${minecraft_version}:${ponder_version}") + implementation("net.createmod.ponder:ponder-neoforge:${ponder_version}+mc${minecraft_version}") compileOnly("dev.engine-room.flywheel:flywheel-neoforge-api-${minecraft_version}:${flywheel_version}") runtimeOnly("dev.engine-room.flywheel:flywheel-neoforge-${minecraft_version}:${flywheel_version}") implementation("com.tterrag.registrate:Registrate:${registrate_version}") diff --git a/gradle.properties b/gradle.properties index 2f22ef8..f1a753b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -43,7 +43,7 @@ mod_authors=Doppel_R, Guddi8, KalWantsPizza mod_description=A small mod adding different types of lemonades using Create and Farmer's Delight. ## Mod Dependencies -create_version = 6.0.6-98 -ponder_version = 1.0.59 -flywheel_version = 1.0.4 -registrate_version = MC1.21-1.3.0+62 \ No newline at end of file +create_version = 6.0.9-215 +ponder_version = 1.0.81 +flywheel_version = 1.0.6 +registrate_version = MC1.21-1.3.0+67 \ No newline at end of file diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java index 963a166..47ae2bf 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java @@ -10,7 +10,6 @@ import net.minecraft.world.item.BucketItem; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.*; -import net.minecraft.world.level.material.Fluid; import net.neoforged.neoforge.client.model.generators.ItemModelProvider; import net.neoforged.neoforge.client.model.generators.ModelFile; import net.neoforged.neoforge.client.model.generators.loaders.DynamicFluidContainerModelBuilder; diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java index 5c50939..f9fc908 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java @@ -8,7 +8,6 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.data.tags.ItemTagsProvider; -import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Block; import net.neoforged.neoforge.common.Tags; diff --git a/src/main/java/net/doppelr/lemonmates/event/ModEvents.java b/src/main/java/net/doppelr/lemonmates/event/ModEvents.java index ceeb962..d490d7b 100644 --- a/src/main/java/net/doppelr/lemonmates/event/ModEvents.java +++ b/src/main/java/net/doppelr/lemonmates/event/ModEvents.java @@ -2,12 +2,7 @@ import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.block.ModBlocks; -import net.doppelr.lemonmates.item.ModItems; import net.minecraft.world.entity.npc.VillagerTrades; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.trading.ItemCost; -import net.minecraft.world.item.trading.MerchantOffer; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.event.village.WandererTradesEvent; diff --git a/src/main/java/net/doppelr/lemonmates/item/LemonadeDrinkItem.java b/src/main/java/net/doppelr/lemonmates/item/LemonadeDrinkItem.java index cfd6497..fdaac86 100644 --- a/src/main/java/net/doppelr/lemonmates/item/LemonadeDrinkItem.java +++ b/src/main/java/net/doppelr/lemonmates/item/LemonadeDrinkItem.java @@ -1,13 +1,10 @@ package net.doppelr.lemonmates.item; -import net.doppelr.lemonmates.LemonMates; -import net.minecraft.client.renderer.item.ItemProperties; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.UseAnim; -import net.neoforged.fml.loading.FMLEnvironment; import org.jetbrains.annotations.NotNull; public class LemonadeDrinkItem extends Item { From 2c7d4055ce4bc6b8c614edcf7b3b4463c7192c86 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sat, 21 Feb 2026 15:13:26 +0100 Subject: [PATCH 04/76] placeable glass framework --- .../doppelr/lemonmates/block/ModBlocks.java | 7 +-- .../block/ModDrinkingGlassBlock.java | 43 ++++++++++++++++++ .../net/doppelr/lemonmates/item/ModItems.java | 5 ++ .../textures/block/flag_color/black.png | Bin 0 -> 357 bytes .../textures/block/flag_color/blue.png | Bin 0 -> 368 bytes .../textures/block/flag_color/blue_2.png | Bin 0 -> 368 bytes .../textures/block/flag_color/blue_3.png | Bin 0 -> 368 bytes .../textures/block/flag_color/blue_4.png | Bin 0 -> 368 bytes .../textures/block/flag_color/blue_5.png | Bin 0 -> 368 bytes .../textures/block/flag_color/blue_6.png | Bin 0 -> 368 bytes .../textures/block/flag_color/blue_7.png | Bin 0 -> 368 bytes .../textures/block/flag_color/gray.png | Bin 0 -> 368 bytes .../textures/block/flag_color/gray_2.png | Bin 0 -> 368 bytes .../textures/block/flag_color/green.png | Bin 0 -> 368 bytes .../textures/block/flag_color/green_2.png | Bin 0 -> 368 bytes .../textures/block/flag_color/green_3.png | Bin 0 -> 368 bytes .../textures/block/flag_color/green_4.png | Bin 0 -> 368 bytes .../textures/block/flag_color/green_5.png | Bin 0 -> 368 bytes .../textures/block/flag_color/magenta.png | Bin 0 -> 368 bytes .../textures/block/flag_color/magenta_2.png | Bin 0 -> 368 bytes .../textures/block/flag_color/orange.png | Bin 0 -> 368 bytes .../textures/block/flag_color/orange_2.png | Bin 0 -> 368 bytes .../textures/block/flag_color/orange_3.png | Bin 0 -> 368 bytes .../textures/block/flag_color/pink.png | Bin 0 -> 368 bytes .../textures/block/flag_color/pink_2.png | Bin 0 -> 368 bytes .../textures/block/flag_color/pink_3.png | Bin 0 -> 368 bytes .../textures/block/flag_color/pink_4.png | Bin 0 -> 368 bytes .../textures/block/flag_color/purple.png | Bin 0 -> 368 bytes .../textures/block/flag_color/purple_2.png | Bin 0 -> 368 bytes .../textures/block/flag_color/purple_3.png | Bin 0 -> 368 bytes .../textures/block/flag_color/purple_4.png | Bin 0 -> 368 bytes .../textures/block/flag_color/purple_5.png | Bin 0 -> 368 bytes .../textures/block/flag_color/purple_6.png | Bin 0 -> 368 bytes .../textures/block/flag_color/red.png | Bin 0 -> 368 bytes .../textures/block/flag_color/red_2.png | Bin 0 -> 368 bytes .../textures/block/flag_color/white.png | Bin 0 -> 368 bytes .../textures/block/flag_color/yellow.png | Bin 0 -> 368 bytes .../textures/block/flag_color/yellow_2.png | Bin 0 -> 368 bytes 38 files changed, 49 insertions(+), 6 deletions(-) create mode 100644 src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/black.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/blue.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/blue_2.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/blue_3.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/blue_4.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/blue_5.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/blue_6.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/blue_7.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/gray.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/gray_2.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/green.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/green_2.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/green_3.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/green_4.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/green_5.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/magenta.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/magenta_2.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/orange.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/orange_2.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/orange_3.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/pink.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/pink_2.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/pink_3.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/pink_4.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/purple.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/purple_2.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/purple_3.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/purple_4.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/purple_5.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/purple_6.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/red.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/red_2.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/white.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/yellow.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/yellow_2.png diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index cff241e..b19976c 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -10,7 +10,6 @@ import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.properties.BlockSetType; import net.minecraft.world.level.block.state.properties.WoodType; -import net.minecraft.world.level.material.MapColor; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredRegister; @@ -111,11 +110,7 @@ public class ModBlocks { () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS))); public static final DeferredBlock DRINKING_GLASS_FLUID = registerBlock("drinking_glass_fluid", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT) - .noCollission() - .dynamicShape() - .mapColor(MapColor.NONE) - )); + () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of().noOcclusion())); private static DeferredBlock registerBlock(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java new file mode 100644 index 0000000..76d2a6f --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -0,0 +1,43 @@ +package net.doppelr.lemonmates.block; + +import com.mojang.serialization.MapCodec; +import net.minecraft.core.BlockPos; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; +import org.jetbrains.annotations.Nullable; + +public class ModDrinkingGlassBlock extends HorizontalDirectionalBlock { + public static final MapCodec CODED = simpleCodec(ModDrinkingGlassBlock::new); + private static final VoxelShape SHAPE = Block.box(5.0, 0, 5, 11, 7, 11); + + protected ModDrinkingGlassBlock(Properties properties) { + super(properties); + } + + @Override + protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + return SHAPE; + } + + @Override + protected MapCodec codec() { + return CODED; + } + + @Nullable + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + return super.getStateForPlacement(context); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(FACING); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index fc3f0d1..ce4ca92 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -145,6 +145,11 @@ public class ModItems { () -> new ModBoatItem(true, ModBoatEntity.Type.ORANGE, new Item.Properties().stacksTo(1))); + // Serving related + // Glasses + + + public static void register(IEventBus eventBus) { ITEMS.register(eventBus); } diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/black.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/black.png new file mode 100644 index 0000000000000000000000000000000000000000..0ad35d8bc544bdb67791e8536d325c8fc8582c97 GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$o$^mK6yvG7lpU|pOb;=stv%)l(bz_=r4 QvL#5Nr>mdKI;Vst03=^M;Q#;t literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/blue.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..9909ec65e6270feb11add01e37e5c7317b3af09a GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF8ZuQ0pzeUNHMZ9FalX#Kr9VqgB+v5 z$P5+-xzCW1i9rxZM*(qWI}2Dm2gnA2#giErUH}!rXmneFE@xnvz|Oz|RBK>lY{0kx zVlK!|)&&r=rUBU?zyvgz39K^6(gMhW>M}Gi0Lk8XYEW_Z%i;nclh@P5F+}2WvP4Kj ZBha7;42+pZhXO&0JYD@<);T3K0RX+!L=6A{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/blue_2.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/blue_2.png new file mode 100644 index 0000000000000000000000000000000000000000..3a9778311bf2ad8eec327ea8d77253384a6b3664 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFipQFMx_*G`g)omoqR-U}se&Heg%; zF&AVf>jH>b(|~LcU;>)V1XdYjX#r$Gbr~8MfMjnxHK;iIWpM$J$?NIj7$R{wSt6vN Y5opi^2F6UILxCVgp00i_>zopr0O7wvZU6uP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/blue_5.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/blue_5.png new file mode 100644 index 0000000000000000000000000000000000000000..d5a248e0b53fe6c3742f51674e85dbb13f3510ae GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF-L1 z5RjOeSEA?V8lqsTXQ*dr*u^1s4yb5HYJ_K+r>7PJ2avP_2QHu>s=( zh`As;Sr{&803>_ksX@irFN+I+OkPhH#}J9j$r2$A ZjX;AYFfe8s9SQ^~@^tlcS?83{1OW61MHc`7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/blue_6.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/blue_6.png new file mode 100644 index 0000000000000000000000000000000000000000..485e876b2b49bb08f222c842ac116ebf8279665e GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF8ZuQ0pzeUNHMZ9FalX#Kr9VqgB+v5 z$P5+-xzCW1i9rxZM*(qWI}2Dm2gnA2#giErUH}!rXmneFE@xnvz|Oz|RBK>lY{0kx zVlK!|)&&r=rUBU?zyvgz39K^6(gMhW>M}Gi0Lk8XYEW_Z%i;nclh@P5F+}2WvP4Kj ZBha7;42+pZhXO&0JYD@<);T3K0RXowL*AN9$JwrW1!!8c7b3jEqQX@RmJUz7-IDi~h1}R2X21X#u3y7tmY>;C# z7@5K1Aom$EGBF4O=_nx1Y-a(B=K$Ftuy`^9!waAy7>#Z#(B%va6WAG8fNBklj13qU zK+FZ%$+`ey)-)g+1eky(Gl5kGSy}*DP+f)w1|ZoRPYo*0epy@qWb%5tIEF}EPL>F1 ZXapKGfq^m8=ujX?k*BMl%Q~loCIEi=MUemi literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/gray_2.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/gray_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a72011a5b39412fa5ad1bf81863b697f304a28b4 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFA->fL7`m$SelvY3H^?=T269?xHq0u+=iag8Vm&QB{TPb^Ah z2uRG#E79|F4N)-FGt@IQ?BWnR2UN5pHNrE^(^HFq1IS@zkYZ$IU<9(ffLI#J202E9 zkr^xwa-Sh16N4a-jsoJ$b{4RB4v-B3izhQMyZ|bK(df1UUCzKTft`T`sMf&9*nn{X z#9WY_tP3D!O#`w)fC*?a6If-Cr3H`$)n#a40Fu4&)S%+*m&FA@Ca-L1 z5RjOeSEA?V8lqsTXQ*dr*u^1s4yb5HYJ_K+r>7PJ2avP_2QHu>s=( zh`As;Sr{&803>_ksX@irFN+I+OkPhH#}J9j$r2$A ZjX;AYFfe8s9SQ^~@^tlcS?83{1OVd)L@odT literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/green_2.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/green_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2c2cfb998e7cae9bbb4b901f3fe88335064d0d6f GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF%UR$NS8ZuQ0pzeUNHMZ9FalX#Kr9VqgB+v5 z$P5+-xzCW1i9rxZM*(qWI}2Dm2gnA2#giErUH}!rXmneFE@xnvz|Oz|RBK>lY{0kx zVlK!|)&&r=rUBU?zyvgz39K^6(gMhW>M}Gi0Lk8XYEW_Z%i;nclh@P5F+}2WvP4Kj ZBha7;42+pZhXO&0JYD@<);T3K0RZ>4LtX#? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/green_4.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/green_4.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b1c0c656deafbfb8fcb78c85d07195aaade9bc GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFipQFMx_*G`g)omoqR-U}se&Heg%; zF&AVf>jH>b(|~LcU;>)V1XdYjX#r$Gbr~8MfMjnxHK;iIWpM$J$?NIj7$R{wSt6vN Y5opi^2F6UILxCVgp00i_>zopr076|up#T5? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/green_5.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/green_5.png new file mode 100644 index 0000000000000000000000000000000000000000..81b35b4dcf64bd00bcc14f00ecc12d2322fdac25 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFL5h);ff2~^0%B<>8{`-b zMrN=$$bE*4ObmiRItqw0+gZTkIY2fDES}83@B*j^Mx)ybbU6dV1a<}%pjrbXV*|zo z5OYCxvMzv_H4VrH0VbfyOkkBkmKH!3RF|QF0Z8`7Q-g}LUltbtnY^AZjv*44lO;kL Z8i58)U|`HNIur;}^iLMUnsj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/magenta.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..7224341bd8b0e328c3f397c9c9dd3120f5ccd0f0 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF-L1 z5RjOeSEA?V8lqsTXQ*dr*u^1s4yb5HYJ_K+r>7PJ2avP_2QHu>s=( zh`As;Sr{&803>_ksX@irFN+I+OkPhH#}J9j$r2$A ZjX;AYFfe8s9SQ^~@^tlcS?83{1OPbBM0NlG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/magenta_2.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/magenta_2.png new file mode 100644 index 0000000000000000000000000000000000000000..74a633a8d8639661bca270e40217d93eb1548765 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF-L1 z5RjOeSEA?V8lqsTXQ*dr*u^1s4yb5HYJ_K+r>7PJ2avP_2QHu>s=( zh`As;Sr{&803>_ksX@irFN+I+OkPhH#}J9j$r2$A ZjX;AYFfe8s9SQ^~@^tlcS?83{1OUu5MD+jw literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/orange_2.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/orange_2.png new file mode 100644 index 0000000000000000000000000000000000000000..affcf13ab65dee4d737cc14fcd542c0fdc1315b8 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFz3G56kK(z)&#s-WF zAm)PXWL*F;YZ{OZ0!%=YnZPQ8EG>X6s4hbT1CZ>Erv?>gzbq~QGI>2+977~7CrgAh ZGy)Bpz`&SkbSMy{$kWx&Wt~$(699lLMUemi literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/pink_2.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/pink_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0a20a27636bbabf4a33f2cda37f73e2b70cfe125 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF8ZuQ0pzeUNHMZ9FalX#Kr9VqgB+v5 z$P5+-xzCW1i9rxZM*(qWI}2Dm2gnA2#giErUH}!rXmneFE@xnvz|Oz|RBK>lY{0kx zVlK!|)&&r=rUBU?zyvgz39K^6(gMhW>M}Gi0Lk8XYEW_Z%i;nclh@P5F+}2WvP4Kj ZBha7;42+pZhXO&0JYD@<);T3K0RSfvL}UN} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/pink_3.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/pink_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6dde93ae408fc19f507b28351473e5b64e4fc2f8 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFL5h);ff2~^0%B<>8{`-b zMrN=$$bE*4ObmiRItqw0+gZTkIY2fDES}83@B*j^Mx)ybbU6dV1a<}%pjrbXV*|zo z5OYCxvMzv_H4VrH0VbfyOkkBkmKH!3RF|QF0Z8`7Q-g}LUltbtnY^AZjv*44lO;kL Z8i58)U|`HNIur;}|0mMF;=@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/purple.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/purple.png new file mode 100644 index 0000000000000000000000000000000000000000..5bc54ad08053b40ad2e08687e58364eb59e31e96 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFm+IE@y#9WHAE+-(e7DJf6QI1t=(4;u=vBoS#-wo>-L1 z5RjOeSEA?V8lqsTXQ*dr*u^1s4yb5HYJ_K+r>7PJ2avP_2QHu>s=( zh`As;Sr{&803>_ksX@irFN+I+OkPhH#}J9j$r2$A ZjX;AYFfe8s9SQ^~@^tlcS?83{1OOOqL|6a- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/purple_3.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/purple_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1d657f45016a1ddf102c5bde994fa8411b458120 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF8ZuQ0pzeUNHMZ9FalX#Kr9VqgB+v5 z$P5+-xzCW1i9rxZM*(qWI}2Dm2gnA2#giErUH}!rXmneFE@xnvz|Oz|RBK>lY{0kx zVlK!|)&&r=rUBU?zyvgz39K^6(gMhW>M}Gi0Lk8XYEW_Z%i;nclh@P5F+}2WvP4Kj ZBha7;42+pZhXO&0JYD@<);T3K0RTbLL!JNt literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/purple_4.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/purple_4.png new file mode 100644 index 0000000000000000000000000000000000000000..35b628d6d2c5cf86228b5580f8763a2693524e9a GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF8ZuQ0pzeUNHMZ9FalX#Kr9VqgB+v5 z$P5+-xzCW1i9rxZM*(qWI}2Dm2gnA2#giErUH}!rXmneFE@xnvz|Oz|RBK>lY{0kx zVlK!|)&&r=rUBU?zyvgz39K^6(gMhW>M}Gi0Lk8XYEW_Z%i;nclh@P5F+}2WvP4Kj ZBha7;42+pZhXO&0JYD@<);T3K0RYrNL?HkG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/purple_5.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/purple_5.png new file mode 100644 index 0000000000000000000000000000000000000000..f18e1320033a63ff22e93e4a33ec24802480a8f1 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF$Nv;eZ8x(p2rK(aTU8dRM9vbX@qN>VZTfum$SelvY3H^?=T269?xHq0u+=iag8Vm&QB{TPb^Ah z2uRG#E79|F4N)-FGt@IQ?BWnR2UN5pHNrE^(^HFq1IS@zkYZ$IU<9(ffLI#J202E9 zkr^xwa-Sh16N4a-jsoJ$b{4RB4v-B3izhQMyZ|bK(df1UUCzKTft`T`sMf&9*nn{X z#9WY_tP3D!O#`w)fC*?a6If-Cr3H`$)n#a40Fu4&)S%+*m&FA@Ca8ZuQ0pzeUNHMZ9FalX#Kr9VqgB+v5 z$P5+-xzCW1i9rxZM*(qWI}2Dm2gnA2#giErUH}!rXmneFE@xnvz|Oz|RBK>lY{0kx zVlK!|)&&r=rUBU?zyvgz39K^6(gMhW>M}Gi0Lk8XYEW_Z%i;nclh@P5F+}2WvP4Kj ZBha7;42+pZhXO&0JYD@<);T3K0RU*sLgN4c literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/red_2.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/red_2.png new file mode 100644 index 0000000000000000000000000000000000000000..38cb0a7b9e31688c4e726458a57b55d49220b847 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF-nm$SelvY3H^?=T269?xHq0u+=iag8Vm&QB{TPb^Ah z2uRG#E79|F4N)-FGt@IQ?BWnR2UN5pHNrE^(^HFq1IS@zkYZ$IU<9(ffLI#J202E9 zkr^xwa-Sh16N4a-jsoJ$b{4RB4v-B3izhQMyZ|bK(df1UUCzKTft`T`sMf&9*nn{X z#9WY_tP3D!O#`w)fC*?a6If-Cr3H`$)n#a40Fu4&)S%+*m&FA@Caz3G56kK(z)&#s-WF zAm)PXWL*F;YZ{OZ0!%=YnZPQ8EG>X6s4hbT1CZ>Erv?>gzbq~QGI>2+977~7CrgAh ZGy)Bpz`&SkbSMy{$kWx&Wt~$(696{SMlJvV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/yellow.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..dc068b705fe63551f3997b5c746d31473faa70ea GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF-L1 z5RjOeSEA?V8lqsTXQ*dr*u^1s4yb5HYJ_K+r>7PJ2avP_2QHu>s=( zh`As;Sr{&803>_ksX@irFN+I+OkPhH#}J9j$r2$A ZjX;AYFfe8s9SQ^~@^tlcS?83{1OUuKMDzdv literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/yellow_2.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/yellow_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0434525550d1ecb2e85ce5d78f4392f5390377d6 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFL5h);ff2~^0%B<>8{`-b zMrN=$$bE*4ObmiRItqw0+gZTkIY2fDES}83@B*j^Mx)ybbU6dV1a<}%pjrbXV*|zo z5OYCxvMzv_H4VrH0VbfyOkkBkmKH!3RF|QF0Z8`7Q-g}LUltbtnY^AZjv*44lO;kL Z8i58)U|`HNIur;}_T9MWp}$ literal 0 HcmV?d00001 From 4a9af1324903ba9cda73e32dd014879c9d34eed0 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sat, 21 Feb 2026 16:39:18 +0100 Subject: [PATCH 05/76] smt smt block models --- .../block/ModDrinkingGlassBlock.java | 2 +- .../blockstates/drinking_glass_fluid.json | 14 +- .../models/block/drinking_glass_fluid.json | 288 +++++++++++++++--- .../lemonmates/models/block/straw_3.json | 59 ++++ .../models/item/drinking_glass_fluid.json | 271 +++++++++++++++- .../textures/item/lemonade_glass.png | Bin 0 -> 225 bytes .../lemonmates/textures/item/straw_3.png | Bin 0 -> 240 bytes 7 files changed, 592 insertions(+), 42 deletions(-) create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_3.json create mode 100644 src/main/resources/assets/lemonmates/textures/item/lemonade_glass.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_3.png diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index 76d2a6f..7ce9692 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -33,7 +33,7 @@ protected MapCodec codec() { @Nullable @Override public BlockState getStateForPlacement(BlockPlaceContext context) { - return super.getStateForPlacement(context); + return this.defaultBlockState().setValue(FACING, context.getHorizontalDirection().getOpposite()); } @Override diff --git a/src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json b/src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json index a1e9550..9a31b9e 100644 --- a/src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json +++ b/src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json @@ -1,7 +1,19 @@ { "variants": { - "": { + "facing=north": { "model": "lemonmates:block/drinking_glass_fluid" + }, + "facing=south": { + "model": "lemonmates:block/drinking_glass_fluid", + "y": 180 + }, + "facing=east": { + "model": "lemonmates:block/drinking_glass_fluid", + "y": 90 + }, + "facing=west": { + "model": "lemonmates:block/drinking_glass_fluid", + "y": 270 } } } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/drinking_glass_fluid.json b/src/main/resources/assets/lemonmates/models/block/drinking_glass_fluid.json index 49a8356..82df1cf 100644 --- a/src/main/resources/assets/lemonmates/models/block/drinking_glass_fluid.json +++ b/src/main/resources/assets/lemonmates/models/block/drinking_glass_fluid.json @@ -1,57 +1,271 @@ { - "ambientocclusion": false, + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [32, 32], "textures": { - "particle": "block/glass", - "glass": "block/glass", - "red_stained_glass": "block/red_stained_glass" + "0": "lemonmates:item/lemonade_glass", + "particle": "lemonmates:item/lemonade_glass" }, "elements": [ - { "from": [ 5, 0, 5 ], - "to": [ 6, 6, 11 ], + { + "name": "north_west", + "from": [5, 0, 5], + "to": [6, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 5]}, "faces": { - "down": { "uv": [ 5, 5, 6, 11 ], "texture": "#glass", "cullface": "down" }, - "up": { "uv": [ 5, 5, 6, 11 ], "texture": "#glass" }, - "north": { "uv": [ 10, 10, 11, 16 ], "texture": "#glass" }, - "south": { "uv": [ 5, 10, 6, 16 ], "texture": "#glass" }, - "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#glass" }, - "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#glass" } + "north": {"uv": [6, 2, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [6, 5.5, 6.5, 9], "texture": "#0"}, + "south": {"uv": [6.5, 2, 7, 5.5], "texture": "#0"}, + "west": {"uv": [6.5, 5.5, 7, 9], "texture": "#0"}, + "up": {"uv": [4, 10, 3.5, 9.5], "texture": "#0"}, + "down": {"uv": [10, 7, 9.5, 7.5], "texture": "#0"} } }, - { "from": [ 10, 0, 5 ], - "to": [ 11, 6, 11 ], + { + "name": "north_east", + "from": [10, 0, 5], + "to": [11, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 5]}, "faces": { - "down": { "uv": [ 10, 5, 11, 11 ], "texture": "#glass", "cullface": "down" }, - "up": { "uv": [ 10, 5, 11, 11 ], "texture": "#glass" }, - "north": { "uv": [ 5, 10, 6, 16 ], "texture": "#glass" }, - "south": { "uv": [ 10, 10, 11, 16 ], "texture": "#glass" }, - "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#glass" }, - "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#glass" } + "north": {"uv": [7, 2, 7.5, 5.5], "texture": "#0"}, + "east": {"uv": [4, 7, 4.5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 7, 5, 10.5], "texture": "#0"}, + "west": {"uv": [5, 7, 5.5, 10.5], "texture": "#0"}, + "up": {"uv": [10, 8, 9.5, 7.5], "texture": "#0"}, + "down": {"uv": [10, 8, 9.5, 8.5], "texture": "#0"} } }, - { "from": [ 6, 0, 5 ], - "to": [ 10, 6, 6 ], + { + "name": "south_east", + "from": [10, 0, 10], + "to": [11, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 10]}, "faces": { - "down": { "uv": [ 6, 10, 10, 11 ], "texture": "#glass", "cullface": "down" }, - "up": { "uv": [ 6, 5, 10, 6 ], "texture": "#glass" }, - "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#glass" }, - "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#glass" } + "north": {"uv": [5.5, 7, 6, 10.5], "texture": "#0"}, + "east": {"uv": [7, 5.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [0, 7.5, 0.5, 11], "texture": "#0"}, + "west": {"uv": [0.5, 7.5, 1, 11], "texture": "#0"}, + "up": {"uv": [10, 9, 9.5, 8.5], "texture": "#0"}, + "down": {"uv": [9.5, 9.5, 9, 10], "texture": "#0"} } }, - { "from": [ 6, 0, 10 ], - "to": [ 10, 6, 11 ], + { + "name": "south_west", + "from": [5, 0, 10], + "to": [6, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 10]}, "faces": { - "down": { "uv": [ 6, 5, 10, 6 ], "texture": "#glass", "cullface": "down" }, - "up": { "uv": [ 6, 10, 10, 11 ], "texture": "#glass" }, - "north": { "uv": [ 6, 10, 10, 16 ], "texture": "#glass" }, - "south": { "uv": [ 6, 10, 10, 16 ], "texture": "#glass" } + "north": {"uv": [1, 7.5, 1.5, 11], "texture": "#0"}, + "east": {"uv": [1.5, 7.5, 2, 11], "texture": "#0"}, + "south": {"uv": [2, 7.5, 2.5, 11], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 5.5], "texture": "#0"}, + "up": {"uv": [10, 10, 9.5, 9.5], "texture": "#0"}, + "down": {"uv": [10.5, 0, 10, 0.5], "texture": "#0"} } }, - { "from": [ 6, 0, 6 ], - "to": [ 10, 4, 10 ], + { + "name": "north", + "from": [6, 6, 5], + "to": [10, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 5]}, "faces": { - "down": { "uv": [ 6, 12, 10, 16 ], "texture": "#glass", "cullface": "down" }, - "up": { "uv": [ 6, 6, 10, 10 ], "texture": "#red_stained_glass" } + "north": {"uv": [7.5, 5.5, 9.5, 6], "texture": "#0"}, + "south": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#0"}, + "up": {"uv": [9.5, 7, 7.5, 6.5], "texture": "#0"}, + "down": {"uv": [9.5, 7, 7.5, 7.5], "texture": "#0"} } + }, + { + "name": "east", + "from": [10, 6, 6], + "to": [11, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 6, 6]}, + "faces": { + "east": {"uv": [7.5, 7.5, 9.5, 8], "texture": "#0"}, + "west": {"uv": [8, 0, 10, 0.5], "texture": "#0"}, + "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#0"}, + "down": {"uv": [3.5, 7.5, 3, 9.5], "texture": "#0"} + } + }, + { + "name": "south", + "from": [6, 6, 10], + "to": [10, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 10]}, + "faces": { + "north": {"uv": [8, 0.5, 10, 1], "texture": "#0"}, + "south": {"uv": [8, 1, 10, 1.5], "texture": "#0"}, + "up": {"uv": [10, 2, 8, 1.5], "texture": "#0"}, + "down": {"uv": [10, 2, 8, 2.5], "texture": "#0"} + } + }, + { + "name": "west", + "from": [5, 6, 6], + "to": [6, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 6, 6]}, + "faces": { + "east": {"uv": [8, 2.5, 10, 3], "texture": "#0"}, + "west": {"uv": [8, 3, 10, 3.5], "texture": "#0"}, + "up": {"uv": [4, 9.5, 3.5, 7.5], "texture": "#0"}, + "down": {"uv": [8.5, 3.5, 8, 5.5], "texture": "#0"} + } + }, + { + "name": "north", + "from": [6, 0, 5], + "to": [10, 1, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, + "faces": { + "north": {"uv": [7.5, 8, 9.5, 8.5], "texture": "#0"}, + "south": {"uv": [8.5, 3.5, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8.5, 4], "texture": "#0"}, + "down": {"uv": [10.5, 4.5, 8.5, 5], "texture": "#0"} + } + }, + { + "name": "east", + "from": [10, 0, 6], + "to": [11, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 6]}, + "faces": { + "east": {"uv": [8.5, 5, 10.5, 5.5], "texture": "#0"}, + "west": {"uv": [7.5, 8.5, 9.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 11, 6, 9], "texture": "#0"}, + "down": {"uv": [7, 9, 6.5, 11], "texture": "#0"} + } + }, + { + "name": "south", + "from": [6, 0, 10], + "to": [10, 1, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 10]}, + "faces": { + "north": {"uv": [7, 9, 9, 9.5], "texture": "#0"}, + "south": {"uv": [9, 9, 11, 9.5], "texture": "#0"}, + "up": {"uv": [11.5, 6, 9.5, 5.5], "texture": "#0"}, + "down": {"uv": [11.5, 6, 9.5, 6.5], "texture": "#0"} + } + }, + { + "name": "west", + "from": [5, 0, 6], + "to": [6, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 6]}, + "faces": { + "east": {"uv": [9.5, 6.5, 11.5, 7], "texture": "#0"}, + "west": {"uv": [7, 9.5, 9, 10], "texture": "#0"}, + "up": {"uv": [3, 11.5, 2.5, 9.5], "texture": "#0"}, + "down": {"uv": [3.5, 9.5, 3, 11.5], "texture": "#0"} + } + }, + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "up": {"uv": [6, 7, 4, 5], "texture": "#0"}, + "down": {"uv": [8, 0, 6, 2], "texture": "#0"} + } + }, + { + "name": "west", + "from": [5, 1, 6], + "to": [6, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 6]}, + "faces": { + "east": {"uv": [0, 0, 2, 2.5], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2.5], "texture": "#0"} + } + }, + { + "name": "east", + "from": [10, 1, 6], + "to": [11, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 6]}, + "faces": { + "east": {"uv": [0, 2.5, 2, 5], "texture": "#0"}, + "west": {"uv": [2, 2.5, 4, 5], "texture": "#0"} + } + }, + { + "name": "north", + "from": [6, 1, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 5]}, + "faces": { + "north": {"uv": [4, 0, 6, 2.5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 6, 5], "texture": "#0"} + } + }, + { + "name": "south", + "from": [6, 1, 10], + "to": [10, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 10]}, + "faces": { + "north": {"uv": [0, 5, 2, 7.5], "texture": "#0"}, + "south": {"uv": [2, 5, 4, 7.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 5.25, 1.5], + "scale": [0.67, 0.67, 0.67] + }, + "thirdperson_lefthand": { + "translation": [0, 5.25, 1.5], + "scale": [0.67, 0.67, 0.67] + }, + "firstperson_righthand": { + "translation": [0, 6, 0], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "translation": [0, 6, 0], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 3.5, 0], + "scale": [0.68, 0.68, 0.68] + }, + "gui": { + "rotation": [22.5, -22.5, 0], + "translation": [0, 3.5, 0] + }, + "head": { + "translation": [0, 14.5, 0] + }, + "on_shelf": { + "scale": [1.87, 1.87, 1.87] + } + }, + "groups": [ + { + "name": "edges", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "top_edges", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7] + }, + { + "name": "bottom_edges", + "origin": [8, 8, 8], + "color": 0, + "children": [8, 9, 10, 11] + }, + { + "name": "faces", + "origin": [8, 8, 8], + "color": 0, + "children": [12, 13, 14, 15, 16] } ] -} +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_3.json b/src/main/resources/assets/lemonmates/models/block/straw_3.json new file mode 100644 index 0000000..864f7e1 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_3.json @@ -0,0 +1,59 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "lemonmates:block/flag_color/black", + "1": "lemonmates:block/flag_color/red", + "2": "lemonmates:block/flag_color/yellow", + "particle": "lemonmates:item/straw_3" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [4, 0, 5, 3], "texture": "#2"}, + "east": {"uv": [4, 3, 5, 6], "texture": "#2"}, + "south": {"uv": [0, 5, 1, 8], "texture": "#2"}, + "west": {"uv": [5, 0, 6, 3], "texture": "#2"}, + "up": {"uv": [6, 7, 5, 6], "texture": "#2"}, + "down": {"uv": [7, 6, 6, 7], "texture": "#2"} + } + }, + { + "name": "middle", + "from": [8, 4, 9], + "to": [9, 7, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [1, 5, 2, 8], "texture": "#1"}, + "east": {"uv": [2, 5, 3, 8], "texture": "#1"}, + "south": {"uv": [3, 5, 4, 8], "texture": "#1"}, + "west": {"uv": [5, 3, 6, 6], "texture": "#1"}, + "up": {"uv": [8, 1, 7, 0], "texture": "#1"}, + "down": {"uv": [8, 1, 7, 2], "texture": "#1"} + } + }, + { + "name": "top", + "from": [8, 7, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [6, 0, 7, 2], "texture": "#0"}, + "east": {"uv": [6, 2, 7, 4], "texture": "#0"}, + "south": {"uv": [4, 6, 5, 8], "texture": "#0"}, + "west": {"uv": [6, 4, 7, 6], "texture": "#0"}, + "up": {"uv": [8, 3, 7, 2], "texture": "#0"}, + "down": {"uv": [8, 3, 7, 4], "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json b/src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json index b687207..67377ba 100644 --- a/src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json +++ b/src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json @@ -1,6 +1,271 @@ { - "parent": "minecraft:item/generated", + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [32, 32], "textures": { - "layer0": "lemonmates:item/drinking_glass" - } + "0": "lemonmates:item/lemonade_glass", + "particle": "lemonmates:item/lemonade_glass" + }, + "elements": [ + { + "name": "north_west", + "from": [5, 0, 5], + "to": [6, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 5]}, + "faces": { + "north": {"uv": [6, 2, 6.5, 5.5], "texture": "#0"}, + "east": {"uv": [6, 5.5, 6.5, 9], "texture": "#0"}, + "south": {"uv": [6.5, 2, 7, 5.5], "texture": "#0"}, + "west": {"uv": [6.5, 5.5, 7, 9], "texture": "#0"}, + "up": {"uv": [4, 10, 3.5, 9.5], "texture": "#0"}, + "down": {"uv": [10, 7, 9.5, 7.5], "texture": "#0"} + } + }, + { + "name": "north_east", + "from": [10, 0, 5], + "to": [11, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 5]}, + "faces": { + "north": {"uv": [7, 2, 7.5, 5.5], "texture": "#0"}, + "east": {"uv": [4, 7, 4.5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 7, 5, 10.5], "texture": "#0"}, + "west": {"uv": [5, 7, 5.5, 10.5], "texture": "#0"}, + "up": {"uv": [10, 8, 9.5, 7.5], "texture": "#0"}, + "down": {"uv": [10, 8, 9.5, 8.5], "texture": "#0"} + } + }, + { + "name": "south_east", + "from": [10, 0, 10], + "to": [11, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 10]}, + "faces": { + "north": {"uv": [5.5, 7, 6, 10.5], "texture": "#0"}, + "east": {"uv": [7, 5.5, 7.5, 9], "texture": "#0"}, + "south": {"uv": [0, 7.5, 0.5, 11], "texture": "#0"}, + "west": {"uv": [0.5, 7.5, 1, 11], "texture": "#0"}, + "up": {"uv": [10, 9, 9.5, 8.5], "texture": "#0"}, + "down": {"uv": [9.5, 9.5, 9, 10], "texture": "#0"} + } + }, + { + "name": "south_west", + "from": [5, 0, 10], + "to": [6, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 10]}, + "faces": { + "north": {"uv": [1, 7.5, 1.5, 11], "texture": "#0"}, + "east": {"uv": [1.5, 7.5, 2, 11], "texture": "#0"}, + "south": {"uv": [2, 7.5, 2.5, 11], "texture": "#0"}, + "west": {"uv": [7.5, 2, 8, 5.5], "texture": "#0"}, + "up": {"uv": [10, 10, 9.5, 9.5], "texture": "#0"}, + "down": {"uv": [10.5, 0, 10, 0.5], "texture": "#0"} + } + }, + { + "name": "north", + "from": [6, 6, 5], + "to": [10, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 5]}, + "faces": { + "north": {"uv": [7.5, 5.5, 9.5, 6], "texture": "#0"}, + "south": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#0"}, + "up": {"uv": [9.5, 7, 7.5, 6.5], "texture": "#0"}, + "down": {"uv": [9.5, 7, 7.5, 7.5], "texture": "#0"} + } + }, + { + "name": "east", + "from": [10, 6, 6], + "to": [11, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 6, 6]}, + "faces": { + "east": {"uv": [7.5, 7.5, 9.5, 8], "texture": "#0"}, + "west": {"uv": [8, 0, 10, 0.5], "texture": "#0"}, + "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#0"}, + "down": {"uv": [3.5, 7.5, 3, 9.5], "texture": "#0"} + } + }, + { + "name": "south", + "from": [6, 6, 10], + "to": [10, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 10]}, + "faces": { + "north": {"uv": [8, 0.5, 10, 1], "texture": "#0"}, + "south": {"uv": [8, 1, 10, 1.5], "texture": "#0"}, + "up": {"uv": [10, 2, 8, 1.5], "texture": "#0"}, + "down": {"uv": [10, 2, 8, 2.5], "texture": "#0"} + } + }, + { + "name": "west", + "from": [5, 6, 6], + "to": [6, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 6, 6]}, + "faces": { + "east": {"uv": [8, 2.5, 10, 3], "texture": "#0"}, + "west": {"uv": [8, 3, 10, 3.5], "texture": "#0"}, + "up": {"uv": [4, 9.5, 3.5, 7.5], "texture": "#0"}, + "down": {"uv": [8.5, 3.5, 8, 5.5], "texture": "#0"} + } + }, + { + "name": "north", + "from": [6, 0, 5], + "to": [10, 1, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, + "faces": { + "north": {"uv": [7.5, 8, 9.5, 8.5], "texture": "#0"}, + "south": {"uv": [8.5, 3.5, 10.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 4.5, 8.5, 4], "texture": "#0"}, + "down": {"uv": [10.5, 4.5, 8.5, 5], "texture": "#0"} + } + }, + { + "name": "east", + "from": [10, 0, 6], + "to": [11, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 6]}, + "faces": { + "east": {"uv": [8.5, 5, 10.5, 5.5], "texture": "#0"}, + "west": {"uv": [7.5, 8.5, 9.5, 9], "texture": "#0"}, + "up": {"uv": [6.5, 11, 6, 9], "texture": "#0"}, + "down": {"uv": [7, 9, 6.5, 11], "texture": "#0"} + } + }, + { + "name": "south", + "from": [6, 0, 10], + "to": [10, 1, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 10]}, + "faces": { + "north": {"uv": [7, 9, 9, 9.5], "texture": "#0"}, + "south": {"uv": [9, 9, 11, 9.5], "texture": "#0"}, + "up": {"uv": [11.5, 6, 9.5, 5.5], "texture": "#0"}, + "down": {"uv": [11.5, 6, 9.5, 6.5], "texture": "#0"} + } + }, + { + "name": "west", + "from": [5, 0, 6], + "to": [6, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 6]}, + "faces": { + "east": {"uv": [9.5, 6.5, 11.5, 7], "texture": "#0"}, + "west": {"uv": [7, 9.5, 9, 10], "texture": "#0"}, + "up": {"uv": [3, 11.5, 2.5, 9.5], "texture": "#0"}, + "down": {"uv": [3.5, 9.5, 3, 11.5], "texture": "#0"} + } + }, + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "up": {"uv": [6, 7, 4, 5], "texture": "#0"}, + "down": {"uv": [8, 0, 6, 2], "texture": "#0"} + } + }, + { + "name": "west", + "from": [5, 1, 6], + "to": [6, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 6]}, + "faces": { + "east": {"uv": [0, 0, 2, 2.5], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2.5], "texture": "#0"} + } + }, + { + "name": "east", + "from": [10, 1, 6], + "to": [11, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 6]}, + "faces": { + "east": {"uv": [0, 2.5, 2, 5], "texture": "#0"}, + "west": {"uv": [2, 2.5, 4, 5], "texture": "#0"} + } + }, + { + "name": "north", + "from": [6, 1, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 5]}, + "faces": { + "north": {"uv": [4, 0, 6, 2.5], "texture": "#0"}, + "south": {"uv": [4, 2.5, 6, 5], "texture": "#0"} + } + }, + { + "name": "south", + "from": [6, 1, 10], + "to": [10, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 10]}, + "faces": { + "north": {"uv": [0, 5, 2, 7.5], "texture": "#0"}, + "south": {"uv": [2, 5, 4, 7.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 5.25, 1.5], + "scale": [0.67, 0.67, 0.67] + }, + "thirdperson_lefthand": { + "translation": [0, 5.25, 1.5], + "scale": [0.67, 0.67, 0.67] + }, + "firstperson_righthand": { + "translation": [0, 6, 0], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "translation": [0, 6, 0], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 3.5, 0], + "scale": [0.68, 0.68, 0.68] + }, + "gui": { + "rotation": [22.5, -22.5, 0], + "translation": [0, 3.5, 0] + }, + "head": { + "translation": [0, 14.5, 0] + }, + "on_shelf": { + "scale": [1.87, 1.87, 1.87] + } + }, + "groups": [ + { + "name": "edges", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "top_edges", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7] + }, + { + "name": "bottom_edges", + "origin": [8, 8, 8], + "color": 0, + "children": [8, 9, 10, 11] + }, + { + "name": "faces", + "origin": [8, 8, 8], + "color": 0, + "children": [12, 13, 14, 15, 16] + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/textures/item/lemonade_glass.png b/src/main/resources/assets/lemonmates/textures/item/lemonade_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..d10f4cbb37b1f5c67b325a7cade5f3c0d8464f5a GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|_yc@GT!Hk3 zS1;jcnXv8=pb%?GkY6xEK*NFme5BNtavd<>V7dC^zxnhFvtFb* z7r$D`+}LnfOM8{?(OR^per+{CG$;7qp`BQCu^CC z2&?Y9Sv`})SfgWDateJ9FmGg6uTcz2kYGkVEH+-Y-vBxY6eeN KKbLh*2~7Y7@KEjm literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_3.png b/src/main/resources/assets/lemonmates/textures/item/straw_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5aafc33f21f89cd9a46982dcc5fa28dd42f5f04b GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Ln`LH2~^~7N)V_unpJ<` z?1MLdxEG(xQm~kOa?xFnNhwAe`wu)&>pjrFz>ul2_khO+N2_nFOgumA%($f2-+6cM z?(TAH&#gkYTC7s*cpi_n2}D1lafc>pgq0 zcVF_uIUDEdE6Ok8+8G>Xyv|{7!ZOA;d%G4(JG1o0Cv30pWiPjG4hYU?pM2m33&;ci k|1a6uVgh8afgH@tFoD77jsLrX7eEmPPgg&ebxsLQ0Hc3kW&i*H literal 0 HcmV?d00001 From 8f5820e7ec3e1336a226532ce68a97bff993bdfe Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sat, 21 Feb 2026 17:08:54 +0100 Subject: [PATCH 06/76] path --- src/main/resources/assets/lemonmates/blockstates/import/1.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/assets/lemonmates/blockstates/import/1.txt diff --git a/src/main/resources/assets/lemonmates/blockstates/import/1.txt b/src/main/resources/assets/lemonmates/blockstates/import/1.txt new file mode 100644 index 0000000..e69de29 From 55e1f34d526a22dbfee0db81f184bb878748ad5e Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 22 Feb 2026 06:52:52 +0100 Subject: [PATCH 07/76] fully merge model files, fix rendering, renaming for modularity --- .../lemonmates/AllCreativeModeTabs.java | 2 +- .../doppelr/lemonmates/block/ModBlocks.java | 4 +- .../datagen/ModBlockLootTableProvider.java | 2 +- .../blockstates/drinking_glass_fluid.json | 19 -- .../lemonmates/blockstates/import/1.txt | 0 .../lemonmates/blockstates/lemon_slice.json | 42 --- .../blockstates/lemonade_glass.json | 286 ++---------------- .../lemonade_glass_fluid_full.json | 28 -- .../lemonade_glass_fluid_half.json | 28 -- .../lemonmates/blockstates/orange_slice.json | 42 --- .../lemonmates/blockstates/straw_3.json | 53 ---- .../lemonmates/blockstates/straw_4.json | 65 ---- .../lemonmates/blockstates/straw_5.json | 77 ----- .../lemonmates/blockstates/straw_6.json | 89 ------ .../lemonmates/blockstates/umbrella.json | 107 ------- .../assets/lemonmates/lang/en_US.json | 2 +- .../lemonmates/models/block/lemon_slice.json | 43 +++ ...g_glass_fluid.json => lemonade_glass.json} | 135 +++++---- .../block/lemonade_glass_fluid_full.json | 29 ++ .../block/lemonade_glass_fluid_half.json | 29 ++ .../lemonmates/models/block/orange_slice.json | 43 +++ .../{blockstates => models/block}/stick.json | 21 +- .../lemonmates/models/block/straw_3.json | 110 ++++--- .../lemonmates/models/block/straw_4.json | 69 +++++ .../lemonmates/models/block/straw_5.json | 82 +++++ .../lemonmates/models/block/straw_6.json | 95 ++++++ .../lemonmates/models/block/umbrella.json | 109 +++++++ .../models/item/drinking_glass_fluid.json | 271 ----------------- .../models/item/lemonade_glass.json | 3 + .../assets/lemonmates/textures/item/empty.png | Bin 0 -> 359 bytes .../lemonmates/textures/item/straw_3.png | Bin 240 -> 0 bytes 31 files changed, 656 insertions(+), 1229 deletions(-) delete mode 100644 src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/import/1.txt delete mode 100644 src/main/resources/assets/lemonmates/blockstates/lemon_slice.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_glass_fluid_full.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_glass_fluid_half.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/orange_slice.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/straw_3.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/straw_4.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/straw_5.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/straw_6.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/umbrella.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemon_slice.json rename src/main/resources/assets/lemonmates/models/block/{drinking_glass_fluid.json => lemonade_glass.json} (51%) create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half.json create mode 100644 src/main/resources/assets/lemonmates/models/block/orange_slice.json rename src/main/resources/assets/lemonmates/{blockstates => models/block}/stick.json (59%) create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_4.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_5.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_6.json create mode 100644 src/main/resources/assets/lemonmates/models/block/umbrella.json delete mode 100644 src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json create mode 100644 src/main/resources/assets/lemonmates/models/item/lemonade_glass.json create mode 100644 src/main/resources/assets/lemonmates/textures/item/empty.png delete mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_3.png diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index 8f6d822..b8520eb 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -35,7 +35,7 @@ public class AllCreativeModeTabs { output.accept(ModBlocks.RASPBERRY_CRATE); // Misc - output.accept(ModBlocks.DRINKING_GLASS_FLUID); + output.accept(ModBlocks.LEMONADE_GLASS); // Finished Lemonades output.accept(ModItems.CITRON_LEMONADE_BOTTLE); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index b19976c..544ad88 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -109,8 +109,8 @@ public class ModBlocks { public static final DeferredBlock RASPBERRY_CRATE = registerBlock("raspberry_crate", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS))); - public static final DeferredBlock DRINKING_GLASS_FLUID = registerBlock("drinking_glass_fluid", - () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of().noOcclusion())); + public static final DeferredBlock LEMONADE_GLASS = registerBlock("lemonade_glass", + () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of())); private static DeferredBlock registerBlock(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java index d452a77..c861e0c 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java @@ -125,7 +125,7 @@ protected void generate() { dropSelf(ModBlocks.CITRON_CRATE.get()); dropSelf(ModBlocks.RASPBERRY_CRATE.get()); - dropSelf(ModBlocks.DRINKING_GLASS_FLUID.get()); + dropSelf(ModBlocks.LEMONADE_GLASS.get()); } @Override diff --git a/src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json b/src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json deleted file mode 100644 index 9a31b9e..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/drinking_glass_fluid.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "variants": { - "facing=north": { - "model": "lemonmates:block/drinking_glass_fluid" - }, - "facing=south": { - "model": "lemonmates:block/drinking_glass_fluid", - "y": 180 - }, - "facing=east": { - "model": "lemonmates:block/drinking_glass_fluid", - "y": 90 - }, - "facing=west": { - "model": "lemonmates:block/drinking_glass_fluid", - "y": 270 - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/import/1.txt b/src/main/resources/assets/lemonmates/blockstates/import/1.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/main/resources/assets/lemonmates/blockstates/lemon_slice.json b/src/main/resources/assets/lemonmates/blockstates/lemon_slice.json deleted file mode 100644 index c8380f6..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/lemon_slice.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "item/lemonade_glass_lemon_slice", - "particle": "item/lemonade_glass_lemon_slice" - }, - "elements": [ - { - "name": "slice_peel", - "from": [3, 5.5, 8], - "to": [4, 8.5, 9], - "rotation": {"angle": -22.5, "axis": "z", "origin": [5, 6.5, 8]}, - "faces": { - "north": {"uv": [3, 1, 4, 4], "texture": "#0"}, - "south": {"uv": [0, 5, 1, 8], "texture": "#0"}, - "west": {"uv": [4, 5, 5, 8], "texture": "#0"}, - "up": {"uv": [6, 1, 5, 0], "texture": "#0"}, - "down": {"uv": [6, 1, 5, 2], "texture": "#0"} - } - }, - { - "name": "slice_center", - "from": [4, 5.5, 8], - "to": [7, 9.5, 9], - "rotation": {"angle": -22.5, "axis": "z", "origin": [5, 6.5, 8]}, - "faces": { - "north": {"uv": [0, 0, 3, 4], "texture": "#0"}, - "east": {"uv": [4, 0, 5, 4], "texture": "#0"}, - "south": {"uv": [1, 4, 4, 8], "texture": "#0"}, - "west": {"uv": [4, 4, 5, 8], "texture": "#0"}, - "up": {"uv": [9, 1, 6, 0], "texture": "#0"}, - "down": {"uv": [6, 1, 9, 2], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json index 4dfd73c..015a559 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json @@ -1,271 +1,19 @@ { - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "texture_size": [32, 32], - "textures": { - "0": "item/lemonade_glass", - "particle": "item/lemonade_glass" - }, - "elements": [ - { - "name": "north_west", - "from": [5, 0, 5], - "to": [6, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 5]}, - "faces": { - "north": {"uv": [6, 2, 6.5, 5.5], "texture": "#0"}, - "east": {"uv": [6, 5.5, 6.5, 9], "texture": "#0"}, - "south": {"uv": [6.5, 2, 7, 5.5], "texture": "#0"}, - "west": {"uv": [6.5, 5.5, 7, 9], "texture": "#0"}, - "up": {"uv": [4, 10, 3.5, 9.5], "texture": "#0"}, - "down": {"uv": [10, 7, 9.5, 7.5], "texture": "#0"} - } - }, - { - "name": "north_east", - "from": [10, 0, 5], - "to": [11, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 5]}, - "faces": { - "north": {"uv": [7, 2, 7.5, 5.5], "texture": "#0"}, - "east": {"uv": [4, 7, 4.5, 10.5], "texture": "#0"}, - "south": {"uv": [4.5, 7, 5, 10.5], "texture": "#0"}, - "west": {"uv": [5, 7, 5.5, 10.5], "texture": "#0"}, - "up": {"uv": [10, 8, 9.5, 7.5], "texture": "#0"}, - "down": {"uv": [10, 8, 9.5, 8.5], "texture": "#0"} - } - }, - { - "name": "south_east", - "from": [10, 0, 10], - "to": [11, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 10]}, - "faces": { - "north": {"uv": [5.5, 7, 6, 10.5], "texture": "#0"}, - "east": {"uv": [7, 5.5, 7.5, 9], "texture": "#0"}, - "south": {"uv": [0, 7.5, 0.5, 11], "texture": "#0"}, - "west": {"uv": [0.5, 7.5, 1, 11], "texture": "#0"}, - "up": {"uv": [10, 9, 9.5, 8.5], "texture": "#0"}, - "down": {"uv": [9.5, 9.5, 9, 10], "texture": "#0"} - } - }, - { - "name": "south_west", - "from": [5, 0, 10], - "to": [6, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 10]}, - "faces": { - "north": {"uv": [1, 7.5, 1.5, 11], "texture": "#0"}, - "east": {"uv": [1.5, 7.5, 2, 11], "texture": "#0"}, - "south": {"uv": [2, 7.5, 2.5, 11], "texture": "#0"}, - "west": {"uv": [7.5, 2, 8, 5.5], "texture": "#0"}, - "up": {"uv": [10, 10, 9.5, 9.5], "texture": "#0"}, - "down": {"uv": [10.5, 0, 10, 0.5], "texture": "#0"} - } - }, - { - "name": "north", - "from": [6, 6, 5], - "to": [10, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 5]}, - "faces": { - "north": {"uv": [7.5, 5.5, 9.5, 6], "texture": "#0"}, - "south": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#0"}, - "up": {"uv": [9.5, 7, 7.5, 6.5], "texture": "#0"}, - "down": {"uv": [9.5, 7, 7.5, 7.5], "texture": "#0"} - } - }, - { - "name": "east", - "from": [10, 6, 6], - "to": [11, 7, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 6, 6]}, - "faces": { - "east": {"uv": [7.5, 7.5, 9.5, 8], "texture": "#0"}, - "west": {"uv": [8, 0, 10, 0.5], "texture": "#0"}, - "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#0"}, - "down": {"uv": [3.5, 7.5, 3, 9.5], "texture": "#0"} - } - }, - { - "name": "south", - "from": [6, 6, 10], - "to": [10, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 10]}, - "faces": { - "north": {"uv": [8, 0.5, 10, 1], "texture": "#0"}, - "south": {"uv": [8, 1, 10, 1.5], "texture": "#0"}, - "up": {"uv": [10, 2, 8, 1.5], "texture": "#0"}, - "down": {"uv": [10, 2, 8, 2.5], "texture": "#0"} - } - }, - { - "name": "west", - "from": [5, 6, 6], - "to": [6, 7, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 6, 6]}, - "faces": { - "east": {"uv": [8, 2.5, 10, 3], "texture": "#0"}, - "west": {"uv": [8, 3, 10, 3.5], "texture": "#0"}, - "up": {"uv": [4, 9.5, 3.5, 7.5], "texture": "#0"}, - "down": {"uv": [8.5, 3.5, 8, 5.5], "texture": "#0"} - } - }, - { - "name": "north", - "from": [6, 0, 5], - "to": [10, 1, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, - "faces": { - "north": {"uv": [7.5, 8, 9.5, 8.5], "texture": "#0"}, - "south": {"uv": [8.5, 3.5, 10.5, 4], "texture": "#0"}, - "up": {"uv": [10.5, 4.5, 8.5, 4], "texture": "#0"}, - "down": {"uv": [10.5, 4.5, 8.5, 5], "texture": "#0"} - } - }, - { - "name": "east", - "from": [10, 0, 6], - "to": [11, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 6]}, - "faces": { - "east": {"uv": [8.5, 5, 10.5, 5.5], "texture": "#0"}, - "west": {"uv": [7.5, 8.5, 9.5, 9], "texture": "#0"}, - "up": {"uv": [6.5, 11, 6, 9], "texture": "#0"}, - "down": {"uv": [7, 9, 6.5, 11], "texture": "#0"} - } - }, - { - "name": "south", - "from": [6, 0, 10], - "to": [10, 1, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 10]}, - "faces": { - "north": {"uv": [7, 9, 9, 9.5], "texture": "#0"}, - "south": {"uv": [9, 9, 11, 9.5], "texture": "#0"}, - "up": {"uv": [11.5, 6, 9.5, 5.5], "texture": "#0"}, - "down": {"uv": [11.5, 6, 9.5, 6.5], "texture": "#0"} - } - }, - { - "name": "west", - "from": [5, 0, 6], - "to": [6, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 6]}, - "faces": { - "east": {"uv": [9.5, 6.5, 11.5, 7], "texture": "#0"}, - "west": {"uv": [7, 9.5, 9, 10], "texture": "#0"}, - "up": {"uv": [3, 11.5, 2.5, 9.5], "texture": "#0"}, - "down": {"uv": [3.5, 9.5, 3, 11.5], "texture": "#0"} - } - }, - { - "name": "bottom", - "from": [6, 0, 6], - "to": [10, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, - "faces": { - "up": {"uv": [6, 7, 4, 5], "texture": "#0"}, - "down": {"uv": [8, 0, 6, 2], "texture": "#0"} - } - }, - { - "name": "west", - "from": [5, 1, 6], - "to": [6, 6, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 6]}, - "faces": { - "east": {"uv": [0, 0, 2, 2.5], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2.5], "texture": "#0"} - } - }, - { - "name": "east", - "from": [10, 1, 6], - "to": [11, 6, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 6]}, - "faces": { - "east": {"uv": [0, 2.5, 2, 5], "texture": "#0"}, - "west": {"uv": [2, 2.5, 4, 5], "texture": "#0"} - } - }, - { - "name": "north", - "from": [6, 1, 5], - "to": [10, 6, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 5]}, - "faces": { - "north": {"uv": [4, 0, 6, 2.5], "texture": "#0"}, - "south": {"uv": [4, 2.5, 6, 5], "texture": "#0"} - } - }, - { - "name": "south", - "from": [6, 1, 10], - "to": [10, 6, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 10]}, - "faces": { - "north": {"uv": [0, 5, 2, 7.5], "texture": "#0"}, - "south": {"uv": [2, 5, 4, 7.5], "texture": "#0"} - } - } - ], - "display": { - "thirdperson_righthand": { - "translation": [0, 5.25, 1.5], - "scale": [0.67, 0.67, 0.67] - }, - "thirdperson_lefthand": { - "translation": [0, 5.25, 1.5], - "scale": [0.67, 0.67, 0.67] - }, - "firstperson_righthand": { - "translation": [0, 6, 0], - "scale": [0.8, 0.8, 0.8] - }, - "firstperson_lefthand": { - "translation": [0, 6, 0], - "scale": [0.8, 0.8, 0.8] - }, - "ground": { - "translation": [0, 3.5, 0], - "scale": [0.68, 0.68, 0.68] - }, - "gui": { - "rotation": [22.5, -22.5, 0], - "translation": [0, 3.5, 0] - }, - "head": { - "translation": [0, 14.5, 0] - }, - "on_shelf": { - "scale": [1.87, 1.87, 1.87] - } - }, - "groups": [ - { - "name": "edges", - "origin": [8, 8, 8], - "color": 0, - "children": [0, 1, 2, 3] - }, - { - "name": "top_edges", - "origin": [8, 8, 8], - "color": 0, - "children": [4, 5, 6, 7] - }, - { - "name": "bottom_edges", - "origin": [8, 8, 8], - "color": 0, - "children": [8, 9, 10, 11] - }, - { - "name": "faces", - "origin": [8, 8, 8], - "color": 0, - "children": [12, 13, 14, 15, 16] - } - ] + "variants": { + "facing=north": { + "model": "lemonmates:block/lemonade_glass" + }, + "facing=south": { + "model": "lemonmates:block/lemonade_glass", + "y": 180 + }, + "facing=east": { + "model": "lemonmates:block/lemonade_glass", + "y": 90 + }, + "facing=west": { + "model": "lemonmates:block/lemonade_glass", + "y": 270 + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_fluid_full.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_fluid_full.json deleted file mode 100644 index 9177afd..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_fluid_full.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" - }, - "elements": [ - { - "name": "fluid", - "from": [6, 1, 6], - "to": [10, 6, 10], - "faces": { - "north": {"uv": [4, 0, 8, 3], "texture": "#0"}, - "east": {"uv": [4, 3, 8, 6], "texture": "#0"}, - "south": {"uv": [4, 6, 8, 9], "texture": "#0"}, - "west": {"uv": [0, 8, 4, 11], "texture": "#0"}, - "up": {"uv": [4, 4, 0, 0], "texture": "#0"}, - "down": {"uv": [4, 4, 0, 8], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_fluid_half.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_fluid_half.json deleted file mode 100644 index 7cda112..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_fluid_half.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" - }, - "elements": [ - { - "name": "fluid", - "from": [6, 1, 6], - "to": [10, 4, 10], - "faces": { - "north": {"uv": [4, 0, 8, 3], "texture": "#0"}, - "east": {"uv": [4, 3, 8, 6], "texture": "#0"}, - "south": {"uv": [4, 6, 8, 9], "texture": "#0"}, - "west": {"uv": [0, 8, 4, 11], "texture": "#0"}, - "up": {"uv": [4, 4, 0, 0], "texture": "#0"}, - "down": {"uv": [4, 4, 0, 8], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/orange_slice.json b/src/main/resources/assets/lemonmates/blockstates/orange_slice.json deleted file mode 100644 index 7028b19..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/orange_slice.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "item/lemonade_glass_orange_slice", - "particle": "item/lemonade_glass_orange_slice" - }, - "elements": [ - { - "name": "slice_peel", - "from": [3, 5.5, 8], - "to": [4, 8.5, 9], - "rotation": {"angle": -22.5, "axis": "z", "origin": [5, 6.5, 8]}, - "faces": { - "north": {"uv": [3, 1, 4, 4], "texture": "#0"}, - "south": {"uv": [0, 5, 1, 8], "texture": "#0"}, - "west": {"uv": [4, 5, 5, 8], "texture": "#0"}, - "up": {"uv": [6, 1, 5, 0], "texture": "#0"}, - "down": {"uv": [6, 1, 5, 2], "texture": "#0"} - } - }, - { - "name": "slice_center", - "from": [4, 5.5, 8], - "to": [7, 9.5, 9], - "rotation": {"angle": -22.5, "axis": "z", "origin": [5, 6.5, 8]}, - "faces": { - "north": {"uv": [0, 0, 3, 4], "texture": "#0"}, - "east": {"uv": [4, 0, 5, 4], "texture": "#0"}, - "south": {"uv": [1, 4, 4, 8], "texture": "#0"}, - "west": {"uv": [4, 4, 5, 8], "texture": "#0"}, - "up": {"uv": [6, 1, 9, 0], "texture": "#0"}, - "down": {"uv": [6, 1, 9, 2], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/straw_3.json b/src/main/resources/assets/lemonmates/blockstates/straw_3.json deleted file mode 100644 index eb72f2d..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/straw_3.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "item/straw_3", - "particle": "item/straw_3" - }, - "elements": [ - { - "name": "bottom", - "from": [8, 1, 9], - "to": [9, 4, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 6, 1, 9], "texture": "#0"}, - "east": {"uv": [0, 6, 1, 9], "texture": "#0"}, - "south": {"uv": [0, 6, 1, 9], "texture": "#0"}, - "west": {"uv": [0, 6, 1, 9], "texture": "#0"}, - "down": {"uv": [2, 1, 1, 2], "texture": "#0"} - } - }, - { - "name": "middle", - "from": [8, 4, 9], - "to": [9, 7, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 3, 1, 6], "texture": "#0"}, - "east": {"uv": [0, 3, 1, 6], "texture": "#0"}, - "south": {"uv": [0, 3, 1, 6], "texture": "#0"}, - "west": {"uv": [0, 3, 1, 6], "texture": "#0"} - } - }, - { - "name": "top", - "from": [8, 7, 9], - "to": [9, 10, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#0"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#0"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#0"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#0"}, - "up": {"uv": [2, 1, 1, 0], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/straw_4.json b/src/main/resources/assets/lemonmates/blockstates/straw_4.json deleted file mode 100644 index a67956c..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/straw_4.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "item/straw_4", - "particle": "item/straw_4" - }, - "elements": [ - { - "name": "bottom", - "from": [8, 1, 9], - "to": [9, 3.25, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 6, 1, 8], "texture": "#0"}, - "east": {"uv": [0, 6, 1, 8], "texture": "#0"}, - "south": {"uv": [0, 6, 1, 8], "texture": "#0"}, - "west": {"uv": [0, 6, 1, 8], "texture": "#0"}, - "down": {"uv": [2, 1, 1, 2], "texture": "#0"} - } - }, - { - "name": "middle_bottom", - "from": [8, 3.25, 9], - "to": [9, 5.5, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 4, 1, 6], "texture": "#0"}, - "east": {"uv": [0, 4, 1, 6], "texture": "#0"}, - "south": {"uv": [0, 4, 1, 6], "texture": "#0"}, - "west": {"uv": [0, 4, 1, 6], "texture": "#0"} - } - }, - { - "name": "middle_top", - "from": [8, 5.5, 9], - "to": [9, 7.75, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 2, 1, 4], "texture": "#0"}, - "east": {"uv": [0, 2, 1, 4], "texture": "#0"}, - "south": {"uv": [0, 2, 1, 4], "texture": "#0"}, - "west": {"uv": [0, 2, 1, 4], "texture": "#0"} - } - }, - { - "name": "top", - "from": [8, 7.75, 9], - "to": [9, 10, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 0, 1, 2], "texture": "#0"}, - "east": {"uv": [0, 0, 1, 2], "texture": "#0"}, - "south": {"uv": [0, 0, 1, 2], "texture": "#0"}, - "west": {"uv": [0, 0, 1, 2], "texture": "#0"}, - "up": {"uv": [2, 1, 1, 0], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/straw_5.json b/src/main/resources/assets/lemonmates/blockstates/straw_5.json deleted file mode 100644 index f2f1f15..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/straw_5.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "item/straw_5", - "particle": "item/straw_5" - }, - "elements": [ - { - "name": "bottom", - "from": [8, 1, 9], - "to": [9, 2.8, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 8.2, 1, 10], "texture": "#0"}, - "east": {"uv": [0, 8.2, 1, 10], "texture": "#0"}, - "south": {"uv": [0, 8.2, 1, 10], "texture": "#0"}, - "west": {"uv": [0, 8.2, 1, 10], "texture": "#0"}, - "down": {"uv": [2, 1, 1, 2], "texture": "#0"} - } - }, - { - "name": "middle_bottom", - "from": [8, 2.8, 9], - "to": [9, 4.6, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 6.2, 1, 8], "texture": "#0"}, - "east": {"uv": [0, 6.2, 1, 8], "texture": "#0"}, - "south": {"uv": [0, 6.2, 1, 8], "texture": "#0"}, - "west": {"uv": [0, 6.2, 1, 8], "texture": "#0"} - } - }, - { - "name": "middle", - "from": [8, 4.6, 9], - "to": [9, 6.4, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 4.2, 1, 6], "texture": "#0"}, - "east": {"uv": [0, 4.2, 1, 6], "texture": "#0"}, - "south": {"uv": [0, 4.2, 1, 6], "texture": "#0"}, - "west": {"uv": [0, 4.2, 1, 6], "texture": "#0"} - } - }, - { - "name": "middle_top", - "from": [8, 6.4, 9], - "to": [9, 8.2, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 2.2, 1, 4], "texture": "#0"}, - "east": {"uv": [0, 2.2, 1, 4], "texture": "#0"}, - "south": {"uv": [0, 2.2, 1, 4], "texture": "#0"}, - "west": {"uv": [0, 2.2, 1, 4], "texture": "#0"} - } - }, - { - "name": "top", - "from": [8, 8.2, 9], - "to": [9, 10, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 0.2, 1, 2], "texture": "#0"}, - "east": {"uv": [0, 0.2, 1, 2], "texture": "#0"}, - "south": {"uv": [0, 0.2, 1, 2], "texture": "#0"}, - "west": {"uv": [0, 0.2, 1, 2], "texture": "#0"}, - "up": {"uv": [2, 1, 1, 0], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/straw_6.json b/src/main/resources/assets/lemonmates/blockstates/straw_6.json deleted file mode 100644 index 2f590fa..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/straw_6.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "item/straw_6", - "particle": "item/straw_6" - }, - "elements": [ - { - "name": "bottom", - "from": [8, 1, 9], - "to": [9, 2.5, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 10.5, 1, 12], "texture": "#0"}, - "east": {"uv": [0, 10.5, 1, 12], "texture": "#0"}, - "south": {"uv": [0, 10.5, 1, 12], "texture": "#0"}, - "west": {"uv": [0, 10.5, 1, 12], "texture": "#0"}, - "down": {"uv": [2, 1, 1, 2], "texture": "#0"} - } - }, - { - "name": "middle_bottom_1", - "from": [8, 2.5, 9], - "to": [9, 4, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 8.5, 1, 10], "texture": "#0"}, - "east": {"uv": [0, 8.5, 1, 10], "texture": "#0"}, - "south": {"uv": [0, 8.5, 1, 10], "texture": "#0"}, - "west": {"uv": [0, 8.5, 1, 10], "texture": "#0"} - } - }, - { - "name": "middle_bottom_2", - "from": [8, 4, 9], - "to": [9, 5.5, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 6.5, 1, 8], "texture": "#0"}, - "east": {"uv": [0, 6.5, 1, 8], "texture": "#0"}, - "south": {"uv": [0, 6.5, 1, 8], "texture": "#0"}, - "west": {"uv": [0, 6.5, 1, 8], "texture": "#0"} - } - }, - { - "name": "middle_top_1", - "from": [8, 5.5, 9], - "to": [9, 7, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 4.5, 1, 6], "texture": "#0"}, - "east": {"uv": [0, 4.5, 1, 6], "texture": "#0"}, - "south": {"uv": [0, 4.5, 1, 6], "texture": "#0"}, - "west": {"uv": [0, 4.5, 1, 6], "texture": "#0"} - } - }, - { - "name": "middle_top_2", - "from": [8, 7, 9], - "to": [9, 8.5, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 2.5, 1, 4], "texture": "#0"}, - "east": {"uv": [0, 2.5, 1, 4], "texture": "#0"}, - "south": {"uv": [0, 2.5, 1, 4], "texture": "#0"}, - "west": {"uv": [0, 2.5, 1, 4], "texture": "#0"} - } - }, - { - "name": "top", - "from": [8, 8.5, 9], - "to": [9, 10, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 0.5, 1, 2], "texture": "#0"}, - "east": {"uv": [0, 0.5, 1, 2], "texture": "#0"}, - "south": {"uv": [0, 0.5, 1, 2], "texture": "#0"}, - "west": {"uv": [0, 0.5, 1, 2], "texture": "#0"}, - "up": {"uv": [2, 1, 1, 0], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/umbrella.json b/src/main/resources/assets/lemonmates/blockstates/umbrella.json deleted file mode 100644 index b9693b0..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/umbrella.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "1": "item/umbrella_8" - }, - "elements": [ - { - "name": "shaft", - "from": [9, 5, 5.5], - "to": [10, 10, 6.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#1"}, - "east": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#1"}, - "south": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#1"}, - "west": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#1"}, - "up": {"uv": [6, 4, 5, 3], "texture": "#1"}, - "down": {"uv": [6, 3, 5, 4], "texture": "#1"} - } - }, - { - "name": "top", - "from": [7, 9.5, 3.5], - "to": [12, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [1, 0, 6, 0], "texture": "#1"}, - "east": {"uv": [0, 0, 5, 0], "texture": "#1"}, - "south": {"uv": [0, 0, 5, 0], "texture": "#1"}, - "west": {"uv": [0, 0, 5, 0], "texture": "#1"}, - "up": {"uv": [5, 5, 0, 0], "texture": "#1"}, - "down": {"uv": [5, 0, 0, 5], "texture": "#1"} - } - }, - { - "name": "north", - "from": [7, 8.5, 3.5], - "to": [12, 9.5, 3.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [5, 0, 10, 1], "texture": "#1"}, - "east": {"uv": [5, 0, 5, 1], "texture": "#1"}, - "south": {"uv": [10, 0, 5, 1], "texture": "#1"}, - "west": {"uv": [0, 0, 0, 1], "texture": "#1"}, - "up": {"uv": [0, 0, 5, 0], "texture": "#1"}, - "down": {"uv": [0, 5, 5, 5], "texture": "#1"} - } - }, - { - "name": "south", - "from": [7, 8.5, 8.5], - "to": [12, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [10, 0, 5, 1], "texture": "#1"}, - "east": {"uv": [5, 0, 5, 1], "texture": "#1"}, - "south": {"uv": [5, 0, 10, 1], "texture": "#1"}, - "west": {"uv": [0, 0, 0, 1], "texture": "#1"}, - "up": {"uv": [0, 0, 5, 0], "texture": "#1"}, - "down": {"uv": [0, 5, 5, 5], "texture": "#1"} - } - }, - { - "name": "west", - "from": [7, 8.5, 3.5], - "to": [7, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [6, 0, 6, 1], "texture": "#1"}, - "east": {"uv": [10, 1, 5, 2], "texture": "#1"}, - "south": {"uv": [0, 0, 0, 1], "texture": "#1"}, - "west": {"uv": [5, 1, 10, 2], "texture": "#1"}, - "up": {"uv": [0, 2, 0, 7], "texture": "#1"}, - "down": {"uv": [0, 5, 0, 10], "texture": "#1"} - } - }, - { - "name": "east", - "from": [12, 8.5, 3.5], - "to": [12, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [6, 0, 6, 1], "texture": "#1"}, - "east": {"uv": [5, 1, 10, 2], "texture": "#1"}, - "south": {"uv": [0, 0, 0, 1], "texture": "#1"}, - "west": {"uv": [10, 1, 5, 2], "texture": "#1"}, - "up": {"uv": [0, 2, 0, 7], "texture": "#1"}, - "down": {"uv": [0, 5, 0, 10], "texture": "#1"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - }, - "groups": [ - 0, - { - "name": "umbrella_panels", - "origin": [8.5, 6, 11], - "color": 0, - "children": [1, 2, 3, 4, 5] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/lang/en_US.json b/src/main/resources/assets/lemonmates/lang/en_US.json index efcee93..0b5c452 100644 --- a/src/main/resources/assets/lemonmates/lang/en_US.json +++ b/src/main/resources/assets/lemonmates/lang/en_US.json @@ -96,7 +96,7 @@ "block.lemonmates.citron_crate": "Citron Crate", "block.lemonmates.raspberry_crate": "Raspberry Crate", - "block.lemonmates.drinking_glass_fluid": "Glass with Lemonade", + "block.lemonmates.lemonade_glass": "Lemonade Glass", "item.lemonmates.citron_lemonade_bucket": "Citron Lemonade Bucket", "item.lemonmates.orange_lemonade_bucket": "Orange Lemonade Bucket", diff --git a/src/main/resources/assets/lemonmates/models/block/lemon_slice.json b/src/main/resources/assets/lemonmates/models/block/lemon_slice.json new file mode 100644 index 0000000..99edff2 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemon_slice.json @@ -0,0 +1,43 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "l0": "lemonmates:block/lemonade_glass_lemon_slice", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "slice_peel", + "from": [3, 5.5, 8], + "to": [4, 8.5, 9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [5, 6.5, 8]}, + "faces": { + "north": {"uv": [3, 1, 4, 4], "texture": "#l0"}, + "south": {"uv": [0, 5, 1, 8], "texture": "#l0"}, + "west": {"uv": [4, 5, 5, 8], "texture": "#l0"}, + "up": {"uv": [6, 1, 5, 0], "texture": "#l0"}, + "down": {"uv": [6, 1, 5, 2], "texture": "#l0"} + } + }, + { + "name": "slice_center", + "from": [4, 5.5, 8], + "to": [7, 9.5, 9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [5, 6.5, 8]}, + "faces": { + "north": {"uv": [0, 0, 3, 4], "texture": "#l0"}, + "east": {"uv": [4, 0, 5, 4], "texture": "#l0"}, + "south": {"uv": [1, 4, 4, 8], "texture": "#l0"}, + "west": {"uv": [4, 4, 5, 8], "texture": "#l0"}, + "up": {"uv": [9, 1, 6, 0], "texture": "#l0"}, + "down": {"uv": [6, 1, 9, 2], "texture": "#l0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/drinking_glass_fluid.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass.json similarity index 51% rename from src/main/resources/assets/lemonmates/models/block/drinking_glass_fluid.json rename to src/main/resources/assets/lemonmates/models/block/lemonade_glass.json index 82df1cf..fdc4b43 100644 --- a/src/main/resources/assets/lemonmates/models/block/drinking_glass_fluid.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass.json @@ -2,8 +2,9 @@ "format_version": "1.9.0", "credit": "Made with Blockbench", "texture_size": [32, 32], + "render_type": "minecraft:translucent", "textures": { - "0": "lemonmates:item/lemonade_glass", + "g0": "lemonmates:item/lemonade_glass", "particle": "lemonmates:item/lemonade_glass" }, "elements": [ @@ -13,12 +14,12 @@ "to": [6, 7, 6], "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 5]}, "faces": { - "north": {"uv": [6, 2, 6.5, 5.5], "texture": "#0"}, - "east": {"uv": [6, 5.5, 6.5, 9], "texture": "#0"}, - "south": {"uv": [6.5, 2, 7, 5.5], "texture": "#0"}, - "west": {"uv": [6.5, 5.5, 7, 9], "texture": "#0"}, - "up": {"uv": [4, 10, 3.5, 9.5], "texture": "#0"}, - "down": {"uv": [10, 7, 9.5, 7.5], "texture": "#0"} + "north": {"uv": [6, 2, 6.5, 5.5], "texture": "#g0"}, + "east": {"uv": [6, 5.5, 6.5, 9], "texture": "#g0"}, + "south": {"uv": [6.5, 2, 7, 5.5], "texture": "#g0"}, + "west": {"uv": [6.5, 5.5, 7, 9], "texture": "#g0"}, + "up": {"uv": [4, 10, 3.5, 9.5], "texture": "#g0"}, + "down": {"uv": [10, 7, 9.5, 7.5], "texture": "#g0"} } }, { @@ -27,12 +28,12 @@ "to": [11, 7, 6], "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 5]}, "faces": { - "north": {"uv": [7, 2, 7.5, 5.5], "texture": "#0"}, - "east": {"uv": [4, 7, 4.5, 10.5], "texture": "#0"}, - "south": {"uv": [4.5, 7, 5, 10.5], "texture": "#0"}, - "west": {"uv": [5, 7, 5.5, 10.5], "texture": "#0"}, - "up": {"uv": [10, 8, 9.5, 7.5], "texture": "#0"}, - "down": {"uv": [10, 8, 9.5, 8.5], "texture": "#0"} + "north": {"uv": [7, 2, 7.5, 5.5], "texture": "#g0"}, + "east": {"uv": [4, 7, 4.5, 10.5], "texture": "#g0"}, + "south": {"uv": [4.5, 7, 5, 10.5], "texture": "#g0"}, + "west": {"uv": [5, 7, 5.5, 10.5], "texture": "#g0"}, + "up": {"uv": [10, 8, 9.5, 7.5], "texture": "#g0"}, + "down": {"uv": [10, 8, 9.5, 8.5], "texture": "#g0"} } }, { @@ -41,12 +42,12 @@ "to": [11, 7, 11], "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 10]}, "faces": { - "north": {"uv": [5.5, 7, 6, 10.5], "texture": "#0"}, - "east": {"uv": [7, 5.5, 7.5, 9], "texture": "#0"}, - "south": {"uv": [0, 7.5, 0.5, 11], "texture": "#0"}, - "west": {"uv": [0.5, 7.5, 1, 11], "texture": "#0"}, - "up": {"uv": [10, 9, 9.5, 8.5], "texture": "#0"}, - "down": {"uv": [9.5, 9.5, 9, 10], "texture": "#0"} + "north": {"uv": [5.5, 7, 6, 10.5], "texture": "#g0"}, + "east": {"uv": [7, 5.5, 7.5, 9], "texture": "#g0"}, + "south": {"uv": [0, 7.5, 0.5, 11], "texture": "#g0"}, + "west": {"uv": [0.5, 7.5, 1, 11], "texture": "#g0"}, + "up": {"uv": [10, 9, 9.5, 8.5], "texture": "#g0"}, + "down": {"uv": [9.5, 9.5, 9, 10], "texture": "#g0"} } }, { @@ -55,12 +56,12 @@ "to": [6, 7, 11], "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 10]}, "faces": { - "north": {"uv": [1, 7.5, 1.5, 11], "texture": "#0"}, - "east": {"uv": [1.5, 7.5, 2, 11], "texture": "#0"}, - "south": {"uv": [2, 7.5, 2.5, 11], "texture": "#0"}, - "west": {"uv": [7.5, 2, 8, 5.5], "texture": "#0"}, - "up": {"uv": [10, 10, 9.5, 9.5], "texture": "#0"}, - "down": {"uv": [10.5, 0, 10, 0.5], "texture": "#0"} + "north": {"uv": [1, 7.5, 1.5, 11], "texture": "#g0"}, + "east": {"uv": [1.5, 7.5, 2, 11], "texture": "#g0"}, + "south": {"uv": [2, 7.5, 2.5, 11], "texture": "#g0"}, + "west": {"uv": [7.5, 2, 8, 5.5], "texture": "#g0"}, + "up": {"uv": [10, 10, 9.5, 9.5], "texture": "#g0"}, + "down": {"uv": [10.5, 0, 10, 0.5], "texture": "#g0"} } }, { @@ -69,10 +70,10 @@ "to": [10, 7, 6], "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 5]}, "faces": { - "north": {"uv": [7.5, 5.5, 9.5, 6], "texture": "#0"}, - "south": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#0"}, - "up": {"uv": [9.5, 7, 7.5, 6.5], "texture": "#0"}, - "down": {"uv": [9.5, 7, 7.5, 7.5], "texture": "#0"} + "north": {"uv": [7.5, 5.5, 9.5, 6], "texture": "#g0"}, + "south": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#g0"}, + "up": {"uv": [9.5, 7, 7.5, 6.5], "texture": "#g0"}, + "down": {"uv": [9.5, 7, 7.5, 7.5], "texture": "#g0"} } }, { @@ -81,10 +82,10 @@ "to": [11, 7, 10], "rotation": {"angle": 0, "axis": "y", "origin": [10, 6, 6]}, "faces": { - "east": {"uv": [7.5, 7.5, 9.5, 8], "texture": "#0"}, - "west": {"uv": [8, 0, 10, 0.5], "texture": "#0"}, - "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#0"}, - "down": {"uv": [3.5, 7.5, 3, 9.5], "texture": "#0"} + "east": {"uv": [7.5, 7.5, 9.5, 8], "texture": "#g0"}, + "west": {"uv": [8, 0, 10, 0.5], "texture": "#g0"}, + "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#g0"}, + "down": {"uv": [3.5, 7.5, 3, 9.5], "texture": "#g0"} } }, { @@ -93,10 +94,10 @@ "to": [10, 7, 11], "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 10]}, "faces": { - "north": {"uv": [8, 0.5, 10, 1], "texture": "#0"}, - "south": {"uv": [8, 1, 10, 1.5], "texture": "#0"}, - "up": {"uv": [10, 2, 8, 1.5], "texture": "#0"}, - "down": {"uv": [10, 2, 8, 2.5], "texture": "#0"} + "north": {"uv": [8, 0.5, 10, 1], "texture": "#g0"}, + "south": {"uv": [8, 1, 10, 1.5], "texture": "#g0"}, + "up": {"uv": [10, 2, 8, 1.5], "texture": "#g0"}, + "down": {"uv": [10, 2, 8, 2.5], "texture": "#g0"} } }, { @@ -105,10 +106,10 @@ "to": [6, 7, 10], "rotation": {"angle": 0, "axis": "y", "origin": [5, 6, 6]}, "faces": { - "east": {"uv": [8, 2.5, 10, 3], "texture": "#0"}, - "west": {"uv": [8, 3, 10, 3.5], "texture": "#0"}, - "up": {"uv": [4, 9.5, 3.5, 7.5], "texture": "#0"}, - "down": {"uv": [8.5, 3.5, 8, 5.5], "texture": "#0"} + "east": {"uv": [8, 2.5, 10, 3], "texture": "#g0"}, + "west": {"uv": [8, 3, 10, 3.5], "texture": "#g0"}, + "up": {"uv": [4, 9.5, 3.5, 7.5], "texture": "#g0"}, + "down": {"uv": [8.5, 3.5, 8, 5.5], "texture": "#g0"} } }, { @@ -117,10 +118,10 @@ "to": [10, 1, 6], "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, "faces": { - "north": {"uv": [7.5, 8, 9.5, 8.5], "texture": "#0"}, - "south": {"uv": [8.5, 3.5, 10.5, 4], "texture": "#0"}, - "up": {"uv": [10.5, 4.5, 8.5, 4], "texture": "#0"}, - "down": {"uv": [10.5, 4.5, 8.5, 5], "texture": "#0"} + "north": {"uv": [7.5, 8, 9.5, 8.5], "texture": "#g0"}, + "south": {"uv": [8.5, 3.5, 10.5, 4], "texture": "#g0"}, + "up": {"uv": [10.5, 4.5, 8.5, 4], "texture": "#g0"}, + "down": {"uv": [10.5, 4.5, 8.5, 5], "texture": "#g0"} } }, { @@ -129,10 +130,10 @@ "to": [11, 1, 10], "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 6]}, "faces": { - "east": {"uv": [8.5, 5, 10.5, 5.5], "texture": "#0"}, - "west": {"uv": [7.5, 8.5, 9.5, 9], "texture": "#0"}, - "up": {"uv": [6.5, 11, 6, 9], "texture": "#0"}, - "down": {"uv": [7, 9, 6.5, 11], "texture": "#0"} + "east": {"uv": [8.5, 5, 10.5, 5.5], "texture": "#g0"}, + "west": {"uv": [7.5, 8.5, 9.5, 9], "texture": "#g0"}, + "up": {"uv": [6.5, 11, 6, 9], "texture": "#g0"}, + "down": {"uv": [7, 9, 6.5, 11], "texture": "#g0"} } }, { @@ -141,10 +142,10 @@ "to": [10, 1, 11], "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 10]}, "faces": { - "north": {"uv": [7, 9, 9, 9.5], "texture": "#0"}, - "south": {"uv": [9, 9, 11, 9.5], "texture": "#0"}, - "up": {"uv": [11.5, 6, 9.5, 5.5], "texture": "#0"}, - "down": {"uv": [11.5, 6, 9.5, 6.5], "texture": "#0"} + "north": {"uv": [7, 9, 9, 9.5], "texture": "#g0"}, + "south": {"uv": [9, 9, 11, 9.5], "texture": "#g0"}, + "up": {"uv": [11.5, 6, 9.5, 5.5], "texture": "#g0"}, + "down": {"uv": [11.5, 6, 9.5, 6.5], "texture": "#g0"} } }, { @@ -153,10 +154,10 @@ "to": [6, 1, 10], "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 6]}, "faces": { - "east": {"uv": [9.5, 6.5, 11.5, 7], "texture": "#0"}, - "west": {"uv": [7, 9.5, 9, 10], "texture": "#0"}, - "up": {"uv": [3, 11.5, 2.5, 9.5], "texture": "#0"}, - "down": {"uv": [3.5, 9.5, 3, 11.5], "texture": "#0"} + "east": {"uv": [9.5, 6.5, 11.5, 7], "texture": "#g0"}, + "west": {"uv": [7, 9.5, 9, 10], "texture": "#g0"}, + "up": {"uv": [3, 11.5, 2.5, 9.5], "texture": "#g0"}, + "down": {"uv": [3.5, 9.5, 3, 11.5], "texture": "#g0"} } }, { @@ -165,8 +166,8 @@ "to": [10, 1, 10], "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, "faces": { - "up": {"uv": [6, 7, 4, 5], "texture": "#0"}, - "down": {"uv": [8, 0, 6, 2], "texture": "#0"} + "up": {"uv": [6, 7, 4, 5], "texture": "#g0"}, + "down": {"uv": [8, 0, 6, 2], "texture": "#g0"} } }, { @@ -175,8 +176,8 @@ "to": [6, 6, 10], "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 6]}, "faces": { - "east": {"uv": [0, 0, 2, 2.5], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2.5], "texture": "#0"} + "east": {"uv": [0, 0, 2, 2.5], "texture": "#g0"}, + "west": {"uv": [2, 0, 4, 2.5], "texture": "#g0"} } }, { @@ -185,8 +186,8 @@ "to": [11, 6, 10], "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 6]}, "faces": { - "east": {"uv": [0, 2.5, 2, 5], "texture": "#0"}, - "west": {"uv": [2, 2.5, 4, 5], "texture": "#0"} + "east": {"uv": [0, 2.5, 2, 5], "texture": "#g0"}, + "west": {"uv": [2, 2.5, 4, 5], "texture": "#g0"} } }, { @@ -195,8 +196,8 @@ "to": [10, 6, 6], "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 5]}, "faces": { - "north": {"uv": [4, 0, 6, 2.5], "texture": "#0"}, - "south": {"uv": [4, 2.5, 6, 5], "texture": "#0"} + "north": {"uv": [4, 0, 6, 2.5], "texture": "#g0"}, + "south": {"uv": [4, 2.5, 6, 5], "texture": "#g0"} } }, { @@ -205,8 +206,8 @@ "to": [10, 6, 11], "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 10]}, "faces": { - "north": {"uv": [0, 5, 2, 7.5], "texture": "#0"}, - "south": {"uv": [2, 5, 4, 7.5], "texture": "#0"} + "north": {"uv": [0, 5, 2, 7.5], "texture": "#g0"}, + "south": {"uv": [2, 5, 4, 7.5], "texture": "#g0"} } } ], diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full.json new file mode 100644 index 0000000..7c108f2 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f0": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f0"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f0"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f0"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f0"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f0"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half.json new file mode 100644 index 0000000..e88f8e9 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f1": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f1"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f1"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f1"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f1"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f1"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/orange_slice.json b/src/main/resources/assets/lemonmates/models/block/orange_slice.json new file mode 100644 index 0000000..508b376 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/orange_slice.json @@ -0,0 +1,43 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "o0": "lemonmates:block/lemonade_glass_orange_slice", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "slice_peel", + "from": [3, 5.5, 8], + "to": [4, 8.5, 9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [5, 6.5, 8]}, + "faces": { + "north": {"uv": [3, 1, 4, 4], "texture": "#o0"}, + "south": {"uv": [0, 5, 1, 8], "texture": "#o0"}, + "west": {"uv": [4, 5, 5, 8], "texture": "#o0"}, + "up": {"uv": [6, 1, 5, 0], "texture": "#o0"}, + "down": {"uv": [6, 1, 5, 2], "texture": "#o0"} + } + }, + { + "name": "slice_center", + "from": [4, 5.5, 8], + "to": [7, 9.5, 9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [5, 6.5, 8]}, + "faces": { + "north": {"uv": [0, 0, 3, 4], "texture": "#o0"}, + "east": {"uv": [4, 0, 5, 4], "texture": "#o0"}, + "south": {"uv": [1, 4, 4, 8], "texture": "#o0"}, + "west": {"uv": [4, 4, 5, 8], "texture": "#o0"}, + "up": {"uv": [6, 1, 9, 0], "texture": "#o0"}, + "down": {"uv": [6, 1, 9, 2], "texture": "#o0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/stick.json b/src/main/resources/assets/lemonmates/models/block/stick.json similarity index 59% rename from src/main/resources/assets/lemonmates/blockstates/stick.json rename to src/main/resources/assets/lemonmates/models/block/stick.json index 4523282..13ab4f5 100644 --- a/src/main/resources/assets/lemonmates/blockstates/stick.json +++ b/src/main/resources/assets/lemonmates/models/block/stick.json @@ -1,5 +1,6 @@ { "parent": "minecraft:generated", + "render_type": "minecraft:translucent", "textures": { "layer0": "item/stick" }, @@ -9,25 +10,25 @@ "predicate": { "custom_model_data": 1 }, - "model": "item/lemonade_glass" + "model": "lemonmates:block/lemonade_glass" }, { "predicate": { "custom_model_data": 2 }, - "model": "item/lemon_slice" + "model": "lemonmates:block/lemon_slice" }, { "predicate": { "custom_model_data": 3 }, - "model": "item/orange_slice" + "model": "lemonmates:block/orange_slice" }, { "predicate": { "custom_model_data": 4 }, - "model": "item/umbrella" + "model": "lemonmates:block/umbrella" }, @@ -36,13 +37,13 @@ "predicate": { "custom_model_data": 10 }, - "model": "item/lemonade_glass_fluid_half" + "model": "lemonmates:block/lemonade_glass_fluid_half" }, { "predicate": { "custom_model_data": 11 }, - "model": "item/lemonade_glass_fluid_full" + "model": "lemonmates:block/lemonade_glass_fluid_full" }, @@ -51,25 +52,25 @@ "predicate": { "custom_model_data": 23 }, - "model": "item/straw_3" + "model": "lemonmates:block/straw_3" }, { "predicate": { "custom_model_data": 24 }, - "model": "item/straw_4" + "model": "lemonmates:block/straw_4" }, { "predicate": { "custom_model_data": 25 }, - "model": "item/straw_5" + "model": "lemonmates:block/straw_5" }, { "predicate": { "custom_model_data": 26 }, - "model": "item/straw_6" + "model": "lemonmates:block/straw_6" } ] diff --git a/src/main/resources/assets/lemonmates/models/block/straw_3.json b/src/main/resources/assets/lemonmates/models/block/straw_3.json index 864f7e1..d0d69b2 100644 --- a/src/main/resources/assets/lemonmates/models/block/straw_3.json +++ b/src/main/resources/assets/lemonmates/models/block/straw_3.json @@ -1,59 +1,55 @@ { - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "lemonmates:block/flag_color/black", - "1": "lemonmates:block/flag_color/red", - "2": "lemonmates:block/flag_color/yellow", - "particle": "lemonmates:item/straw_3" - }, - "elements": [ - { - "name": "bottom", - "from": [8, 1, 9], - "to": [9, 4, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [4, 0, 5, 3], "texture": "#2"}, - "east": {"uv": [4, 3, 5, 6], "texture": "#2"}, - "south": {"uv": [0, 5, 1, 8], "texture": "#2"}, - "west": {"uv": [5, 0, 6, 3], "texture": "#2"}, - "up": {"uv": [6, 7, 5, 6], "texture": "#2"}, - "down": {"uv": [7, 6, 6, 7], "texture": "#2"} - } - }, - { - "name": "middle", - "from": [8, 4, 9], - "to": [9, 7, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [1, 5, 2, 8], "texture": "#1"}, - "east": {"uv": [2, 5, 3, 8], "texture": "#1"}, - "south": {"uv": [3, 5, 4, 8], "texture": "#1"}, - "west": {"uv": [5, 3, 6, 6], "texture": "#1"}, - "up": {"uv": [8, 1, 7, 0], "texture": "#1"}, - "down": {"uv": [8, 1, 7, 2], "texture": "#1"} - } - }, - { - "name": "top", - "from": [8, 7, 9], - "to": [9, 10, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [6, 0, 7, 2], "texture": "#0"}, - "east": {"uv": [6, 2, 7, 4], "texture": "#0"}, - "south": {"uv": [4, 6, 5, 8], "texture": "#0"}, - "west": {"uv": [6, 4, 7, 6], "texture": "#0"}, - "up": {"uv": [8, 3, 7, 2], "texture": "#0"}, - "down": {"uv": [8, 3, 7, 4], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s30": "lemonmates:block/straw_3", + "s31": "lemonmates:block/straw_3", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "east": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "south": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "west": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s30"} + } + }, + { + "name": "middle", + "from": [8, 4, 9], + "to": [9, 7, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 3, 1, 6], "texture": "#s31"}, + "east": {"uv": [0, 3, 1, 6], "texture": "#s31"}, + "south": {"uv": [0, 3, 1, 6], "texture": "#s31"}, + "west": {"uv": [0, 3, 1, 6], "texture": "#s31"} + } + }, + { + "name": "top", + "from": [8, 7, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "east": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "south": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "west": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s32"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_4.json b/src/main/resources/assets/lemonmates/models/block/straw_4.json new file mode 100644 index 0000000..63d0cc8 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_4.json @@ -0,0 +1,69 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s40": "lemonmates:block/straw_4", + "s41": "lemonmates:block/straw_4", + "s42": "lemonmates:block/straw_4", + "s43": "lemonmates:block/straw_4", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 3.25, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "east": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "south": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "west": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s40"} + } + }, + { + "name": "middle_bottom", + "from": [8, 3.25, 9], + "to": [9, 5.5, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4, 1, 6], "texture": "#s41"}, + "east": {"uv": [0, 4, 1, 6], "texture": "#s41"}, + "south": {"uv": [0, 4, 1, 6], "texture": "#s41"}, + "west": {"uv": [0, 4, 1, 6], "texture": "#s41"} + } + }, + { + "name": "middle_top", + "from": [8, 5.5, 9], + "to": [9, 7.75, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2, 1, 4], "texture": "#s42"}, + "east": {"uv": [0, 2, 1, 4], "texture": "#s42"}, + "south": {"uv": [0, 2, 1, 4], "texture": "#s42"}, + "west": {"uv": [0, 2, 1, 4], "texture": "#s42"} + } + }, + { + "name": "top", + "from": [8, 7.75, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "east": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "west": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s43"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_5.json b/src/main/resources/assets/lemonmates/models/block/straw_5.json new file mode 100644 index 0000000..4e18616 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_5.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s50": "lemonmates:block/straw_5", + "s51": "lemonmates:block/straw_5", + "s52": "lemonmates:block/straw_5", + "s53": "lemonmates:block/straw_5", + "s54": "lemonmates:block/straw_5", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_6.json b/src/main/resources/assets/lemonmates/models/block/straw_6.json new file mode 100644 index 0000000..c74dc62 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_6.json @@ -0,0 +1,95 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s60": "lemonmates:block/straw_6", + "s61": "lemonmates:block/straw_6", + "s62": "lemonmates:block/straw_6", + "s63": "lemonmates:block/straw_6", + "s64": "lemonmates:block/straw_6", + "s65": "lemonmates:block/straw_6", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.5, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 10.5, 1, 12], "texture": "#s60"}, + "east": {"uv": [0, 10.5, 1, 12], "texture": "#s60"}, + "south": {"uv": [0, 10.5, 1, 12], "texture": "#s60"}, + "west": {"uv": [0, 10.5, 1, 12], "texture": "#s60"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s60"} + } + }, + { + "name": "middle_bottom_1", + "from": [8, 2.5, 9], + "to": [9, 4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.5, 1, 10], "texture": "#s61"}, + "east": {"uv": [0, 8.5, 1, 10], "texture": "#s61"}, + "south": {"uv": [0, 8.5, 1, 10], "texture": "#s61"}, + "west": {"uv": [0, 8.5, 1, 10], "texture": "#s61"} + } + }, + { + "name": "middle_bottom_2", + "from": [8, 4, 9], + "to": [9, 5.5, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.5, 1, 8], "texture": "#s62"}, + "east": {"uv": [0, 6.5, 1, 8], "texture": "#s62"}, + "south": {"uv": [0, 6.5, 1, 8], "texture": "#s62"}, + "west": {"uv": [0, 6.5, 1, 8], "texture": "#s62"} + } + }, + { + "name": "middle_top_1", + "from": [8, 5.5, 9], + "to": [9, 7, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.5, 1, 6], "texture": "#s63"}, + "east": {"uv": [0, 4.5, 1, 6], "texture": "#s63"}, + "south": {"uv": [0, 4.5, 1, 6], "texture": "#s63"}, + "west": {"uv": [0, 4.5, 1, 6], "texture": "#s63"} + } + }, + { + "name": "middle_top_2", + "from": [8, 7, 9], + "to": [9, 8.5, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.5, 1, 4], "texture": "#s64"}, + "east": {"uv": [0, 2.5, 1, 4], "texture": "#s64"}, + "south": {"uv": [0, 2.5, 1, 4], "texture": "#s64"}, + "west": {"uv": [0, 2.5, 1, 4], "texture": "#s64"} + } + }, + { + "name": "top", + "from": [8, 8.5, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.5, 1, 2], "texture": "#s65"}, + "east": {"uv": [0, 0.5, 1, 2], "texture": "#s65"}, + "south": {"uv": [0, 0.5, 1, 2], "texture": "#s65"}, + "west": {"uv": [0, 0.5, 1, 2], "texture": "#s65"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s65"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/umbrella.json b/src/main/resources/assets/lemonmates/models/block/umbrella.json new file mode 100644 index 0000000..907615b --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/umbrella.json @@ -0,0 +1,109 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "u1": "lemonmates:block/umbrella_8", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "shaft", + "from": [9, 5, 5.5], + "to": [10, 10, 6.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "east": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "south": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "west": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "up": {"uv": [6, 4, 5, 3], "texture": "#u1"}, + "down": {"uv": [6, 3, 5, 4], "texture": "#u1"} + } + }, + { + "name": "top", + "from": [7, 9.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [1, 0, 6, 0], "texture": "#u1"}, + "east": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "south": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "west": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "up": {"uv": [5, 5, 0, 0], "texture": "#u1"}, + "down": {"uv": [5, 0, 0, 5], "texture": "#u1"} + } + }, + { + "name": "north", + "from": [7, 8.5, 3.5], + "to": [12, 9.5, 3.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "south", + "from": [7, 8.5, 8.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "west", + "from": [7, 8.5, 3.5], + "to": [7, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + }, + { + "name": "east", + "from": [12, 8.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + }, + "groups": [ + 0, + { + "name": "umbrella_panels", + "origin": [8.5, 6, 11], + "color": 0, + "children": [1, 2, 3, 4, 5] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json b/src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json deleted file mode 100644 index 67377ba..0000000 --- a/src/main/resources/assets/lemonmates/models/item/drinking_glass_fluid.json +++ /dev/null @@ -1,271 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "texture_size": [32, 32], - "textures": { - "0": "lemonmates:item/lemonade_glass", - "particle": "lemonmates:item/lemonade_glass" - }, - "elements": [ - { - "name": "north_west", - "from": [5, 0, 5], - "to": [6, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 5]}, - "faces": { - "north": {"uv": [6, 2, 6.5, 5.5], "texture": "#0"}, - "east": {"uv": [6, 5.5, 6.5, 9], "texture": "#0"}, - "south": {"uv": [6.5, 2, 7, 5.5], "texture": "#0"}, - "west": {"uv": [6.5, 5.5, 7, 9], "texture": "#0"}, - "up": {"uv": [4, 10, 3.5, 9.5], "texture": "#0"}, - "down": {"uv": [10, 7, 9.5, 7.5], "texture": "#0"} - } - }, - { - "name": "north_east", - "from": [10, 0, 5], - "to": [11, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 5]}, - "faces": { - "north": {"uv": [7, 2, 7.5, 5.5], "texture": "#0"}, - "east": {"uv": [4, 7, 4.5, 10.5], "texture": "#0"}, - "south": {"uv": [4.5, 7, 5, 10.5], "texture": "#0"}, - "west": {"uv": [5, 7, 5.5, 10.5], "texture": "#0"}, - "up": {"uv": [10, 8, 9.5, 7.5], "texture": "#0"}, - "down": {"uv": [10, 8, 9.5, 8.5], "texture": "#0"} - } - }, - { - "name": "south_east", - "from": [10, 0, 10], - "to": [11, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 10]}, - "faces": { - "north": {"uv": [5.5, 7, 6, 10.5], "texture": "#0"}, - "east": {"uv": [7, 5.5, 7.5, 9], "texture": "#0"}, - "south": {"uv": [0, 7.5, 0.5, 11], "texture": "#0"}, - "west": {"uv": [0.5, 7.5, 1, 11], "texture": "#0"}, - "up": {"uv": [10, 9, 9.5, 8.5], "texture": "#0"}, - "down": {"uv": [9.5, 9.5, 9, 10], "texture": "#0"} - } - }, - { - "name": "south_west", - "from": [5, 0, 10], - "to": [6, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 10]}, - "faces": { - "north": {"uv": [1, 7.5, 1.5, 11], "texture": "#0"}, - "east": {"uv": [1.5, 7.5, 2, 11], "texture": "#0"}, - "south": {"uv": [2, 7.5, 2.5, 11], "texture": "#0"}, - "west": {"uv": [7.5, 2, 8, 5.5], "texture": "#0"}, - "up": {"uv": [10, 10, 9.5, 9.5], "texture": "#0"}, - "down": {"uv": [10.5, 0, 10, 0.5], "texture": "#0"} - } - }, - { - "name": "north", - "from": [6, 6, 5], - "to": [10, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 5]}, - "faces": { - "north": {"uv": [7.5, 5.5, 9.5, 6], "texture": "#0"}, - "south": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#0"}, - "up": {"uv": [9.5, 7, 7.5, 6.5], "texture": "#0"}, - "down": {"uv": [9.5, 7, 7.5, 7.5], "texture": "#0"} - } - }, - { - "name": "east", - "from": [10, 6, 6], - "to": [11, 7, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 6, 6]}, - "faces": { - "east": {"uv": [7.5, 7.5, 9.5, 8], "texture": "#0"}, - "west": {"uv": [8, 0, 10, 0.5], "texture": "#0"}, - "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#0"}, - "down": {"uv": [3.5, 7.5, 3, 9.5], "texture": "#0"} - } - }, - { - "name": "south", - "from": [6, 6, 10], - "to": [10, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 10]}, - "faces": { - "north": {"uv": [8, 0.5, 10, 1], "texture": "#0"}, - "south": {"uv": [8, 1, 10, 1.5], "texture": "#0"}, - "up": {"uv": [10, 2, 8, 1.5], "texture": "#0"}, - "down": {"uv": [10, 2, 8, 2.5], "texture": "#0"} - } - }, - { - "name": "west", - "from": [5, 6, 6], - "to": [6, 7, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 6, 6]}, - "faces": { - "east": {"uv": [8, 2.5, 10, 3], "texture": "#0"}, - "west": {"uv": [8, 3, 10, 3.5], "texture": "#0"}, - "up": {"uv": [4, 9.5, 3.5, 7.5], "texture": "#0"}, - "down": {"uv": [8.5, 3.5, 8, 5.5], "texture": "#0"} - } - }, - { - "name": "north", - "from": [6, 0, 5], - "to": [10, 1, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, - "faces": { - "north": {"uv": [7.5, 8, 9.5, 8.5], "texture": "#0"}, - "south": {"uv": [8.5, 3.5, 10.5, 4], "texture": "#0"}, - "up": {"uv": [10.5, 4.5, 8.5, 4], "texture": "#0"}, - "down": {"uv": [10.5, 4.5, 8.5, 5], "texture": "#0"} - } - }, - { - "name": "east", - "from": [10, 0, 6], - "to": [11, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 6]}, - "faces": { - "east": {"uv": [8.5, 5, 10.5, 5.5], "texture": "#0"}, - "west": {"uv": [7.5, 8.5, 9.5, 9], "texture": "#0"}, - "up": {"uv": [6.5, 11, 6, 9], "texture": "#0"}, - "down": {"uv": [7, 9, 6.5, 11], "texture": "#0"} - } - }, - { - "name": "south", - "from": [6, 0, 10], - "to": [10, 1, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 10]}, - "faces": { - "north": {"uv": [7, 9, 9, 9.5], "texture": "#0"}, - "south": {"uv": [9, 9, 11, 9.5], "texture": "#0"}, - "up": {"uv": [11.5, 6, 9.5, 5.5], "texture": "#0"}, - "down": {"uv": [11.5, 6, 9.5, 6.5], "texture": "#0"} - } - }, - { - "name": "west", - "from": [5, 0, 6], - "to": [6, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 6]}, - "faces": { - "east": {"uv": [9.5, 6.5, 11.5, 7], "texture": "#0"}, - "west": {"uv": [7, 9.5, 9, 10], "texture": "#0"}, - "up": {"uv": [3, 11.5, 2.5, 9.5], "texture": "#0"}, - "down": {"uv": [3.5, 9.5, 3, 11.5], "texture": "#0"} - } - }, - { - "name": "bottom", - "from": [6, 0, 6], - "to": [10, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, - "faces": { - "up": {"uv": [6, 7, 4, 5], "texture": "#0"}, - "down": {"uv": [8, 0, 6, 2], "texture": "#0"} - } - }, - { - "name": "west", - "from": [5, 1, 6], - "to": [6, 6, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 6]}, - "faces": { - "east": {"uv": [0, 0, 2, 2.5], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2.5], "texture": "#0"} - } - }, - { - "name": "east", - "from": [10, 1, 6], - "to": [11, 6, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 6]}, - "faces": { - "east": {"uv": [0, 2.5, 2, 5], "texture": "#0"}, - "west": {"uv": [2, 2.5, 4, 5], "texture": "#0"} - } - }, - { - "name": "north", - "from": [6, 1, 5], - "to": [10, 6, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 5]}, - "faces": { - "north": {"uv": [4, 0, 6, 2.5], "texture": "#0"}, - "south": {"uv": [4, 2.5, 6, 5], "texture": "#0"} - } - }, - { - "name": "south", - "from": [6, 1, 10], - "to": [10, 6, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 10]}, - "faces": { - "north": {"uv": [0, 5, 2, 7.5], "texture": "#0"}, - "south": {"uv": [2, 5, 4, 7.5], "texture": "#0"} - } - } - ], - "display": { - "thirdperson_righthand": { - "translation": [0, 5.25, 1.5], - "scale": [0.67, 0.67, 0.67] - }, - "thirdperson_lefthand": { - "translation": [0, 5.25, 1.5], - "scale": [0.67, 0.67, 0.67] - }, - "firstperson_righthand": { - "translation": [0, 6, 0], - "scale": [0.8, 0.8, 0.8] - }, - "firstperson_lefthand": { - "translation": [0, 6, 0], - "scale": [0.8, 0.8, 0.8] - }, - "ground": { - "translation": [0, 3.5, 0], - "scale": [0.68, 0.68, 0.68] - }, - "gui": { - "rotation": [22.5, -22.5, 0], - "translation": [0, 3.5, 0] - }, - "head": { - "translation": [0, 14.5, 0] - }, - "on_shelf": { - "scale": [1.87, 1.87, 1.87] - } - }, - "groups": [ - { - "name": "edges", - "origin": [8, 8, 8], - "color": 0, - "children": [0, 1, 2, 3] - }, - { - "name": "top_edges", - "origin": [8, 8, 8], - "color": 0, - "children": [4, 5, 6, 7] - }, - { - "name": "bottom_edges", - "origin": [8, 8, 8], - "color": 0, - "children": [8, 9, 10, 11] - }, - { - "name": "faces", - "origin": [8, 8, 8], - "color": 0, - "children": [12, 13, 14, 15, 16] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/lemonade_glass.json b/src/main/resources/assets/lemonmates/models/item/lemonade_glass.json new file mode 100644 index 0000000..c389380 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/lemonade_glass.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/lemonade_glass" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/textures/item/empty.png b/src/main/resources/assets/lemonmates/textures/item/empty.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb5d9dce00734fff5e9996eb6379c6c7a0df53f GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$o$_H=O!vG7lpU|pOb(!*qskN^xJ0S3n9 SE;Y$OX$DVMKbLh*2~7Z-;6JPY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_3.png b/src/main/resources/assets/lemonmates/textures/item/straw_3.png deleted file mode 100644 index 5aafc33f21f89cd9a46982dcc5fa28dd42f5f04b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Ln`LH2~^~7N)V_unpJ<` z?1MLdxEG(xQm~kOa?xFnNhwAe`wu)&>pjrFz>ul2_khO+N2_nFOgumA%($f2-+6cM z?(TAH&#gkYTC7s*cpi_n2}D1lafc>pgq0 zcVF_uIUDEdE6Ok8+8G>Xyv|{7!ZOA;d%G4(JG1o0Cv30pWiPjG4hYU?pM2m33&;ci k|1a6uVgh8afgH@tFoD77jsLrX7eEmPPgg&ebxsLQ0Hc3kW&i*H From bb33f8745df2c18978ed365546c159c0b50032b4 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 8 Mar 2026 06:50:06 +0100 Subject: [PATCH 08/76] setting up block entity stuffs for the glasses --- .../doppelr/lemonmates/block/ModBlocks.java | 4 ++- .../block/entity/ModBlockEntities.java | 9 ++++++ .../entity/LemonadeglassEntity.java | 28 +++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index 544ad88..2bc44df 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -110,7 +110,9 @@ public class ModBlocks { () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS))); public static final DeferredBlock LEMONADE_GLASS = registerBlock("lemonade_glass", - () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of())); + () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of() + .sound(SoundType.GLASS) + )); private static DeferredBlock registerBlock(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); diff --git a/src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java b/src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java index 71507d3..f6ade35 100644 --- a/src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java +++ b/src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java @@ -2,12 +2,15 @@ import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.block.ModBlocks; +import net.doppelr.lemonmates.entity.LemonadeglassEntity; 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; +import java.util.function.Supplier; + public class ModBlockEntities { public static DeferredRegister> BLOCK_ENTITIES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, LemonMates.MOD_ID); @@ -24,6 +27,12 @@ public class ModBlockEntities { 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 final Supplier> LEMONADE_GLASS_ENTITY = + BLOCK_ENTITIES.register("lemonade_glass_entity", () -> + BlockEntityType.Builder.of(LemonadeglassEntity::new, + ModBlocks.LEMONADE_GLASS.get()).build(null) + ); + public static void register(IEventBus eventBus) { BLOCK_ENTITIES.register(eventBus); } diff --git a/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java b/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java new file mode 100644 index 0000000..16b05ee --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java @@ -0,0 +1,28 @@ +package net.doppelr.lemonmates.entity; + +import net.doppelr.lemonmates.block.entity.ModBlockEntities; +import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; + +public class LemonadeglassEntity extends BlockEntity { + private int hasSlice; // 0 = none, 1 = orange, 2 = lemon + + public LemonadeglassEntity(BlockPos pos, BlockState state) { + super(ModBlockEntities.LEMONADE_GLASS_ENTITY.get(), pos, state); + } + + @Override + public void loadAdditional(CompoundTag tag, HolderLookup.Provider registries) { + super.loadAdditional(tag, registries); + this.hasSlice = tag.getInt("hasSlice"); + } + + @Override + public void saveAdditional(CompoundTag tag, HolderLookup.Provider registries) { + super.saveAdditional(tag, registries); + tag.putInt("hasSlice", this.hasSlice); + } +} From 80e61dda88b6823f0c9ac2ba10e43be7ac8040c5 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 8 Mar 2026 07:54:09 +0100 Subject: [PATCH 09/76] add data storage capabilities to glass --- build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/build.gradle b/build.gradle index 8c340f2..8cdbdd5 100644 --- a/build.gradle +++ b/build.gradle @@ -47,7 +47,6 @@ neoForge { runs { client { client() - // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id } From f4c1dc301a0507fc71e95fc2025960eb2b24e977 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 8 Mar 2026 07:55:01 +0100 Subject: [PATCH 10/76] update order --- .../lemonmates/entity/LemonadeglassEntity.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java b/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java index 16b05ee..6f15a37 100644 --- a/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java +++ b/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java @@ -9,6 +9,10 @@ public class LemonadeglassEntity extends BlockEntity { private int hasSlice; // 0 = none, 1 = orange, 2 = lemon + private String lemonade; // none, citronFull, citronHalf, orangeFull, orangeHalf, raspberryFull, raspberryHalf, summerFull, summerHalf, watermelonFull, watermelonHalf + private int umbrellaMain; // 0 = white, 1 = light gray, 2 = gray, 3 = black, 4 = brown, 5 = red, 6 = orange, 7 = yellow, 8 = lime, 9 = green, 10 = cyan, 11 = light blue, 12 = blue, 13 = purple, 14 = magenta, 15 = pink + private int umbrellaSecondary; // 0 = white, 1 = light gray, 2 = gray, 3 = black, 4 = brown, 5 = red, 6 = orange, 7 = yellow, 8 = lime, 9 = green, 10 = cyan, 11 = light blue, 12 = blue, 13 = purple, 14 = magenta, 15 = pink + private int straw; // 0 = none, 1 = red/white, 2 = ?, 3 = ?, 4 = ?, 5 = ?, 6 = ?, 7 = ?, 8 = ?, 9 = ?, 10 = ?, 11 = ?, 12 = ?, 13 = ?, 14 = ?, 15 = ?, 16 = ?, 17 = ?, 18 = ?, 19 = ?, 20 = ? public LemonadeglassEntity(BlockPos pos, BlockState state) { super(ModBlockEntities.LEMONADE_GLASS_ENTITY.get(), pos, state); @@ -18,11 +22,19 @@ public LemonadeglassEntity(BlockPos pos, BlockState state) { public void loadAdditional(CompoundTag tag, HolderLookup.Provider registries) { super.loadAdditional(tag, registries); this.hasSlice = tag.getInt("hasSlice"); + this.lemonade = tag.getString("lemonade"); + this.umbrellaMain = tag.getInt("umbrellaMain"); + this.umbrellaSecondary = tag.getInt("umbrellaSecondary"); + this.straw = tag.getInt("straw"); } @Override public void saveAdditional(CompoundTag tag, HolderLookup.Provider registries) { super.saveAdditional(tag, registries); tag.putInt("hasSlice", this.hasSlice); + tag.putString("lemonade", this.lemonade); + tag.putInt("umbrellaMain", this.umbrellaMain); + tag.putInt("umbrellaSecondary", this.umbrellaSecondary); + tag.putInt("straw", this.straw); } } From 68a994ffe3e76a70c2e24340147aeff83c0f9c62 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Mon, 9 Mar 2026 23:18:32 +0100 Subject: [PATCH 11/76] flag decisions --- .../java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java b/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java index 6f15a37..ac3324d 100644 --- a/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java +++ b/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java @@ -12,7 +12,7 @@ public class LemonadeglassEntity extends BlockEntity { private String lemonade; // none, citronFull, citronHalf, orangeFull, orangeHalf, raspberryFull, raspberryHalf, summerFull, summerHalf, watermelonFull, watermelonHalf private int umbrellaMain; // 0 = white, 1 = light gray, 2 = gray, 3 = black, 4 = brown, 5 = red, 6 = orange, 7 = yellow, 8 = lime, 9 = green, 10 = cyan, 11 = light blue, 12 = blue, 13 = purple, 14 = magenta, 15 = pink private int umbrellaSecondary; // 0 = white, 1 = light gray, 2 = gray, 3 = black, 4 = brown, 5 = red, 6 = orange, 7 = yellow, 8 = lime, 9 = green, 10 = cyan, 11 = light blue, 12 = blue, 13 = purple, 14 = magenta, 15 = pink - private int straw; // 0 = none, 1 = red/white, 2 = ?, 3 = ?, 4 = ?, 5 = ?, 6 = ?, 7 = ?, 8 = ?, 9 = ?, 10 = ?, 11 = ?, 12 = ?, 13 = ?, 14 = ?, 15 = ?, 16 = ?, 17 = ?, 18 = ?, 19 = ?, 20 = ? + private int straw; // 0 = none, 1 = red/white, 2 = rainbow, 3 = trans, 4 = nonbinary, 5 = lesbian, 6 = gay, 7 = genderfluid, 8 = ace, 9 = aro, 10 = agender, 11 = aroace, 12 = bisexual, 13 = pansexual public LemonadeglassEntity(BlockPos pos, BlockState state) { super(ModBlockEntities.LEMONADE_GLASS_ENTITY.get(), pos, state); From 68d9aad12b397eaa8d2655c1ad45288d1b979a48 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 00:10:47 +0100 Subject: [PATCH 12/76] add items for straws --- .../net/doppelr/lemonmates/item/ModItems.java | 29 +++++++++++++++++++ .../assets/lemonmates/lang/en_US.json | 14 +++++++++ 2 files changed, 43 insertions(+) diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index ce4ca92..03861d3 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -144,6 +144,35 @@ public class ModItems { public static final DeferredItem ORANGE_CHEST_BOAT = ITEMS.register("orange_chest_boat", () -> new ModBoatItem(true, ModBoatEntity.Type.ORANGE, new Item.Properties().stacksTo(1))); + // Straws + // 2 = rainbow, 3 = trans, 4 = nonbinary, 5 = lesbian, 6 = gay, 7 = genderfluid, 8 = ace, 9 = aro, 10 = agender, 11 = aroace, 12 = bisexual, 13 = pansexual + public static final DeferredItem STRAW_BASIC = ITEMS.register("straw_basic", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_RAINBOW = ITEMS.register("straw_rainbow", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_TRANS = ITEMS.register("straw_trans", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_NONBINARY = ITEMS.register("straw_nonbinary", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_LESBIAN = ITEMS.register("straw_lesbian", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_GAY = ITEMS.register("straw_gay", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_GENDERFLUID = ITEMS.register("straw_genderfluid", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_ACE = ITEMS.register("straw_ace", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_ARO = ITEMS.register("straw_aro", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_AROACE = ITEMS.register("straw_aroace", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_AGENDER = ITEMS.register("straw_agender", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_BI = ITEMS.register("straw_bi", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_PAN = ITEMS.register("straw_pan", + () -> new Item(new Item.Properties())); + // Serving related // Glasses diff --git a/src/main/resources/assets/lemonmates/lang/en_US.json b/src/main/resources/assets/lemonmates/lang/en_US.json index 0b5c452..dc8ade1 100644 --- a/src/main/resources/assets/lemonmates/lang/en_US.json +++ b/src/main/resources/assets/lemonmates/lang/en_US.json @@ -111,6 +111,20 @@ "block.lemonmates.summermix_lemonade_fluid_block": "Summer-Mix Lemonade", "block.lemonmates.watermelon_lemonade_fluid_block": "Watermelon Lemonade", + "item.lemonmates.straw_basic": "Straw", + "item.lemonmates.straw_rainbow": "Straw (Rainbow Pride Flag)", + "item.lemonmates.straw_trans": "Straw (Trans Pride Flag)", + "item.lemonmates.straw_nonbinary": "Straw (Nonbinary Pride Flag)", + "item.lemonmates.straw_lesbian": "Straw (Lesbian Pride Flag)", + "item.lemonmates.straw_gay": "Straw (Gay Pride Flag)", + "item.lemonmates.straw_genderfluid": "Straw (Genderfluid Pride Flag)", + "item.lemonmates.straw_ace": "Straw (Asexual Pride Flag)", + "item.lemonmates.straw_aro": "Straw (Aromantic Pride Flag)", + "item.lemonmates.straw_aroace": "Straw (AroAce Pride Flag)", + "item.lemonmates.straw_agender": "Straw (Agender Pride Flag)", + "item.lemonmates.straw_bi": "Straw (Bisexual Pride Flag)", + "item.lemonmates.straw_pan": "Straw (Pansexual Pride Flag)", + "tag.block.lemonmates.citron_logs": "Citron Logs", "tag.block.lemonmates.orange_logs": "Orange Logs", "tag.item.lemonmates.citron_logs": "Citron Logs", From c2b69cd4eb1c624c5190dfa20f9a4fcf794acfc1 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 00:11:14 +0100 Subject: [PATCH 13/76] run datagen --- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 3 ++- .../f6b42ca1cd503fe26fe76afc2157fd76c4c99038 | 15 ++++++++++++- .../lemonmates/models/item/straw_ace.json | 6 +++++ .../lemonmates/models/item/straw_agender.json | 6 +++++ .../lemonmates/models/item/straw_aro.json | 6 +++++ .../lemonmates/models/item/straw_aroace.json | 6 +++++ .../lemonmates/models/item/straw_basic.json | 6 +++++ .../lemonmates/models/item/straw_bi.json | 6 +++++ .../lemonmates/models/item/straw_gay.json | 6 +++++ .../models/item/straw_genderfluid.json | 6 +++++ .../lemonmates/models/item/straw_lesbian.json | 6 +++++ .../models/item/straw_nonbinary.json | 6 +++++ .../lemonmates/models/item/straw_pan.json | 6 +++++ .../lemonmates/models/item/straw_rainbow.json | 6 +++++ .../lemonmates/models/item/straw_trans.json | 6 +++++ .../loot_table/blocks/lemonade_glass.json | 21 ++++++++++++++++++ .../datagen/ModItemModelProvider.java | 15 +++++++++++++ .../lemonmates/textures/item/straw_ace.png | Bin 0 -> 396 bytes .../textures/item/straw_agender.png | Bin 0 -> 396 bytes .../lemonmates/textures/item/straw_aro.png | Bin 0 -> 396 bytes .../lemonmates/textures/item/straw_aroace.png | Bin 0 -> 396 bytes .../lemonmates/textures/item/straw_basic.png | Bin 0 -> 396 bytes .../lemonmates/textures/item/straw_bi.png | Bin 0 -> 396 bytes .../lemonmates/textures/item/straw_gay.png | Bin 0 -> 396 bytes .../textures/item/straw_genderfluid.png | Bin 0 -> 396 bytes .../textures/item/straw_lesbian.png | Bin 0 -> 396 bytes .../textures/item/straw_nonbinary.png | Bin 0 -> 396 bytes .../lemonmates/textures/item/straw_pan.png | Bin 0 -> 396 bytes .../textures/item/straw_rainbow.png | Bin 0 -> 396 bytes .../lemonmates/textures/item/straw_trans.png | Bin 0 -> 396 bytes 30 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_ace.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_agender.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_aro.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_aroace.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_basic.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_bi.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_gay.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_genderfluid.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_lesbian.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_nonbinary.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_pan.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_rainbow.json create mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_trans.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_ace.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_agender.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_aro.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_aroace.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_basic.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_bi.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_gay.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_genderfluid.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_lesbian.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_nonbinary.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_pan.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_rainbow.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/straw_trans.png diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index b271282..70b028c 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21.1 2025-10-07T19:06:43.2711942 Loot Tables +// 1.21.1 2026-03-10T00:06:46.8572324 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 @@ -17,6 +17,7 @@ be56f3f3d40997839e2f5cafbdd671ad138bff15 data/lemonmates/loot_table/blocks/citro 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 +3a73a87ef8818ed861d4d2598f34f404f1dfe89f data/lemonmates/loot_table/blocks/lemonade_glass.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 diff --git a/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 b/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 index 2285cea..87ce1c4 100644 --- a/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 +++ b/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 @@ -1,4 +1,4 @@ -// 1.21.1 2025-10-18T23:06:38.9402899 Item Models: lemonmates +// 1.21.1 2026-03-10T00:06:46.8611383 Item Models: lemonmates 138a42244c73c0017b7a51a1e09d007f8eb51adf assets/lemonmates/models/item/bioplastic_mass.json caa1f3144e11981981ff6f72430621c0f982693a assets/lemonmates/models/item/bottle_cap.json 9eb3735862401fbd689579dd466c19ea9dffda34 assets/lemonmates/models/item/bottle_empty.json @@ -67,6 +67,19 @@ dd5b82a54dbe11b750f1775c43acce7ce0b73bcc assets/lemonmates/models/item/raspberry 1a625bd1cf17cfc14f31bec13c78f6a73cce40f9 assets/lemonmates/models/item/raspberry_lemonade_bucket.json 6ade2212c423ac19b8e5655d235d82e6cc97b23a assets/lemonmates/models/item/seed_flour.json b7097f639ceaf9f6bdc5d5b8d68dea101766b908 assets/lemonmates/models/item/starch.json +0930de4436848bf9403ff6d0bead9ed0ace114dd assets/lemonmates/models/item/straw_ace.json +8451739f9ac155359bfdc286c60ef9e80f635cd7 assets/lemonmates/models/item/straw_agender.json +662608dbf4d2f895fe89cae170ff089f65a1292c assets/lemonmates/models/item/straw_aro.json +5c874f61fd02a596964c287e63da36ead5fcb008 assets/lemonmates/models/item/straw_aroace.json +97149fc4850ca792ad84a2782777dafb3bfa807f assets/lemonmates/models/item/straw_basic.json +a86167ca2180f684147934a51b183488a4568d09 assets/lemonmates/models/item/straw_bi.json +91dcf6fdedc39eb6c44a8029768f7a4a95474894 assets/lemonmates/models/item/straw_gay.json +ef0e7344140047c31e0215810297f4a8716c6b62 assets/lemonmates/models/item/straw_genderfluid.json +cef27b8c546c4e42e6e5d34715988ea2272cc1e6 assets/lemonmates/models/item/straw_lesbian.json +1023a0441bdb5f3a70bceb798a2abf3f15dd55d6 assets/lemonmates/models/item/straw_nonbinary.json +779596321c053c606f0f4b7a4536b069b4d6de32 assets/lemonmates/models/item/straw_pan.json +da3309ae6c95226b638e2d63e011ecc511175bab assets/lemonmates/models/item/straw_rainbow.json +91efe2cba5260e0c190b24b8f7a374c887f3a68f assets/lemonmates/models/item/straw_trans.json 9cdcfd87ff73dd7d76ee274ddc39b7f1204254de assets/lemonmates/models/item/summermix_lemonade_bottle.json 1bb343f5b50274911e301dd7b57f8b2acdf44f8b assets/lemonmates/models/item/summermix_lemonade_bottle_drinking.json 094467c7bb51635cce6818380443e928a91fc97c assets/lemonmates/models/item/summermix_lemonade_bucket.json diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_ace.json b/src/generated/resources/assets/lemonmates/models/item/straw_ace.json new file mode 100644 index 0000000..784bc00 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_ace.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_ace" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_agender.json b/src/generated/resources/assets/lemonmates/models/item/straw_agender.json new file mode 100644 index 0000000..396431c --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_agender.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_agender" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_aro.json b/src/generated/resources/assets/lemonmates/models/item/straw_aro.json new file mode 100644 index 0000000..531458f --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_aro.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_aro" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_aroace.json b/src/generated/resources/assets/lemonmates/models/item/straw_aroace.json new file mode 100644 index 0000000..c5ffe09 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_aroace.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_aroace" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_basic.json b/src/generated/resources/assets/lemonmates/models/item/straw_basic.json new file mode 100644 index 0000000..2559c21 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_basic.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_basic" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_bi.json b/src/generated/resources/assets/lemonmates/models/item/straw_bi.json new file mode 100644 index 0000000..fc077b2 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_bi.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_bi" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_gay.json b/src/generated/resources/assets/lemonmates/models/item/straw_gay.json new file mode 100644 index 0000000..c9f3a34 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_gay.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_gay" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_genderfluid.json b/src/generated/resources/assets/lemonmates/models/item/straw_genderfluid.json new file mode 100644 index 0000000..d51e1b3 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_genderfluid.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_genderfluid" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_lesbian.json b/src/generated/resources/assets/lemonmates/models/item/straw_lesbian.json new file mode 100644 index 0000000..723cacf --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_lesbian.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_lesbian" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_nonbinary.json b/src/generated/resources/assets/lemonmates/models/item/straw_nonbinary.json new file mode 100644 index 0000000..acc6a2c --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_nonbinary.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_nonbinary" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_pan.json b/src/generated/resources/assets/lemonmates/models/item/straw_pan.json new file mode 100644 index 0000000..d465737 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_pan.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_pan" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_rainbow.json b/src/generated/resources/assets/lemonmates/models/item/straw_rainbow.json new file mode 100644 index 0000000..36bb19c --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_rainbow.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_rainbow" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_trans.json b/src/generated/resources/assets/lemonmates/models/item/straw_trans.json new file mode 100644 index 0000000..5e82c90 --- /dev/null +++ b/src/generated/resources/assets/lemonmates/models/item/straw_trans.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "lemonmates:item/straw_trans" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json new file mode 100644 index 0000000..92642c7 --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "lemonmates:lemonade_glass" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "lemonmates:blocks/lemonade_glass" +} \ No newline at end of file diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java index 47ae2bf..422e0b8 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java @@ -93,6 +93,21 @@ protected void registerModels() { basicItem(ModItems.BOTTLE_CAP.get()); basicItem(ModItems.BOTTLE_EMPTY.get()); + basicItem(ModItems.STRAW_BASIC.get()); + basicItem(ModItems.STRAW_RAINBOW.get()); + basicItem(ModItems.STRAW_TRANS.get()); + basicItem(ModItems.STRAW_NONBINARY.get()); + basicItem(ModItems.STRAW_LESBIAN.get()); + basicItem(ModItems.STRAW_GAY.get()); + basicItem(ModItems.STRAW_GENDERFLUID.get()); + basicItem(ModItems.STRAW_ACE.get()); + basicItem(ModItems.STRAW_ARO.get()); + basicItem(ModItems.STRAW_AROACE.get()); + basicItem(ModItems.STRAW_AGENDER.get()); + basicItem(ModItems.STRAW_BI.get()); + basicItem(ModItems.STRAW_PAN.get()); + + ModFluids.BUCKETS.getEntries().forEach(item -> bucketItem((DeferredHolder) item)); } diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_ace.png b/src/main/resources/assets/lemonmates/textures/item/straw_ace.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_agender.png b/src/main/resources/assets/lemonmates/textures/item/straw_agender.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_aro.png b/src/main/resources/assets/lemonmates/textures/item/straw_aro.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_aroace.png b/src/main/resources/assets/lemonmates/textures/item/straw_aroace.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_basic.png b/src/main/resources/assets/lemonmates/textures/item/straw_basic.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_bi.png b/src/main/resources/assets/lemonmates/textures/item/straw_bi.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_gay.png b/src/main/resources/assets/lemonmates/textures/item/straw_gay.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_genderfluid.png b/src/main/resources/assets/lemonmates/textures/item/straw_genderfluid.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_lesbian.png b/src/main/resources/assets/lemonmates/textures/item/straw_lesbian.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_nonbinary.png b/src/main/resources/assets/lemonmates/textures/item/straw_nonbinary.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_pan.png b/src/main/resources/assets/lemonmates/textures/item/straw_pan.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_rainbow.png b/src/main/resources/assets/lemonmates/textures/item/straw_rainbow.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/straw_trans.png b/src/main/resources/assets/lemonmates/textures/item/straw_trans.png new file mode 100644 index 0000000000000000000000000000000000000000..90276553ab6b5e912b95ddb521ca7362c06e61b0 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwwAT4zY7UMLSX>JkvZqwHP>n999M?Mpgz!Aj=DgrJ-z)b2J#4!Q#w7wjm=EgCLNO z0^-be7O;2@kPQNhCo?d-04jpf=(aL203|1|Gq3>F8WQV0J5OE3=IrGvNxU@RGj^?xB$qs@N{tuvG7lpV2wCfuhGj_&>1W~A%|Od ziW*yj=^R0?!wf!xJ~FYwyQ+K`6&$X$_|}Q=7#%nO490WpjQ2|>KLeTP>FVdQ&MBb@ E06zLn_W%F@ literal 0 HcmV?d00001 From c4d74fba442d7f30ce9a9f752fb75a5b7eca5bc5 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 00:40:52 +0100 Subject: [PATCH 14/76] add creative mode tab --- .../lemonmates/AllCreativeModeTabs.java | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index b8520eb..ca3ce33 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -93,7 +93,7 @@ public class AllCreativeModeTabs { public static final DeferredHolder PROCESSING_CREATIVE_TAB = CREATIVE_MODE_TABS.register("processing", () -> CreativeModeTab.builder() .title(Component.translatable("itemGroup." + LemonMates.MOD_ID + ".processing")) - .withTabsBefore(AllCreativeModeTabs.BASE_CREATIVE_TAB.getKey()) + .withTabsBefore(AllCreativeModeTabs.SERVING_CREATIVE_TAB.getKey()) .icon(() -> new ItemStack(ModItems.BOTTLE_MOLD_WITH_BOTTLE.get())) .displayItems((params, output) -> { // Plastic @@ -155,6 +155,37 @@ public class AllCreativeModeTabs { .build() ); + public static final DeferredHolder SERVING_CREATIVE_TAB = CREATIVE_MODE_TABS.register("serving", + () -> CreativeModeTab.builder() + .title(Component.translatable("itemGroup." + LemonMates.MOD_ID + ".serving")) + .withTabsBefore(AllCreativeModeTabs.BASE_CREATIVE_TAB.getKey()) + .icon(() -> new ItemStack(ModBlocks.LEMONADE_GLASS.get())) + .displayItems((params, output) -> { + // Fruit + output.accept(ModItems.CITRON_SLICE); + output.accept(ModItems.ORANGE_SLICE); + + // Glass + output.accept(ModBlocks.LEMONADE_GLASS); + + // Straws + output.accept(ModItems.STRAW_BASIC); + output.accept(ModItems.STRAW_RAINBOW); + output.accept(ModItems.STRAW_TRANS); + output.accept(ModItems.STRAW_NONBINARY); + output.accept(ModItems.STRAW_LESBIAN); + output.accept(ModItems.STRAW_GAY); + output.accept(ModItems.STRAW_GENDERFLUID); + output.accept(ModItems.STRAW_ACE); + output.accept(ModItems.STRAW_ARO); + output.accept(ModItems.STRAW_AROACE); + output.accept(ModItems.STRAW_AGENDER); + output.accept(ModItems.STRAW_BI); + output.accept(ModItems.STRAW_PAN); + }) + .build() + ); + public static void register(IEventBus eventBus) { CREATIVE_MODE_TABS.register(eventBus); } From 9e04b1390cb60fff04394630804acfa52d6f7da4 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 03:05:08 +0100 Subject: [PATCH 15/76] add models for straw variants and revert data gen --- .../lemonmates/models/item/straw_ace.json | 6 -- .../lemonmates/models/item/straw_agender.json | 6 -- .../lemonmates/models/item/straw_aro.json | 6 -- .../lemonmates/models/item/straw_aroace.json | 6 -- .../lemonmates/models/item/straw_basic.json | 6 -- .../lemonmates/models/item/straw_bi.json | 6 -- .../lemonmates/models/item/straw_gay.json | 6 -- .../models/item/straw_genderfluid.json | 6 -- .../lemonmates/models/item/straw_lesbian.json | 6 -- .../models/item/straw_nonbinary.json | 6 -- .../lemonmates/models/item/straw_pan.json | 6 -- .../lemonmates/models/item/straw_rainbow.json | 6 -- .../lemonmates/models/item/straw_trans.json | 6 -- .../datagen/ModItemModelProvider.java | 15 --- .../assets/lemonmates/lang/en_US.json | 1 + .../lemonmates/models/block/straw_3.json | 5 +- .../lemonmates/models/block/straw_4.json | 8 +- .../lemonmates/models/block/straw_5.json | 10 +- .../lemonmates/models/block/straw_6.json | 12 +-- .../lemonmates/models/block/straw_ace.json | 69 +++++++++++++ .../models/block/straw_agender.json | 82 +++++++++++++++ .../lemonmates/models/block/straw_aro.json | 82 +++++++++++++++ .../lemonmates/models/block/straw_aroace.json | 82 +++++++++++++++ .../lemonmates/models/block/straw_basic.json | 82 +++++++++++++++ .../lemonmates/models/block/straw_bi.json | 82 +++++++++++++++ .../lemonmates/models/block/straw_gay.json | 82 +++++++++++++++ .../models/block/straw_genderfluid.json | 82 +++++++++++++++ .../models/block/straw_lesbian.json | 82 +++++++++++++++ .../models/block/straw_nonbinary.json | 69 +++++++++++++ .../lemonmates/models/block/straw_pan.json | 56 +++++++++++ .../models/block/straw_rainbow.json | 95 ++++++++++++++++++ .../lemonmates/models/block/straw_trans.json | 82 +++++++++++++++ .../lemonmates/models/item/straw_ace.json | 3 + .../lemonmates/models/item/straw_agender.json | 3 + .../lemonmates/models/item/straw_aro.json | 3 + .../lemonmates/models/item/straw_aroace.json | 3 + .../lemonmates/models/item/straw_basic.json | 3 + .../lemonmates/models/item/straw_bi.json | 3 + .../lemonmates/models/item/straw_gay.json | 3 + .../models/item/straw_genderfluid.json | 3 + .../lemonmates/models/item/straw_lesbian.json | 3 + .../models/item/straw_nonbinary.json | 3 + .../lemonmates/models/item/straw_pan.json | 3 + .../lemonmates/models/item/straw_rainbow.json | 3 + .../lemonmates/models/item/straw_trans.json | 3 + .../textures/block/flag_color/blue_8.png | Bin 0 -> 368 bytes 46 files changed, 1085 insertions(+), 110 deletions(-) delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_ace.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_agender.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_aro.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_aroace.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_basic.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_bi.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_gay.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_genderfluid.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_lesbian.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_nonbinary.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_pan.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_rainbow.json delete mode 100644 src/generated/resources/assets/lemonmates/models/item/straw_trans.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_ace.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_agender.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_aro.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_aroace.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_basic.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_bi.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_gay.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_genderfluid.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_lesbian.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_nonbinary.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_pan.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_rainbow.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_trans.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_ace.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_agender.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_aro.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_aroace.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_basic.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_bi.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_gay.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_genderfluid.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_lesbian.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_nonbinary.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_pan.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_rainbow.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_trans.json create mode 100644 src/main/resources/assets/lemonmates/textures/block/flag_color/blue_8.png diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_ace.json b/src/generated/resources/assets/lemonmates/models/item/straw_ace.json deleted file mode 100644 index 784bc00..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_ace.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_ace" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_agender.json b/src/generated/resources/assets/lemonmates/models/item/straw_agender.json deleted file mode 100644 index 396431c..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_agender.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_agender" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_aro.json b/src/generated/resources/assets/lemonmates/models/item/straw_aro.json deleted file mode 100644 index 531458f..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_aro.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_aro" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_aroace.json b/src/generated/resources/assets/lemonmates/models/item/straw_aroace.json deleted file mode 100644 index c5ffe09..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_aroace.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_aroace" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_basic.json b/src/generated/resources/assets/lemonmates/models/item/straw_basic.json deleted file mode 100644 index 2559c21..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_basic.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_basic" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_bi.json b/src/generated/resources/assets/lemonmates/models/item/straw_bi.json deleted file mode 100644 index fc077b2..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_bi.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_bi" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_gay.json b/src/generated/resources/assets/lemonmates/models/item/straw_gay.json deleted file mode 100644 index c9f3a34..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_gay.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_gay" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_genderfluid.json b/src/generated/resources/assets/lemonmates/models/item/straw_genderfluid.json deleted file mode 100644 index d51e1b3..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_genderfluid.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_genderfluid" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_lesbian.json b/src/generated/resources/assets/lemonmates/models/item/straw_lesbian.json deleted file mode 100644 index 723cacf..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_lesbian.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_lesbian" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_nonbinary.json b/src/generated/resources/assets/lemonmates/models/item/straw_nonbinary.json deleted file mode 100644 index acc6a2c..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_nonbinary.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_nonbinary" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_pan.json b/src/generated/resources/assets/lemonmates/models/item/straw_pan.json deleted file mode 100644 index d465737..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_pan.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_pan" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_rainbow.json b/src/generated/resources/assets/lemonmates/models/item/straw_rainbow.json deleted file mode 100644 index 36bb19c..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_rainbow.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_rainbow" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/lemonmates/models/item/straw_trans.json b/src/generated/resources/assets/lemonmates/models/item/straw_trans.json deleted file mode 100644 index 5e82c90..0000000 --- a/src/generated/resources/assets/lemonmates/models/item/straw_trans.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "lemonmates:item/straw_trans" - } -} \ No newline at end of file diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java index 422e0b8..47ae2bf 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java @@ -93,21 +93,6 @@ protected void registerModels() { basicItem(ModItems.BOTTLE_CAP.get()); basicItem(ModItems.BOTTLE_EMPTY.get()); - basicItem(ModItems.STRAW_BASIC.get()); - basicItem(ModItems.STRAW_RAINBOW.get()); - basicItem(ModItems.STRAW_TRANS.get()); - basicItem(ModItems.STRAW_NONBINARY.get()); - basicItem(ModItems.STRAW_LESBIAN.get()); - basicItem(ModItems.STRAW_GAY.get()); - basicItem(ModItems.STRAW_GENDERFLUID.get()); - basicItem(ModItems.STRAW_ACE.get()); - basicItem(ModItems.STRAW_ARO.get()); - basicItem(ModItems.STRAW_AROACE.get()); - basicItem(ModItems.STRAW_AGENDER.get()); - basicItem(ModItems.STRAW_BI.get()); - basicItem(ModItems.STRAW_PAN.get()); - - ModFluids.BUCKETS.getEntries().forEach(item -> bucketItem((DeferredHolder) item)); } diff --git a/src/main/resources/assets/lemonmates/lang/en_US.json b/src/main/resources/assets/lemonmates/lang/en_US.json index dc8ade1..8966ee8 100644 --- a/src/main/resources/assets/lemonmates/lang/en_US.json +++ b/src/main/resources/assets/lemonmates/lang/en_US.json @@ -1,6 +1,7 @@ { "itemGroup.lemonmates.base": "Lemonmates", "itemGroup.lemonmates.processing": "Lemonmates Processing", + "itemGroup.lemonmates.serving": "Lemonmates Serving", "item.lemonmates.incomplete_citron_lemonade": "Incomplete Citron Lemonade", "item.lemonmates.incomplete_orange_lemonade": "Incomplete Orange Lemonade", diff --git a/src/main/resources/assets/lemonmates/models/block/straw_3.json b/src/main/resources/assets/lemonmates/models/block/straw_3.json index d0d69b2..a1de95a 100644 --- a/src/main/resources/assets/lemonmates/models/block/straw_3.json +++ b/src/main/resources/assets/lemonmates/models/block/straw_3.json @@ -3,8 +3,9 @@ "credit": "Made with Blockbench", "render_type": "minecraft:translucent", "textures": { - "s30": "lemonmates:block/straw_3", - "s31": "lemonmates:block/straw_3", + "s32": "lemonmates:block/flag_color/", + "s31": "lemonmates:block/flag_color/", + "s30": "lemonmates:block/flag_color/", "particle": "lemonmates:item/empty" }, "elements": [ diff --git a/src/main/resources/assets/lemonmates/models/block/straw_4.json b/src/main/resources/assets/lemonmates/models/block/straw_4.json index 63d0cc8..cb85ce9 100644 --- a/src/main/resources/assets/lemonmates/models/block/straw_4.json +++ b/src/main/resources/assets/lemonmates/models/block/straw_4.json @@ -3,10 +3,10 @@ "credit": "Made with Blockbench", "render_type": "minecraft:translucent", "textures": { - "s40": "lemonmates:block/straw_4", - "s41": "lemonmates:block/straw_4", - "s42": "lemonmates:block/straw_4", - "s43": "lemonmates:block/straw_4", + "s43": "lemonmates:block/flag_color/", + "s42": "lemonmates:block/flag_color/", + "s41": "lemonmates:block/flag_color/", + "s40": "lemonmates:block/flag_color/", "particle": "lemonmates:item/empty" }, "elements": [ diff --git a/src/main/resources/assets/lemonmates/models/block/straw_5.json b/src/main/resources/assets/lemonmates/models/block/straw_5.json index 4e18616..e189461 100644 --- a/src/main/resources/assets/lemonmates/models/block/straw_5.json +++ b/src/main/resources/assets/lemonmates/models/block/straw_5.json @@ -3,11 +3,11 @@ "credit": "Made with Blockbench", "render_type": "minecraft:translucent", "textures": { - "s50": "lemonmates:block/straw_5", - "s51": "lemonmates:block/straw_5", - "s52": "lemonmates:block/straw_5", - "s53": "lemonmates:block/straw_5", - "s54": "lemonmates:block/straw_5", + "s54": "lemonmates:block/flag_color/", + "s53": "lemonmates:block/flag_color/", + "s52": "lemonmates:block/flag_color/", + "s51": "lemonmates:block/flag_color/", + "s50": "lemonmates:block/flag_color/", "particle": "lemonmates:item/empty" }, "elements": [ diff --git a/src/main/resources/assets/lemonmates/models/block/straw_6.json b/src/main/resources/assets/lemonmates/models/block/straw_6.json index c74dc62..0a125a9 100644 --- a/src/main/resources/assets/lemonmates/models/block/straw_6.json +++ b/src/main/resources/assets/lemonmates/models/block/straw_6.json @@ -3,12 +3,12 @@ "credit": "Made with Blockbench", "render_type": "minecraft:translucent", "textures": { - "s60": "lemonmates:block/straw_6", - "s61": "lemonmates:block/straw_6", - "s62": "lemonmates:block/straw_6", - "s63": "lemonmates:block/straw_6", - "s64": "lemonmates:block/straw_6", - "s65": "lemonmates:block/straw_6", + "s65": "lemonmates:block/flag_color/", + "s64": "lemonmates:block/flag_color/", + "s63": "lemonmates:block/flag_color/", + "s62": "lemonmates:block/flag_color/", + "s61": "lemonmates:block/flag_color/", + "s60": "lemonmates:block/flag_color/", "particle": "lemonmates:item/empty" }, "elements": [ diff --git a/src/main/resources/assets/lemonmates/models/block/straw_ace.json b/src/main/resources/assets/lemonmates/models/block/straw_ace.json new file mode 100644 index 0000000..a0ca1be --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_ace.json @@ -0,0 +1,69 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s43": "lemonmates:block/flag_color/black", + "s42": "lemonmates:block/flag_color/gray", + "s41": "lemonmates:block/flag_color/white", + "s40": "lemonmates:block/flag_color/purple", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 3.25, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "east": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "south": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "west": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s40"} + } + }, + { + "name": "middle_bottom", + "from": [8, 3.25, 9], + "to": [9, 5.5, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4, 1, 6], "texture": "#s41"}, + "east": {"uv": [0, 4, 1, 6], "texture": "#s41"}, + "south": {"uv": [0, 4, 1, 6], "texture": "#s41"}, + "west": {"uv": [0, 4, 1, 6], "texture": "#s41"} + } + }, + { + "name": "middle_top", + "from": [8, 5.5, 9], + "to": [9, 7.75, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2, 1, 4], "texture": "#s42"}, + "east": {"uv": [0, 2, 1, 4], "texture": "#s42"}, + "south": {"uv": [0, 2, 1, 4], "texture": "#s42"}, + "west": {"uv": [0, 2, 1, 4], "texture": "#s42"} + } + }, + { + "name": "top", + "from": [8, 7.75, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "east": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "west": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s43"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_agender.json b/src/main/resources/assets/lemonmates/models/block/straw_agender.json new file mode 100644 index 0000000..48ac3ec --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_agender.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s54": "lemonmates:block/flag_color/gray_2", + "s53": "lemonmates:block/flag_color/white", + "s52": "lemonmates:block/flag_color/green_2", + "s51": "lemonmates:block/flag_color/white", + "s50": "lemonmates:block/flag_color/gray_2", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_aro.json b/src/main/resources/assets/lemonmates/models/block/straw_aro.json new file mode 100644 index 0000000..a6424bd --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_aro.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s54": "lemonmates:block/flag_color/green", + "s53": "lemonmates:block/flag_color/green_2", + "s52": "lemonmates:block/flag_color/white", + "s51": "lemonmates:block/flag_color/gray", + "s50": "lemonmates:block/flag_color/black", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_aroace.json b/src/main/resources/assets/lemonmates/models/block/straw_aroace.json new file mode 100644 index 0000000..8fe991b --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_aroace.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s54": "lemonmates:block/flag_color/orange", + "s53": "lemonmates:block/flag_color/orange_2", + "s52": "lemonmates:block/flag_color/white", + "s51": "lemonmates:block/flag_color/blue_3", + "s50": "lemonmates:block/flag_color/blue_4", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_basic.json b/src/main/resources/assets/lemonmates/models/block/straw_basic.json new file mode 100644 index 0000000..df719ce --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_basic.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s50": "lemonmates:block/flag_color/red", + "s51": "lemonmates:block/flag_color/white", + "s52": "lemonmates:block/flag_color/red", + "s53": "lemonmates:block/flag_color/white", + "s54": "lemonmates:block/flag_color/red", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_bi.json b/src/main/resources/assets/lemonmates/models/block/straw_bi.json new file mode 100644 index 0000000..206e7e6 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_bi.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s54": "lemonmates:block/flag_color/magenta", + "s53": "lemonmates:block/flag_color/magenta", + "s52": "lemonmates:block/flag_color/purple_2", + "s51": "lemonmates:block/flag_color/blue_8", + "s50": "lemonmates:block/flag_color/blue_8", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_gay.json b/src/main/resources/assets/lemonmates/models/block/straw_gay.json new file mode 100644 index 0000000..74ec234 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_gay.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s54": "lemonmates:block/flag_color/green_4", + "s53": "lemonmates:block/flag_color/green_5", + "s52": "lemonmates:block/flag_color/white", + "s51": "lemonmates:block/flag_color/blue_5", + "s50": "lemonmates:block/flag_color/purple_4", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_genderfluid.json b/src/main/resources/assets/lemonmates/models/block/straw_genderfluid.json new file mode 100644 index 0000000..a39be86 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_genderfluid.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s54": "lemonmates:block/flag_color/pink_2", + "s53": "lemonmates:block/flag_color/white", + "s52": "lemonmates:block/flag_color/purple_3", + "s51": "lemonmates:block/flag_color/blue_4", + "s50": "lemonmates:block/flag_color/purple_6", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_lesbian.json b/src/main/resources/assets/lemonmates/models/block/straw_lesbian.json new file mode 100644 index 0000000..6af008b --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_lesbian.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s54": "lemonmates:block/flag_color/red_2", + "s53": "lemonmates:block/flag_color/orange_3", + "s52": "lemonmates:block/flag_color/white", + "s51": "lemonmates:block/flag_color/pink_3", + "s50": "lemonmates:block/flag_color/magenta", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_nonbinary.json b/src/main/resources/assets/lemonmates/models/block/straw_nonbinary.json new file mode 100644 index 0000000..475cc91 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_nonbinary.json @@ -0,0 +1,69 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s43": "lemonmates:block/flag_color/yellow_2", + "s42": "lemonmates:block/flag_color/white", + "s41": "lemonmates:block/flag_color/purple_2", + "s40": "lemonmates:block/flag_color/gray_2", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 3.25, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "east": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "south": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "west": {"uv": [0, 6, 1, 8], "texture": "#s40"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s40"} + } + }, + { + "name": "middle_bottom", + "from": [8, 3.25, 9], + "to": [9, 5.5, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4, 1, 6], "texture": "#s41"}, + "east": {"uv": [0, 4, 1, 6], "texture": "#s41"}, + "south": {"uv": [0, 4, 1, 6], "texture": "#s41"}, + "west": {"uv": [0, 4, 1, 6], "texture": "#s41"} + } + }, + { + "name": "middle_top", + "from": [8, 5.5, 9], + "to": [9, 7.75, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2, 1, 4], "texture": "#s42"}, + "east": {"uv": [0, 2, 1, 4], "texture": "#s42"}, + "south": {"uv": [0, 2, 1, 4], "texture": "#s42"}, + "west": {"uv": [0, 2, 1, 4], "texture": "#s42"} + } + }, + { + "name": "top", + "from": [8, 7.75, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "east": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "west": {"uv": [0, 0, 1, 2], "texture": "#s43"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s43"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_pan.json b/src/main/resources/assets/lemonmates/models/block/straw_pan.json new file mode 100644 index 0000000..7827d62 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_pan.json @@ -0,0 +1,56 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s32": "lemonmates:block/flag_color/magenta_2", + "s31": "lemonmates:block/flag_color/yellow", + "s30": "lemonmates:block/flag_color/blue_7", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "east": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "south": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "west": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s30"} + } + }, + { + "name": "middle", + "from": [8, 4, 9], + "to": [9, 7, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 3, 1, 6], "texture": "#s31"}, + "east": {"uv": [0, 3, 1, 6], "texture": "#s31"}, + "south": {"uv": [0, 3, 1, 6], "texture": "#s31"}, + "west": {"uv": [0, 3, 1, 6], "texture": "#s31"} + } + }, + { + "name": "top", + "from": [8, 7, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "east": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "south": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "west": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s32"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_rainbow.json b/src/main/resources/assets/lemonmates/models/block/straw_rainbow.json new file mode 100644 index 0000000..08bf611 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_rainbow.json @@ -0,0 +1,95 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s65": "lemonmates:block/flag_color/red", + "s64": "lemonmates:block/flag_color/orange", + "s63": "lemonmates:block/flag_color/yellow", + "s62": "lemonmates:block/flag_color/green", + "s61": "lemonmates:block/flag_color/blue", + "s60": "lemonmates:block/flag_color/purple", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.5, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 10.5, 1, 12], "texture": "#s60"}, + "east": {"uv": [0, 10.5, 1, 12], "texture": "#s60"}, + "south": {"uv": [0, 10.5, 1, 12], "texture": "#s60"}, + "west": {"uv": [0, 10.5, 1, 12], "texture": "#s60"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s60"} + } + }, + { + "name": "middle_bottom_1", + "from": [8, 2.5, 9], + "to": [9, 4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.5, 1, 10], "texture": "#s61"}, + "east": {"uv": [0, 8.5, 1, 10], "texture": "#s61"}, + "south": {"uv": [0, 8.5, 1, 10], "texture": "#s61"}, + "west": {"uv": [0, 8.5, 1, 10], "texture": "#s61"} + } + }, + { + "name": "middle_bottom_2", + "from": [8, 4, 9], + "to": [9, 5.5, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.5, 1, 8], "texture": "#s62"}, + "east": {"uv": [0, 6.5, 1, 8], "texture": "#s62"}, + "south": {"uv": [0, 6.5, 1, 8], "texture": "#s62"}, + "west": {"uv": [0, 6.5, 1, 8], "texture": "#s62"} + } + }, + { + "name": "middle_top_1", + "from": [8, 5.5, 9], + "to": [9, 7, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.5, 1, 6], "texture": "#s63"}, + "east": {"uv": [0, 4.5, 1, 6], "texture": "#s63"}, + "south": {"uv": [0, 4.5, 1, 6], "texture": "#s63"}, + "west": {"uv": [0, 4.5, 1, 6], "texture": "#s63"} + } + }, + { + "name": "middle_top_2", + "from": [8, 7, 9], + "to": [9, 8.5, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.5, 1, 4], "texture": "#s64"}, + "east": {"uv": [0, 2.5, 1, 4], "texture": "#s64"}, + "south": {"uv": [0, 2.5, 1, 4], "texture": "#s64"}, + "west": {"uv": [0, 2.5, 1, 4], "texture": "#s64"} + } + }, + { + "name": "top", + "from": [8, 8.5, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.5, 1, 2], "texture": "#s65"}, + "east": {"uv": [0, 0.5, 1, 2], "texture": "#s65"}, + "south": {"uv": [0, 0.5, 1, 2], "texture": "#s65"}, + "west": {"uv": [0, 0.5, 1, 2], "texture": "#s65"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s65"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_trans.json b/src/main/resources/assets/lemonmates/models/block/straw_trans.json new file mode 100644 index 0000000..2681d95 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_trans.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s50": "lemonmates:block/flag_color/blue_7", + "s51": "lemonmates:block/flag_color/pink", + "s52": "lemonmates:block/flag_color/white", + "s53": "lemonmates:block/flag_color/pink", + "s54": "lemonmates:block/flag_color/blue_7", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_ace.json b/src/main/resources/assets/lemonmates/models/item/straw_ace.json new file mode 100644 index 0000000..3333b0c --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_ace.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_ace" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_agender.json b/src/main/resources/assets/lemonmates/models/item/straw_agender.json new file mode 100644 index 0000000..731c182 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_agender.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_agender" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_aro.json b/src/main/resources/assets/lemonmates/models/item/straw_aro.json new file mode 100644 index 0000000..e099925 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_aro.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_aro" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_aroace.json b/src/main/resources/assets/lemonmates/models/item/straw_aroace.json new file mode 100644 index 0000000..2f8470b --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_aroace.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_aroace" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_basic.json b/src/main/resources/assets/lemonmates/models/item/straw_basic.json new file mode 100644 index 0000000..bfa2af8 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_basic.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_basic" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_bi.json b/src/main/resources/assets/lemonmates/models/item/straw_bi.json new file mode 100644 index 0000000..962a963 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_bi.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_bi" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_gay.json b/src/main/resources/assets/lemonmates/models/item/straw_gay.json new file mode 100644 index 0000000..b673422 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_gay.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_gay" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_genderfluid.json b/src/main/resources/assets/lemonmates/models/item/straw_genderfluid.json new file mode 100644 index 0000000..eb3911a --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_genderfluid.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_genderfluid" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_lesbian.json b/src/main/resources/assets/lemonmates/models/item/straw_lesbian.json new file mode 100644 index 0000000..8a027c9 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_lesbian.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_lesbian" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_nonbinary.json b/src/main/resources/assets/lemonmates/models/item/straw_nonbinary.json new file mode 100644 index 0000000..8befabf --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_nonbinary.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_nonbinary" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_pan.json b/src/main/resources/assets/lemonmates/models/item/straw_pan.json new file mode 100644 index 0000000..84bdb3a --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_pan.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_pan" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_rainbow.json b/src/main/resources/assets/lemonmates/models/item/straw_rainbow.json new file mode 100644 index 0000000..de0b7e6 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_rainbow.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_rainbow" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_trans.json b/src/main/resources/assets/lemonmates/models/item/straw_trans.json new file mode 100644 index 0000000..849bf74 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_trans.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_trans" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/textures/block/flag_color/blue_8.png b/src/main/resources/assets/lemonmates/textures/block/flag_color/blue_8.png new file mode 100644 index 0000000000000000000000000000000000000000..0ff4db9d05c182ac0f44c49e335d304208725277 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF-L1 z5RjOeSEA?V8lqsTXQ*dr*u^1s4yb5HYJ_K+r>7PJ2avP_2QHu>s=( zh`As;Sr{&803>_ksX@irFN+I+OkPhH#}J9j$r2$A ZjX;AYFfe8s9SQ^~@^tlcS?83{1OR~jM7RI| literal 0 HcmV?d00001 From bd0ca9813d01af913ede86f7e787016f1381b849 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 04:55:59 +0100 Subject: [PATCH 16/76] add umbrellas, fix aroace color, add recipes for straws and umbrellas --- .../lemonmates/AllCreativeModeTabs.java | 6 + .../net/doppelr/lemonmates/item/ModItems.java | 14 +++ .../assets/lemonmates/lang/en_US.json | 6 + .../{umbrella.json => drink_umbrella_1.json} | 2 +- .../models/block/drink_umbrella_2.json | 109 ++++++++++++++++++ .../models/block/drink_umbrella_3.json | 109 ++++++++++++++++++ .../models/block/drink_umbrella_4.json | 109 ++++++++++++++++++ .../lemonmates/models/block/straw_aroace.json | 2 +- .../models/item/drink_umbrella_1.json | 3 + .../models/item/drink_umbrella_2.json | 3 + .../models/item/drink_umbrella_3.json | 3 + .../models/item/drink_umbrella_4.json | 3 + .../{umbrella_8.png => drink_umbrella_1.png} | Bin .../textures/block/drink_umbrella_2.png | Bin 0 -> 669 bytes .../textures/block/drink_umbrella_3.png | Bin 0 -> 669 bytes .../textures/block/drink_umbrella_4.png | Bin 0 -> 669 bytes .../recipe/shapeless/umbrella1_shapeless.json | 21 ++++ .../recipe/shapeless/umbrella2_shapeless.json | 21 ++++ .../recipe/shapeless/umbrella3_shapeless.json | 21 ++++ .../recipe/shapeless/umbrella4_shapeless.json | 21 ++++ .../stonecutting/straw_ace_from_straws.json | 10 ++ .../straw_agender_from_straws.json | 10 ++ .../stonecutting/straw_aro_from_straws.json | 10 ++ .../straw_aroace_from_straws.json | 10 ++ .../straw_basic_from_cardboard.json | 10 ++ .../stonecutting/straw_bi_from_straws.json | 10 ++ .../stonecutting/straw_gay_from_straws.json | 10 ++ .../straw_genderfluid_from_straws.json | 10 ++ .../straw_lesbian_from_straws.json | 10 ++ .../straw_nonbinary_from_straws.json | 10 ++ .../stonecutting/straw_pan_from_straws.json | 10 ++ .../straw_rainbow_from_straws.json | 10 ++ .../stonecutting/straw_trans_from_straws.json | 10 ++ .../tags/drinking_straws/drinking_straw.json | 17 +++ 34 files changed, 598 insertions(+), 2 deletions(-) rename src/main/resources/assets/lemonmates/models/block/{umbrella.json => drink_umbrella_1.json} (98%) create mode 100644 src/main/resources/assets/lemonmates/models/block/drink_umbrella_2.json create mode 100644 src/main/resources/assets/lemonmates/models/block/drink_umbrella_3.json create mode 100644 src/main/resources/assets/lemonmates/models/block/drink_umbrella_4.json create mode 100644 src/main/resources/assets/lemonmates/models/item/drink_umbrella_1.json create mode 100644 src/main/resources/assets/lemonmates/models/item/drink_umbrella_2.json create mode 100644 src/main/resources/assets/lemonmates/models/item/drink_umbrella_3.json create mode 100644 src/main/resources/assets/lemonmates/models/item/drink_umbrella_4.json rename src/main/resources/assets/lemonmates/textures/block/{umbrella_8.png => drink_umbrella_1.png} (100%) create mode 100644 src/main/resources/assets/lemonmates/textures/block/drink_umbrella_2.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/drink_umbrella_3.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/drink_umbrella_4.png create mode 100644 src/main/resources/data/lemonmates/recipe/shapeless/umbrella1_shapeless.json create mode 100644 src/main/resources/data/lemonmates/recipe/shapeless/umbrella2_shapeless.json create mode 100644 src/main/resources/data/lemonmates/recipe/shapeless/umbrella3_shapeless.json create mode 100644 src/main/resources/data/lemonmates/recipe/shapeless/umbrella4_shapeless.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_cardboard.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json create mode 100644 src/main/resources/data/lemonmates/tags/drinking_straws/drinking_straw.json diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index ca3ce33..d5946a4 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -182,6 +182,12 @@ public class AllCreativeModeTabs { output.accept(ModItems.STRAW_AGENDER); output.accept(ModItems.STRAW_BI); output.accept(ModItems.STRAW_PAN); + + // Umbrellas + output.accept(ModItems.DRINK_UMBRELLA_1); + output.accept(ModItems.DRINK_UMBRELLA_2); + output.accept(ModItems.DRINK_UMBRELLA_3); + output.accept(ModItems.DRINK_UMBRELLA_4); }) .build() ); diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index 03861d3..b3e871e 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -173,6 +173,20 @@ public class ModItems { public static final DeferredItem STRAW_PAN = ITEMS.register("straw_pan", () -> new Item(new Item.Properties())); + // Umbrellas + // Red-White + public static final DeferredItem DRINK_UMBRELLA_1 = ITEMS.register("drink_umbrella_1", + () -> new Item(new Item.Properties())); + // Yellow-White + public static final DeferredItem DRINK_UMBRELLA_2 = ITEMS.register("drink_umbrella_2", + () -> new Item(new Item.Properties())); + // Black-Purple + public static final DeferredItem DRINK_UMBRELLA_3 = ITEMS.register("drink_umbrella_3", + () -> new Item(new Item.Properties())); + // Orange-White + public static final DeferredItem DRINK_UMBRELLA_4 = ITEMS.register("drink_umbrella_4", + () -> new Item(new Item.Properties())); + // Serving related // Glasses diff --git a/src/main/resources/assets/lemonmates/lang/en_US.json b/src/main/resources/assets/lemonmates/lang/en_US.json index 8966ee8..2be86a9 100644 --- a/src/main/resources/assets/lemonmates/lang/en_US.json +++ b/src/main/resources/assets/lemonmates/lang/en_US.json @@ -126,10 +126,16 @@ "item.lemonmates.straw_bi": "Straw (Bisexual Pride Flag)", "item.lemonmates.straw_pan": "Straw (Pansexual Pride Flag)", + "item.lemonmates.drink_umbrella_1": "Drinking Glass Umbrella (Red-White)", + "item.lemonmates.drink_umbrella_2": "Drinking Glass Umbrella (Yellow-White)", + "item.lemonmates.drink_umbrella_3": "Drinking Glass Umbrella (Black-Purple)", + "item.lemonmates.drink_umbrella_4": "Drinking Glass Umbrella (Orange-White)", + "tag.block.lemonmates.citron_logs": "Citron Logs", "tag.block.lemonmates.orange_logs": "Orange Logs", "tag.item.lemonmates.citron_logs": "Citron Logs", "tag.item.lemonmates.orange_logs": "Orange Logs", + "tag.item.lemonmates.drinking_straws": "Drinking Straws", "tag.item.lemonmates.bottles": "Bottles", "tag.item.lemonmates.lemonade_fruits": "Lemonade Fruits", "tag.item.lemonmates.lemonade_label_dyes": "Lemonade Label Dyes", diff --git a/src/main/resources/assets/lemonmates/models/block/umbrella.json b/src/main/resources/assets/lemonmates/models/block/drink_umbrella_1.json similarity index 98% rename from src/main/resources/assets/lemonmates/models/block/umbrella.json rename to src/main/resources/assets/lemonmates/models/block/drink_umbrella_1.json index 907615b..2c2c72d 100644 --- a/src/main/resources/assets/lemonmates/models/block/umbrella.json +++ b/src/main/resources/assets/lemonmates/models/block/drink_umbrella_1.json @@ -3,7 +3,7 @@ "credit": "Made with Blockbench", "render_type": "minecraft:translucent", "textures": { - "u1": "lemonmates:block/umbrella_8", + "u1": "lemonmates:block/drink_umbrella_1", "particle": "lemonmates:item/empty" }, "elements": [ diff --git a/src/main/resources/assets/lemonmates/models/block/drink_umbrella_2.json b/src/main/resources/assets/lemonmates/models/block/drink_umbrella_2.json new file mode 100644 index 0000000..c4f691a --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/drink_umbrella_2.json @@ -0,0 +1,109 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "u1": "lemonmates:block/drink_umbrella_2", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "shaft", + "from": [9, 5, 5.5], + "to": [10, 10, 6.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "east": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "south": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "west": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "up": {"uv": [6, 4, 5, 3], "texture": "#u1"}, + "down": {"uv": [6, 3, 5, 4], "texture": "#u1"} + } + }, + { + "name": "top", + "from": [7, 9.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [1, 0, 6, 0], "texture": "#u1"}, + "east": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "south": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "west": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "up": {"uv": [5, 5, 0, 0], "texture": "#u1"}, + "down": {"uv": [5, 0, 0, 5], "texture": "#u1"} + } + }, + { + "name": "north", + "from": [7, 8.5, 3.5], + "to": [12, 9.5, 3.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "south", + "from": [7, 8.5, 8.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "west", + "from": [7, 8.5, 3.5], + "to": [7, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + }, + { + "name": "east", + "from": [12, 8.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + }, + "groups": [ + 0, + { + "name": "umbrella_panels", + "origin": [8.5, 6, 11], + "color": 0, + "children": [1, 2, 3, 4, 5] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/drink_umbrella_3.json b/src/main/resources/assets/lemonmates/models/block/drink_umbrella_3.json new file mode 100644 index 0000000..8c58eb3 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/drink_umbrella_3.json @@ -0,0 +1,109 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "u1": "lemonmates:block/drink_umbrella_3", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "shaft", + "from": [9, 5, 5.5], + "to": [10, 10, 6.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "east": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "south": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "west": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "up": {"uv": [6, 4, 5, 3], "texture": "#u1"}, + "down": {"uv": [6, 3, 5, 4], "texture": "#u1"} + } + }, + { + "name": "top", + "from": [7, 9.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [1, 0, 6, 0], "texture": "#u1"}, + "east": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "south": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "west": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "up": {"uv": [5, 5, 0, 0], "texture": "#u1"}, + "down": {"uv": [5, 0, 0, 5], "texture": "#u1"} + } + }, + { + "name": "north", + "from": [7, 8.5, 3.5], + "to": [12, 9.5, 3.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "south", + "from": [7, 8.5, 8.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "west", + "from": [7, 8.5, 3.5], + "to": [7, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + }, + { + "name": "east", + "from": [12, 8.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + }, + "groups": [ + 0, + { + "name": "umbrella_panels", + "origin": [8.5, 6, 11], + "color": 0, + "children": [1, 2, 3, 4, 5] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/drink_umbrella_4.json b/src/main/resources/assets/lemonmates/models/block/drink_umbrella_4.json new file mode 100644 index 0000000..4573a17 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/drink_umbrella_4.json @@ -0,0 +1,109 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "u1": "lemonmates:block/drink_umbrella_4", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "shaft", + "from": [9, 5, 5.5], + "to": [10, 10, 6.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "east": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "south": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "west": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "up": {"uv": [6, 4, 5, 3], "texture": "#u1"}, + "down": {"uv": [6, 3, 5, 4], "texture": "#u1"} + } + }, + { + "name": "top", + "from": [7, 9.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [1, 0, 6, 0], "texture": "#u1"}, + "east": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "south": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "west": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "up": {"uv": [5, 5, 0, 0], "texture": "#u1"}, + "down": {"uv": [5, 0, 0, 5], "texture": "#u1"} + } + }, + { + "name": "north", + "from": [7, 8.5, 3.5], + "to": [12, 9.5, 3.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "south", + "from": [7, 8.5, 8.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "west", + "from": [7, 8.5, 3.5], + "to": [7, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + }, + { + "name": "east", + "from": [12, 8.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + }, + "groups": [ + 0, + { + "name": "umbrella_panels", + "origin": [8.5, 6, 11], + "color": 0, + "children": [1, 2, 3, 4, 5] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_aroace.json b/src/main/resources/assets/lemonmates/models/block/straw_aroace.json index 8fe991b..da6c7f9 100644 --- a/src/main/resources/assets/lemonmates/models/block/straw_aroace.json +++ b/src/main/resources/assets/lemonmates/models/block/straw_aroace.json @@ -4,7 +4,7 @@ "render_type": "minecraft:translucent", "textures": { "s54": "lemonmates:block/flag_color/orange", - "s53": "lemonmates:block/flag_color/orange_2", + "s53": "lemonmates:block/flag_color/yellow_2", "s52": "lemonmates:block/flag_color/white", "s51": "lemonmates:block/flag_color/blue_3", "s50": "lemonmates:block/flag_color/blue_4", diff --git a/src/main/resources/assets/lemonmates/models/item/drink_umbrella_1.json b/src/main/resources/assets/lemonmates/models/item/drink_umbrella_1.json new file mode 100644 index 0000000..683d363 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/drink_umbrella_1.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/drink_umbrella_1" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/drink_umbrella_2.json b/src/main/resources/assets/lemonmates/models/item/drink_umbrella_2.json new file mode 100644 index 0000000..88a834d --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/drink_umbrella_2.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/drink_umbrella_2" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/drink_umbrella_3.json b/src/main/resources/assets/lemonmates/models/item/drink_umbrella_3.json new file mode 100644 index 0000000..55da742 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/drink_umbrella_3.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/drink_umbrella_3" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/drink_umbrella_4.json b/src/main/resources/assets/lemonmates/models/item/drink_umbrella_4.json new file mode 100644 index 0000000..68c611b --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/drink_umbrella_4.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/drink_umbrella_4" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/textures/block/umbrella_8.png b/src/main/resources/assets/lemonmates/textures/block/drink_umbrella_1.png similarity index 100% rename from src/main/resources/assets/lemonmates/textures/block/umbrella_8.png rename to src/main/resources/assets/lemonmates/textures/block/drink_umbrella_1.png diff --git a/src/main/resources/assets/lemonmates/textures/block/drink_umbrella_2.png b/src/main/resources/assets/lemonmates/textures/block/drink_umbrella_2.png new file mode 100644 index 0000000000000000000000000000000000000000..3907a87783ef873d8968cb83adfb7419635d703b GIT binary patch literal 669 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1k1^9%xe)`XF;o9}4M5~Te%c>}oP%HT;7nMYBy@DV;ppuh$%@cqWS4ogx z@P8O!*mOqcJW!Ogz$3Dlfr0NZ2s0kfUy%Y7lq_+LC<)F_D=AMbN@WO0%*-p%^K%VR zFx4~EGc@et5IYA{v?DdbGtJXei-7~kVP%kFWMyCkvb=y;8p;NFM}v_WEY1XE8!|F6 z2m$Nv;eZ8x(p2rK(cJ6SBf|F7g+=CXxBV zxZ$3&xQgF24UXLozZ%bP`;sc?;=M$E!i-raM{M0~C)7O%=ka}2S!dV&V#A{<_jhi~ zFT4@l6mt{}+k;$|9Q3J@Z-o!kZ_}IcIHk{k;ByTe8?c{#ko@8nm^h$$fao zVeqv5!P8yqZg0zvDASAcuva*(dEj>5Ui0PFXZxGuelbd|W4yd)_xbud)8&#?FWE2E zbIsVL%k*2nE$&xic>G;i(E!E;Oj-;f4y+AaD;NS8MH&9p9w_|7@N;&JLG)#FZ%_bv My85}Sb4q9e0JI&<-2eap literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/drink_umbrella_3.png b/src/main/resources/assets/lemonmates/textures/block/drink_umbrella_3.png new file mode 100644 index 0000000000000000000000000000000000000000..83d8299ee632d5c36d7ff901d7bb953a4b3f755d GIT binary patch literal 669 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1k1^9%x0_jZ*|C-L15RjOeSEA?V8lqsT zXQ*dr*u^0RGH*v}glC$krxpVTki*I##mLIQ2xNHyu{4wo@{R^0GgzDn$TnnTVh{w< zQ9zv8&H@(C0kT0L0f<5RVKlm}3=F^^nZVA#0#svQWNg5=0Aemk59Mybe+Q;eX;usR){&rGeUyA{cv!aN`_x&G^^_eqk zt!_L&^^@Bo&W(394d%{p72C}A;79XI6|d=C?TqrFvlbORvYS}PkmPwtoYgHuqj1AL zXK@w3X&M~69ey>Q-}WU{(8YU+{Dc{^Ope&P+fJx^5YFTKsiT*81-E3efBdud@-%2`O_TfZj>F(- z`-7*u*4^HgA5o?k=V7mKTJyl|yuIejtK&+hZ}b*9TDt6s8Ss^^-q zOPA@lep}qH#_;&NvZ4Wu3z)PRLL68dxK=O(Fp4t#t36QohvDb!8iVM|=H8$H@^tlc JS?83{1OP@?${YXy literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/drink_umbrella_4.png b/src/main/resources/assets/lemonmates/textures/block/drink_umbrella_4.png new file mode 100644 index 0000000000000000000000000000000000000000..30a6bbbe11d495b4b8a7f2471c3b869375a145a6 GIT binary patch literal 669 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1k1^9%x{?B6g|NnneqE$z#WmS|(sFi$_i%O!mUO|u^P)VNC%nd+_t0c%T z7^n;a7&e{JIS&-&EbxddW?@05M2Ej7GPWfdLpK6WAG8fNBhkj13qUK+FZ{VO;<*YZ{OZ z0!%=Yn7}H7EG>X6s4hbT1CT76>6PM5{YBP5`#3#a977`9-%bkbYcb$)Rus|rzW>9q zK67TR)s5$;esWvHx$&;1!Q2_HVw>3>{Ahlu;x)aiol!n?)}n$(b`$Fuk~|NIv$|zy z6mGcZEUw}=O@m{%!>`8k+rFduRl zaTq*pfADnIy4&0GBg*vRJnR)tYaY0rx7U2R_1XUBxL=G?>liQZ*?qpg&UCqC)l2qE z^;|P{=`#J+Z;SiY7#@FDRy2Td0h1O(hy!Z_*9wLJMp1@;wFe6SF#McdV-S7W+#3`? Mp00i_>zopr0PBg&ga7~l literal 0 HcmV?d00001 diff --git a/src/main/resources/data/lemonmates/recipe/shapeless/umbrella1_shapeless.json b/src/main/resources/data/lemonmates/recipe/shapeless/umbrella1_shapeless.json new file mode 100644 index 0000000..588f57c --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/shapeless/umbrella1_shapeless.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "minecraft:planks" + }, + { + "tag": "minecraft:wool" + }, + { + "item": "minecraft:red_dye" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "id": "lemonmates:drink_umbrella_1", + "count": 16 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/shapeless/umbrella2_shapeless.json b/src/main/resources/data/lemonmates/recipe/shapeless/umbrella2_shapeless.json new file mode 100644 index 0000000..28ec5f9 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/shapeless/umbrella2_shapeless.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "minecraft:planks" + }, + { + "tag": "minecraft:wool" + }, + { + "item": "minecraft:yellow_dye" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "id": "lemonmates:drink_umbrella_2", + "count": 16 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/shapeless/umbrella3_shapeless.json b/src/main/resources/data/lemonmates/recipe/shapeless/umbrella3_shapeless.json new file mode 100644 index 0000000..566b73d --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/shapeless/umbrella3_shapeless.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "minecraft:planks" + }, + { + "tag": "minecraft:wool" + }, + { + "item": "minecraft:black_dye" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "id": "lemonmates:drink_umbrella_3", + "count": 16 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/shapeless/umbrella4_shapeless.json b/src/main/resources/data/lemonmates/recipe/shapeless/umbrella4_shapeless.json new file mode 100644 index 0000000..ba7cfbf --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/shapeless/umbrella4_shapeless.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "minecraft:planks" + }, + { + "tag": "minecraft:wool" + }, + { + "item": "minecraft:orange_dye" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "id": "lemonmates:drink_umbrella_4", + "count": 16 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json new file mode 100644 index 0000000..a722fd9 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_ace", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json new file mode 100644 index 0000000..8a02bed --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_agender", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json new file mode 100644 index 0000000..c99426f --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_aro", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json new file mode 100644 index 0000000..6c20013 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_aroace", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_cardboard.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_cardboard.json new file mode 100644 index 0000000..5c5ef31 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_cardboard.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "create:cardboard" + }, + "result": { + "id": "lemonmates:straw_basic", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json new file mode 100644 index 0000000..2c3dac1 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_bi", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json new file mode 100644 index 0000000..8453984 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_gay", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json new file mode 100644 index 0000000..ae38def --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_genderfluid", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json new file mode 100644 index 0000000..11ca148 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_lesbian", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json new file mode 100644 index 0000000..502e9d3 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_nonbinary", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json new file mode 100644 index 0000000..bb4ceef --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_pan", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json new file mode 100644 index 0000000..b5959a7 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_rainbow", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json new file mode 100644 index 0000000..b14badf --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "lemonmates:straw_basic" + }, + "result": { + "id": "lemonmates:straw_trans", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/tags/drinking_straws/drinking_straw.json b/src/main/resources/data/lemonmates/tags/drinking_straws/drinking_straw.json new file mode 100644 index 0000000..21de0d1 --- /dev/null +++ b/src/main/resources/data/lemonmates/tags/drinking_straws/drinking_straw.json @@ -0,0 +1,17 @@ +{ + "values": [ + "lemonmates:straw_basic", + "lemonmates:straw_rainbow", + "lemonmates:straw_trans", + "lemonmates:straw_nonbinary", + "lemonmates:straw_lesbian", + "lemonmates:straw_gay", + "lemonmates:straw_genderfluid", + "lemonmates:straw_ace", + "lemonmates:straw_aro", + "lemonmates:straw_aroace", + "lemonmates:straw_agender", + "lemonmates:straw_bi", + "lemonmates:straw_pan" + ] +} \ No newline at end of file From a54e88d6f717954f3ce1fff0611e5d4b51550de8 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 05:01:33 +0100 Subject: [PATCH 17/76] fix stupidity --- .../recipe/stonecutting/straw_ace_from_straws.json | 2 +- .../recipe/stonecutting/straw_agender_from_straws.json | 2 +- .../recipe/stonecutting/straw_aro_from_straws.json | 2 +- .../recipe/stonecutting/straw_aroace_from_straws.json | 2 +- .../recipe/stonecutting/straw_basic_from_straws.json | 10 ++++++++++ .../recipe/stonecutting/straw_bi_from_straws.json | 2 +- .../recipe/stonecutting/straw_gay_from_straws.json | 2 +- .../stonecutting/straw_genderfluid_from_straws.json | 2 +- .../recipe/stonecutting/straw_lesbian_from_straws.json | 2 +- .../stonecutting/straw_nonbinary_from_straws.json | 2 +- .../recipe/stonecutting/straw_pan_from_straws.json | 2 +- .../recipe/stonecutting/straw_rainbow_from_straws.json | 2 +- .../recipe/stonecutting/straw_trans_from_straws.json | 2 +- .../drinking_straw.json => item/drinking_straws.json} | 0 14 files changed, 22 insertions(+), 12 deletions(-) create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_straws.json rename src/main/resources/data/lemonmates/tags/{drinking_straws/drinking_straw.json => item/drinking_straws.json} (100%) diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json index a722fd9..d460276 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_ace", diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json index 8a02bed..33acea5 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_agender", diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json index c99426f..fd844ac 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_aro", diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json index 6c20013..cdefcd0 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_aroace", diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_straws.json new file mode 100644 index 0000000..e489ee7 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_straws.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "lemonmates:drinking_straws" + }, + "result": { + "id": "lemonmates:straw_basic", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json index 2c3dac1..afe6a44 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_bi", diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json index 8453984..115e72a 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_gay", diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json index ae38def..0a63078 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_genderfluid", diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json index 11ca148..ca29f4a 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_lesbian", diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json index 502e9d3..cc841b0 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_nonbinary", diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json index bb4ceef..402c545 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_pan", diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json index b5959a7..bdc9af6 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_rainbow", diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json index b14badf..aa0993b 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json @@ -1,7 +1,7 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "lemonmates:straw_basic" + "tag": "lemonmates:drinking_straws" }, "result": { "id": "lemonmates:straw_trans", diff --git a/src/main/resources/data/lemonmates/tags/drinking_straws/drinking_straw.json b/src/main/resources/data/lemonmates/tags/item/drinking_straws.json similarity index 100% rename from src/main/resources/data/lemonmates/tags/drinking_straws/drinking_straw.json rename to src/main/resources/data/lemonmates/tags/item/drinking_straws.json From 346cda0d46cd7bab9a8afd70cce9bb93b46c746f Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 05:53:42 +0100 Subject: [PATCH 18/76] tag changes --- .../create/tags/item/upright_on_belt.json | 21 ++++++++++++++++++- .../datagen/ModItemTagProvider.java | 21 ++++++++++++++++++- .../tags/item/drinking_umbrellas.json | 8 +++++++ 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/data/lemonmates/tags/item/drinking_umbrellas.json diff --git a/src/generated/resources/data/create/tags/item/upright_on_belt.json b/src/generated/resources/data/create/tags/item/upright_on_belt.json index 9764185..6e193ff 100644 --- a/src/generated/resources/data/create/tags/item/upright_on_belt.json +++ b/src/generated/resources/data/create/tags/item/upright_on_belt.json @@ -10,6 +10,25 @@ "lemonmates:incomplete_orange_lemonade", "lemonmates:incomplete_raspberry_lemonade", "lemonmates:incomplete_summermix_lemonade", - "lemonmates:incomplete_watermelon_lemonade" + "lemonmates:incomplete_watermelon_lemonade", + + "lemonmates:straw_basic", + "lemonmates:straw_rainbow", + "lemonmates:straw_trans", + "lemonmates:straw_nonbinary", + "lemonmates:straw_lesbian", + "lemonmates:straw_gay", + "lemonmates:straw_genderfluid", + "lemonmates:straw_ace", + "lemonmates:straw_aro", + "lemonmates:straw_aroace", + "lemonmates:straw_agender", + "lemonmates:straw_bi", + "lemonmates:straw_pan", + + "lemonmates:drink_umbrella_1", + "lemonmates:drink_umbrella_2", + "lemonmates:drink_umbrella_3", + "lemonmates:drink_umbrella_4" ] } \ No newline at end of file diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java index f9fc908..8b1d1a9 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java @@ -107,7 +107,26 @@ protected void addTags(HolderLookup.Provider provider) { ModItems.INCOMPLETE_ORANGE_LEMONADE.get(), ModItems.INCOMPLETE_RASPBERRY_LEMONADE.get(), ModItems.INCOMPLETE_SUMMERMIX_LEMONADE.get(), - ModItems.INCOMPLETE_WATERMELON_LEMONADE.get() + ModItems.INCOMPLETE_WATERMELON_LEMONADE.get(), + + ModItems.STRAW_BASIC.get(), + ModItems.STRAW_RAINBOW.get(), + ModItems.STRAW_TRANS.get(), + ModItems.STRAW_NONBINARY.get(), + ModItems.STRAW_LESBIAN.get(), + ModItems.STRAW_GAY.get(), + ModItems.STRAW_GENDERFLUID.get(), + ModItems.STRAW_ACE.get(), + ModItems.STRAW_ARO.get(), + ModItems.STRAW_AROACE.get(), + ModItems.STRAW_AGENDER.get(), + ModItems.STRAW_BI.get(), + ModItems.STRAW_PAN.get(), + + ModItems.DRINK_UMBRELLA_1.get(), + ModItems.DRINK_UMBRELLA_2.get(), + ModItems.DRINK_UMBRELLA_3.get(), + ModItems.DRINK_UMBRELLA_4.get() ); tag(AllTags.ItemTags.MOLDS).add( ModItems.PREFORM_MOLD.get().asItem(), diff --git a/src/main/resources/data/lemonmates/tags/item/drinking_umbrellas.json b/src/main/resources/data/lemonmates/tags/item/drinking_umbrellas.json new file mode 100644 index 0000000..719e7a7 --- /dev/null +++ b/src/main/resources/data/lemonmates/tags/item/drinking_umbrellas.json @@ -0,0 +1,8 @@ +{ + "values": [ + "lemonmates:drink_umbrella_1", + "lemonmates:drink_umbrella_2", + "lemonmates:drink_umbrella_3", + "lemonmates:drink_umbrella_4" + ] +} \ No newline at end of file From e7bbc7e692a02358226ccea1b2344198ccc279b0 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 06:48:07 +0100 Subject: [PATCH 19/76] locales - added german translation (de_de) - error correction for (en_US) - added seed flour to c:flours tag --- .../assets/lemonmates/lang/de_de.json | 167 ++++++++++++++++++ .../assets/lemonmates/lang/en_US.json | 2 +- .../resources/data/c/tags/item/flours.json | 6 + 3 files changed, 174 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/assets/lemonmates/lang/de_de.json create mode 100644 src/main/resources/data/c/tags/item/flours.json diff --git a/src/main/resources/assets/lemonmates/lang/de_de.json b/src/main/resources/assets/lemonmates/lang/de_de.json new file mode 100644 index 0000000..3d97467 --- /dev/null +++ b/src/main/resources/assets/lemonmates/lang/de_de.json @@ -0,0 +1,167 @@ +{ + "itemGroup.lemonmates.base": "Lemonmates", + "itemGroup.lemonmates.processing": "Lemonmates Herstellung", + "itemGroup.lemonmates.serving": "Lemonmates Servierung", + + "item.lemonmates.incomplete_citron_lemonade": "Unfertige Zitronen Limonade", + "item.lemonmates.incomplete_orange_lemonade": "Unfertige Orangen Limonade", + "item.lemonmates.incomplete_raspberry_lemonade": "Unfertige Himbeerbrause", + "item.lemonmates.incomplete_summermix_lemonade": "Unfertige Summermix Limonade", + "item.lemonmates.incomplete_watermelon_lemonade": "Unfertige Wassermelonen Limonade", + + "item.lemonmates.seed_flour": "Samenmehl", + "item.lemonmates.starch": "Stärke", + "item.lemonmates.bioplastic_mass": "Bioplastik Masse", + "item.lemonmates.broken_bottle": "Kaputte Flasche", + "item.lemonmates.plastic_bucket": "Plastikeimer", + + "item.lemonmates.preform_mold": "Vorformling", + "item.lemonmates.preform_mold_with_preform": "Vorformling mit Vorform", + "item.lemonmates.bottle_mold": "Flaschenformling", + "item.lemonmates.bottle_mold_with_preform": "Flaschenformling mit Vorform", + "item.lemonmates.bottle_mold_with_bottle": "Flaschenformling mit Flasche", + "item.lemonmates.cap_mold": "Deckelformling", + "item.lemonmates.cap_mold_with_cap": "Deckelformling mit Deckel", + + "item.lemonmates.preform": "Vorform", + "item.lemonmates.bottle_empty": "Leere Flasche", + "item.lemonmates.bottle_cap": "Flaschendeckel", + + "item.lemonmates.label_empty": "Leeres Etikett", + "item.lemonmates.label_text": "Etikett mit Produktinformation", + "item.lemonmates.label_text_company": "Etikett mit Produktinformation und Firmenlogo", + "item.lemonmates.label_citron_lemonade": "Zitronenlimonaden Etikett", + "item.lemonmates.label_orange_lemonade": "Orangelimonaden Etikett", + "item.lemonmates.label_raspberry_lemonade": "Himbeerbrausen Etikett", + "item.lemonmates.label_summermix_lemonade": "Summer-Mix-Limonaden Etikett", + "item.lemonmates.label_watermelon_lemonade": "Wassermelonenlimonaden Etikett", + + "item.lemonmates.empty_citron_lemonade_bottle": "Leere Zitronenlimonaden Flasche", + "item.lemonmates.citron_lemonade_bottle": "Zitronenlimonade", + "item.lemonmates.empty_orange_lemonade_bottle": "Leere Orangenlimonaden Flasche", + "item.lemonmates.orange_lemonade_bottle": "Orangenlimonade", + "item.lemonmates.empty_raspberry_lemonade_bottle": "Leere Himbeerbrausen Flasche", + "item.lemonmates.raspberry_lemonade_bottle": "Himbeerbrause", + "item.lemonmates.empty_summermix_lemonade_bottle": "Leere Summer-Mix-Limonaden Flasche", + "item.lemonmates.summermix_lemonade_bottle": "Summer-Mix-Limonade", + "item.lemonmates.empty_watermelon_lemonade_bottle": "Leere Wassermelonelimonaden Flasche", + "item.lemonmates.watermelon_lemonade_bottle": "Wassermelonenlimonade", + + "item.lemonmates.citron": "Zitrone", + "item.lemonmates.citron_slice": "Zitronenscheibe", + "block.lemonmates.citron_log": "Zitronenstamm", + "block.lemonmates.citron_wood": "Zitronenholz", + "block.lemonmates.stripped_citron_log": "Entrindeter Zitronenstamm", + "block.lemonmates.stripped_citron_wood": "Entrindetes Zitronenholz", + "block.lemonmates.citron_leaves": "Zitronenlaub", + "block.lemonmates.citron_sapling": "Zitronensetzling", + "block.lemonmates.citron_planks": "Zitronenholzbretter", + "block.lemonmates.citron_stairs": "Zitronenholztreppe", + "block.lemonmates.citron_slab": "Zitronenholzstufe", + "block.lemonmates.citron_button": "Zitronenholzknopf", + "block.lemonmates.citron_pressure_plate": "Zitronenholzdruckplatte", + "block.lemonmates.citron_fence": "Zitronenholzzaun", + "block.lemonmates.citron_fence_gate": "Zitronenholzzauntor", + "block.lemonmates.citron_door": "Zitronenholztür", + "block.lemonmates.citron_trapdoor": "Zitronenholzfalltür", + "block.lemonmates.citron_sign": "Zitronenholzschild", + "block.lemonmates.citron_hanging_sign": "Zitronenholzhängeschild", + "item.lemonmates.citron_boat": "Zitronenholzboot", + "item.lemonmates.citron_chest_boat": "Zitronenholztruhenboot", + + "item.lemonmates.orange": "Orange", + "item.lemonmates.orange_slice": "Orangenscheibe", + "block.lemonmates.orange_log": "Orangenstamm", + "block.lemonmates.orange_wood": "Orangenholz", + "block.lemonmates.stripped_orange_log": "Entrindeter Orangenstamm", + "block.lemonmates.stripped_orange_wood": "Entrindetes Orangenholz", + "block.lemonmates.orange_leaves": "Orangenlaub", + "block.lemonmates.orange_sapling": "Orangensetzling", + "block.lemonmates.orange_planks": "Orangenholzbretter", + "block.lemonmates.orange_stairs": "Orangenholztreppe", + "block.lemonmates.orange_slab": "Orangenholzstufe", + "block.lemonmates.orange_button": "Orangenholzknopf", + "block.lemonmates.orange_pressure_plate": "Orangenholzdruckplatte", + "block.lemonmates.orange_fence": "Orangenholzzaun", + "block.lemonmates.orange_fence_gate": "Orangenholzzauntor", + "block.lemonmates.orange_door": "Orangenholztür", + "block.lemonmates.orange_trapdoor": "Orangenholzfalltür", + "block.lemonmates.orange_sign": "Orangenholzschild", + "block.lemonmates.orange_hanging_sign": "Orangenholzhängeschild", + "item.lemonmates.orange_boat": "Orangenholzboot", + "item.lemonmates.orange_chest_boat": "Orangenholztruhenboot", + + "item.lemonmates.raspberry": "Himbeere", + + "block.lemonmates.orange_crate": "Orangenkiste", + "block.lemonmates.citron_crate": "Zitronenkiste", + "block.lemonmates.raspberry_crate": "Himbeerenkiste", + + "block.lemonmates.lemonade_glass": "Limonaden Glass", + + "item.lemonmates.citron_lemonade_bucket": "Zitronenlimonaden Eimer", + "item.lemonmates.orange_lemonade_bucket": "Orangenlimonaden Eimer", + "item.lemonmates.raspberry_lemonade_bucket": "Himbeerbrausen Eimer", + "item.lemonmates.summermix_lemonade_bucket": "Summer-Mix-Limonaden Eimer", + "item.lemonmates.watermelon_lemonade_bucket": "Wassermelonenlimonaden Eimer", + + "block.lemonmates.plastic_fluid_block": "Plastik", + "block.lemonmates.citron_lemonade_fluid_block": "Zitronenlimonade", + "block.lemonmates.orange_lemonade_fluid_block": "Orangenlimonade", + "block.lemonmates.raspberry_lemonade_fluid_block": "Himbeerbrause", + "block.lemonmates.summermix_lemonade_fluid_block": "Summer-Mix-Limonade", + "block.lemonmates.watermelon_lemonade_fluid_block": "Wassermelonenlimonade", + + "item.lemonmates.straw_basic": "Strohhalm", + "item.lemonmates.straw_rainbow": "Strohhalm mit Regenbogen Pride Flag", + "item.lemonmates.straw_trans": "Strohhalm mit Trans Pride Flag", + "item.lemonmates.straw_nonbinary": "Strohhalm mit Nicht-Binären Pride Flag", + "item.lemonmates.straw_lesbian": "Strohhalm mit Lesben Pride Flag", + "item.lemonmates.straw_gay": "Strohhalm mit Schwulen Pride Flag", + "item.lemonmates.straw_genderfluid": "Strohhalm mit Genderfluid Pride Flag", + "item.lemonmates.straw_ace": "Strohhalm mit Asexuellen Pride Flag", + "item.lemonmates.straw_aro": "Strohhalm mit Aromantik Pride Flag", + "item.lemonmates.straw_aroace": "Strohhalm mit AromantikAsexuellen Pride Flag", + "item.lemonmates.straw_agender": "Strohhalm mit Agender Pride Flag", + "item.lemonmates.straw_bi": "Strohhalm mit Bisexuellen Pride Flag", + "item.lemonmates.straw_pan": "Strohhalm mit Pansexuellen Pride Flag", + + "item.lemonmates.drink_umbrella_1": "Drinkglas Schirmchen (Rot-Weiß)", + "item.lemonmates.drink_umbrella_2": "Drinkglas Schirmchen (Gelb-Weiß)", + "item.lemonmates.drink_umbrella_3": "Drinkglas Schirmchen (Schwarz-Lila)", + "item.lemonmates.drink_umbrella_4": "Drinkglas Schirmchen (Orange-Weiß)", + + "tag.block.lemonmates.citron_logs": "Zitronenstämme", + "tag.block.lemonmates.orange_logs": "Orangenstämme", + "tag.item.lemonmates.citron_logs": "Zitronenstämme", + "tag.item.lemonmates.orange_logs": "Orangenstämme", + "tag.item.lemonmates.drinking_straws": "Strohhälme", + "tag.item.lemonmates.bottles": "Flaschen", + "tag.item.lemonmates.lemonade_fruits": "Limonadenfrüchte", + "tag.item.lemonmates.lemonade_label_dyes": "Limonadenetikettfarben", + "tag.item.lemonmates.lemonades": "Limonaden", + "tag.item.lemonmates.lemonades.empty": "Leere Limonaden", + "tag.item.lemonmates.lemonades.citron": "Zitronenlimonaden", + "tag.item.lemonmates.lemonades.orange": "Orangenlimonaden", + "tag.item.lemonmates.lemonades.raspberry": "Himbeerbrausen", + "tag.item.lemonmates.lemonades.summermix": "Summer-Mix-Limonaden", + "tag.item.lemonmates.lemonades.watermelon": "Wassermelonelimonaden", + "tag.item.lemonmates.buckets.lemonades": "Limonadeneimer", + "tag.item.lemonmates.buckets.lemonades.citron": "Zitronenlimonadeneimer", + "tag.item.lemonmates.buckets.lemonades.orange": "Orangenlimonadeneimer", + "tag.item.lemonmates.buckets.lemonades.raspberry": "Himbeerbrauseneimer", + "tag.item.lemonmates.buckets.lemonades.summermix": "Summer-Mix-Limonadeneimer", + "tag.item.lemonmates.buckets.lemonades.watermelon": "Wassermelonenlimonadeneimer", + "tag.item.lemonmates.labels": "Etiketten", + "tag.item.lemonmates.labels.complete": "Fertige Etiketten", + "tag.item.lemonmates.molds": "Förmlinge", + "tag.item.c.buckets.plastic": "Plastikeimer", + "tag.fluid.lemonmates.lemonades": "Limonaden", + "tag.fluid.lemonmates.lemonades.citron": "Zitronenlimonaden", + "tag.fluid.lemonmates.lemonades.orange": "Orangenlimonaden", + "tag.fluid.lemonmates.lemonades.raspberry": "Himbeerbrausen", + "tag.fluid.lemonmates.lemonades.summermix": "Summer-Mix-Limonaden", + "tag.fluid.lemonmates.lemonades.watermelon": "Wassermeloneblimonaden", + "tag.fluid.c.lemonades": "Limonaden", + "tag.fluid.c.plastic": "Plastik" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/lang/en_US.json b/src/main/resources/assets/lemonmates/lang/en_US.json index 2be86a9..9f62314 100644 --- a/src/main/resources/assets/lemonmates/lang/en_US.json +++ b/src/main/resources/assets/lemonmates/lang/en_US.json @@ -162,6 +162,6 @@ "tag.fluid.lemonmates.lemonades.raspberry": "Raspberry Lemonade", "tag.fluid.lemonmates.lemonades.summermix": "Summer-Mix Lemonade", "tag.fluid.lemonmates.lemonades.watermelon": "Watermelon Lemonade", - "tag.fluid.c.lemonades": "Lemonade", + "tag.fluid.c.lemonades": "Lemonades", "tag.fluid.c.plastic": "Plastic" } \ No newline at end of file diff --git a/src/main/resources/data/c/tags/item/flours.json b/src/main/resources/data/c/tags/item/flours.json new file mode 100644 index 0000000..9145248 --- /dev/null +++ b/src/main/resources/data/c/tags/item/flours.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "lemonmates:seed_flour" + ] +} \ No newline at end of file From 875b5a0110f5a1bfdedb685c5a4dbb7079079d46 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 06:48:55 +0100 Subject: [PATCH 20/76] bump version number due to amount of changes --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index f1a753b..a28f352 100644 --- a/gradle.properties +++ b/gradle.properties @@ -32,7 +32,7 @@ mod_name=Create: Lemon Mates # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=MIT # The mod version. See https://semver.org/ -mod_version=1.0.1-development +mod_version=1.1.0-development # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html From a8694c7796a87f3303b7bf1ef40267b9146b6085 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 06:49:28 +0100 Subject: [PATCH 21/76] update contributer list --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index a28f352..c355d82 100644 --- a/gradle.properties +++ b/gradle.properties @@ -38,7 +38,7 @@ mod_version=1.1.0-development # See https://maven.apache.org/guides/mini/guide-naming-conventions.html mod_group_id=net.doppelr.lemonmates # The authors of the mod. This is a simple text string that is used for display purposes in the mod list. -mod_authors=Doppel_R, Guddi8, KalWantsPizza +mod_authors=Doppel_R, Guddi8, KalWantsPizza, mbarnic # The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list. mod_description=A small mod adding different types of lemonades using Create and Farmer's Delight. From befacc06f6e980f77c258673c5e3b2b660364e11 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 06:50:34 +0100 Subject: [PATCH 22/76] update license, description to reflect actual state --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index c355d82..5fa7b1a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -30,7 +30,7 @@ mod_id=lemonmates # The human-readable display name for the mod. mod_name=Create: Lemon Mates # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. -mod_license=MIT +mod_license=Lemonmates License (see project pages) # The mod version. See https://semver.org/ mod_version=1.1.0-development # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. @@ -40,7 +40,7 @@ mod_group_id=net.doppelr.lemonmates # The authors of the mod. This is a simple text string that is used for display purposes in the mod list. mod_authors=Doppel_R, Guddi8, KalWantsPizza, mbarnic # The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list. -mod_description=A small mod adding different types of lemonades using Create and Farmer's Delight. +mod_description=A small mod adding different types of lemonades using Create. ## Mod Dependencies create_version = 6.0.9-215 From 146c1c1dc185d9f1a0d50350dbe72f2a42f80a47 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 06:55:01 +0100 Subject: [PATCH 23/76] update README.md --- README.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ac332a5..4ef289d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,47 @@ +

Create: Lemon-Mates

-Simple, in development addon for create, aiming to add various drinks. -If I can figure out how to I'll make custom processes too. +--- + +**Create: Lemon-Mates** is a refreshing addon mod for Create, adding various lemonade drinks +and everything you need to produce them - bottles, labels, caps, fruits and of course lemonade. +Build your own lemonade factory with fully automated Create assembly lines! + +

Filling Process

+ + +### New Fruits +- Raspberry +- Citron +- Orange + +### Lemonades +- Citron +- Orange +- Raspberry +- Summer-Mix +- Watermelon + +### Generation +- Raspberry bushes generate in forests +- Citron trees generate in spares jungles +- Orange trees generate in deserts + +### Plastic Bottles +This mod adds a new recyclable plastic bottle made from a bioplastic mass. +Use them in your automated bottling lines for a modern touch! + +### Recipes +All recipes and Create processes can be viewed using JEI. + +### Requirements +- Create v6 + +### Mod-Compatibility +- "Create: Enchantment Industry" is used for optional but cheaper label recipes +- "Farmer's Delight" knives can be used to slice citrons and oranges +- "Create: Slice & Dice" can be used to automate FDs slicing + +### Translation & Localisation +- All items, blocks and tags are localized +- English (en_us): 100% +- German/Deutsch (de_de): Coming with 1.1.0 From d74f7d46ca2e0846d9924992e3015d9bca1ece44 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 10 Mar 2026 07:10:22 +0100 Subject: [PATCH 24/76] crushed ice groundwork --- .../lemonmates/AllCreativeModeTabs.java | 1 + .../net/doppelr/lemonmates/item/ModItems.java | 3 +- .../assets/lemonmates/lang/de_de.json | 1 + .../assets/lemonmates/lang/en_US.json | 1 + .../lemonmates/models/block/crushed_ice.json | 29 +++++++++++++++++++ .../lemonmates/models/item/crushed_ice.json | 3 ++ .../assets/lemonmates/texts/splashes.txt | 3 +- .../recipe/milling/crushed_ice.json | 15 ++++++++++ 8 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/assets/lemonmates/models/block/crushed_ice.json create mode 100644 src/main/resources/assets/lemonmates/models/item/crushed_ice.json create mode 100644 src/main/resources/data/lemonmates/recipe/milling/crushed_ice.json diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index d5946a4..519753d 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -167,6 +167,7 @@ public class AllCreativeModeTabs { // Glass output.accept(ModBlocks.LEMONADE_GLASS); + output.accept(ModItems.CRUSHED_ICE); // Straws output.accept(ModItems.STRAW_BASIC); diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index b3e871e..964ddbe 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -189,7 +189,8 @@ public class ModItems { // Serving related - // Glasses + public static final DeferredItem CRUSHED_ICE = ITEMS.register("crushed_ice", + () -> new Item(new Item.Properties())); diff --git a/src/main/resources/assets/lemonmates/lang/de_de.json b/src/main/resources/assets/lemonmates/lang/de_de.json index 3d97467..be26c91 100644 --- a/src/main/resources/assets/lemonmates/lang/de_de.json +++ b/src/main/resources/assets/lemonmates/lang/de_de.json @@ -98,6 +98,7 @@ "block.lemonmates.raspberry_crate": "Himbeerenkiste", "block.lemonmates.lemonade_glass": "Limonaden Glass", + "item.lemonmates.crushed_ice": "Eiswürfel", "item.lemonmates.citron_lemonade_bucket": "Zitronenlimonaden Eimer", "item.lemonmates.orange_lemonade_bucket": "Orangenlimonaden Eimer", diff --git a/src/main/resources/assets/lemonmates/lang/en_US.json b/src/main/resources/assets/lemonmates/lang/en_US.json index 9f62314..4b0db0d 100644 --- a/src/main/resources/assets/lemonmates/lang/en_US.json +++ b/src/main/resources/assets/lemonmates/lang/en_US.json @@ -98,6 +98,7 @@ "block.lemonmates.raspberry_crate": "Raspberry Crate", "block.lemonmates.lemonade_glass": "Lemonade Glass", + "item.lemonmates.crushed_ice": "Crushed Ice", "item.lemonmates.citron_lemonade_bucket": "Citron Lemonade Bucket", "item.lemonmates.orange_lemonade_bucket": "Orange Lemonade Bucket", diff --git a/src/main/resources/assets/lemonmates/models/block/crushed_ice.json b/src/main/resources/assets/lemonmates/models/block/crushed_ice.json new file mode 100644 index 0000000..e88f8e9 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/crushed_ice.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f1": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f1"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f1"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f1"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f1"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f1"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/crushed_ice.json b/src/main/resources/assets/lemonmates/models/item/crushed_ice.json new file mode 100644 index 0000000..84f2eba --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/crushed_ice.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/crushed_ice" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/texts/splashes.txt b/src/main/resources/assets/lemonmates/texts/splashes.txt index 87eb684..881623e 100644 --- a/src/main/resources/assets/lemonmates/texts/splashes.txt +++ b/src/main/resources/assets/lemonmates/texts/splashes.txt @@ -76,4 +76,5 @@ Child-friendly guns! Allomost wimsily dyslexic! Plasmatic trains! Profesh cats included! -What is love, and why is it a social construct? \ No newline at end of file +What is love, and why is it a social construct? +Godly Permissions \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/milling/crushed_ice.json b/src/main/resources/data/lemonmates/recipe/milling/crushed_ice.json new file mode 100644 index 0000000..86e9374 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/milling/crushed_ice.json @@ -0,0 +1,15 @@ +{ + "type": "create:milling", + "processing_time": 30, + "ingredients": [ + { + "item": "ice" + } + ], + "results": [ + { + "id": "lemonmates:crushed_ice", + "count": 4 + } + ] +} \ No newline at end of file From f39c45d51604b5068e75db0d652bc6da926df6f6 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Wed, 11 Mar 2026 14:23:39 +0100 Subject: [PATCH 25/76] update crushed ice names to ice cubes --- .../lemonmates/AllCreativeModeTabs.java | 2 +- .../net/doppelr/lemonmates/item/ModItems.java | 2 +- .../assets/lemonmates/lang/en_US.json | 2 +- .../lemonmates/models/block/crushed_ice.json | 29 ------------------- .../lemonmates/models/block/ice_cubes.json | 29 +++++++++++++++++++ .../lemonmates/models/item/crushed_ice.json | 3 -- .../lemonmates/models/item/ice_cubes.json | 3 ++ .../{crushed_ice.json => ice_cubes.json} | 2 +- 8 files changed, 36 insertions(+), 36 deletions(-) delete mode 100644 src/main/resources/assets/lemonmates/models/block/crushed_ice.json create mode 100644 src/main/resources/assets/lemonmates/models/block/ice_cubes.json delete mode 100644 src/main/resources/assets/lemonmates/models/item/crushed_ice.json create mode 100644 src/main/resources/assets/lemonmates/models/item/ice_cubes.json rename src/main/resources/data/lemonmates/recipe/milling/{crushed_ice.json => ice_cubes.json} (80%) diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index 519753d..4a87dba 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -167,7 +167,7 @@ public class AllCreativeModeTabs { // Glass output.accept(ModBlocks.LEMONADE_GLASS); - output.accept(ModItems.CRUSHED_ICE); + output.accept(ModItems.ICE_CUBES); // Straws output.accept(ModItems.STRAW_BASIC); diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index 964ddbe..7ec5173 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -189,7 +189,7 @@ public class ModItems { // Serving related - public static final DeferredItem CRUSHED_ICE = ITEMS.register("crushed_ice", + public static final DeferredItem ICE_CUBES = ITEMS.register("ice_cubes", () -> new Item(new Item.Properties())); diff --git a/src/main/resources/assets/lemonmates/lang/en_US.json b/src/main/resources/assets/lemonmates/lang/en_US.json index 4b0db0d..1075b1a 100644 --- a/src/main/resources/assets/lemonmates/lang/en_US.json +++ b/src/main/resources/assets/lemonmates/lang/en_US.json @@ -98,7 +98,7 @@ "block.lemonmates.raspberry_crate": "Raspberry Crate", "block.lemonmates.lemonade_glass": "Lemonade Glass", - "item.lemonmates.crushed_ice": "Crushed Ice", + "item.lemonmates.ice_cubes": "Ice Cubes", "item.lemonmates.citron_lemonade_bucket": "Citron Lemonade Bucket", "item.lemonmates.orange_lemonade_bucket": "Orange Lemonade Bucket", diff --git a/src/main/resources/assets/lemonmates/models/block/crushed_ice.json b/src/main/resources/assets/lemonmates/models/block/crushed_ice.json deleted file mode 100644 index e88f8e9..0000000 --- a/src/main/resources/assets/lemonmates/models/block/crushed_ice.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "render_type": "minecraft:translucent", - "textures": { - "f1": "lemonmates:block/lemonade_glass_fluid", - "particle": "lemonmates:item/empty" - }, - "elements": [ - { - "name": "fluid", - "from": [6, 1, 6], - "to": [10, 4, 10], - "faces": { - "north": {"uv": [4, 0, 8, 3], "texture": "#f1"}, - "east": {"uv": [4, 3, 8, 6], "texture": "#f1"}, - "south": {"uv": [4, 6, 8, 9], "texture": "#f1"}, - "west": {"uv": [0, 8, 4, 11], "texture": "#f1"}, - "up": {"uv": [4, 4, 0, 0], "texture": "#f1"}, - "down": {"uv": [4, 4, 0, 8], "texture": "#f1"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cubes.json b/src/main/resources/assets/lemonmates/models/block/ice_cubes.json new file mode 100644 index 0000000..705a3b6 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/ice_cubes.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "i1": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#i1"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#i1"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#i1"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#i1"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#i1"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#i1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/crushed_ice.json b/src/main/resources/assets/lemonmates/models/item/crushed_ice.json deleted file mode 100644 index 84f2eba..0000000 --- a/src/main/resources/assets/lemonmates/models/item/crushed_ice.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "lemonmates:block/crushed_ice" -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/ice_cubes.json b/src/main/resources/assets/lemonmates/models/item/ice_cubes.json new file mode 100644 index 0000000..3eafef8 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/ice_cubes.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/ice_cubes" +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/milling/crushed_ice.json b/src/main/resources/data/lemonmates/recipe/milling/ice_cubes.json similarity index 80% rename from src/main/resources/data/lemonmates/recipe/milling/crushed_ice.json rename to src/main/resources/data/lemonmates/recipe/milling/ice_cubes.json index 86e9374..dcc5158 100644 --- a/src/main/resources/data/lemonmates/recipe/milling/crushed_ice.json +++ b/src/main/resources/data/lemonmates/recipe/milling/ice_cubes.json @@ -8,7 +8,7 @@ ], "results": [ { - "id": "lemonmates:crushed_ice", + "id": "lemonmates:ice_cubes", "count": 4 } ] From 3a61c57c31da6653938ff2b164c22b50dc817b78 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Fri, 13 Mar 2026 15:48:50 +0100 Subject: [PATCH 26/76] add interaction class but no interaction, fix rotation of placed glass --- .../doppelr/lemonmates/block/ModDrinkingGlassBlock.java | 2 +- .../lemonmates/event/LemonadeglassInteractionEvent.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index 7ce9692..fc426db 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -33,7 +33,7 @@ protected MapCodec codec() { @Nullable @Override public BlockState getStateForPlacement(BlockPlaceContext context) { - return this.defaultBlockState().setValue(FACING, context.getHorizontalDirection().getOpposite()); + return this.defaultBlockState().setValue(FACING, context.getHorizontalDirection()); } @Override diff --git a/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java b/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java new file mode 100644 index 0000000..59a1521 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java @@ -0,0 +1,7 @@ +package net.doppelr.lemonmates.event; + +public class LemonadeglassInteractionEvent { + // glass is clicked with decoration item - decoration is applied + // glass is click-held with empty hand - lemonade is drank + // glass is click-held with filled jug - lemonade is filled +} From e9791298b811b999bcc3abd5e797a2a4e7294ccd Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sat, 14 Mar 2026 07:48:47 +0100 Subject: [PATCH 27/76] fix language file name --- .../resources/assets/lemonmates/lang/{en_US.json => en_us.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/resources/assets/lemonmates/lang/{en_US.json => en_us.json} (100%) diff --git a/src/main/resources/assets/lemonmates/lang/en_US.json b/src/main/resources/assets/lemonmates/lang/en_us.json similarity index 100% rename from src/main/resources/assets/lemonmates/lang/en_US.json rename to src/main/resources/assets/lemonmates/lang/en_us.json From b27305c290af62ca73fbc05ddffc6a8706991ce8 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 15 Mar 2026 11:12:12 +0100 Subject: [PATCH 28/76] planning logic stuff --- .../event/LemonadeglassInteractionEvent.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java b/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java index 59a1521..21c10fe 100644 --- a/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java +++ b/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java @@ -4,4 +4,19 @@ public class LemonadeglassInteractionEvent { // glass is clicked with decoration item - decoration is applied // glass is click-held with empty hand - lemonade is drank // glass is click-held with filled jug - lemonade is filled + + // https://docs.neoforged.net/docs/items/interactions + // + // custom interaction logic + // if interaction + // get target + // if glass + // if applicable item + // apply item to data if not present yet + // consume item once + // update model to reflect changes + // if no item + // reduce lemonade by 1 level if possible + // update model + // otherwise break } From 7d164002c544e479e46db53d1e1aa09e25303cb9 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Wed, 18 Mar 2026 21:21:52 +0100 Subject: [PATCH 29/76] Splash text adjustment --- src/main/resources/assets/lemonmates/texts/splashes.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/lemonmates/texts/splashes.txt b/src/main/resources/assets/lemonmates/texts/splashes.txt index 881623e..26e0cbf 100644 --- a/src/main/resources/assets/lemonmates/texts/splashes.txt +++ b/src/main/resources/assets/lemonmates/texts/splashes.txt @@ -67,7 +67,7 @@ The recipe is §kWater, Juice, Sugar and heat§r! Not binary at all! No nuggets for dragons! There's a man on my boat! -No pizza was harmed! +No pizza for Kal! +200% trust issues! Boat on the track, island in the sky! Support your local queer people!! From e2f1f1eea5af9e122ee37a3da9e436beb0c8be72 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Wed, 18 Mar 2026 21:44:50 +0100 Subject: [PATCH 30/76] updated splashes.txt --- src/main/resources/assets/lemonmates/texts/splashes.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/resources/assets/lemonmates/texts/splashes.txt b/src/main/resources/assets/lemonmates/texts/splashes.txt index 26e0cbf..6cbbca3 100644 --- a/src/main/resources/assets/lemonmates/texts/splashes.txt +++ b/src/main/resources/assets/lemonmates/texts/splashes.txt @@ -77,4 +77,5 @@ Allomost wimsily dyslexic! Plasmatic trains! Profesh cats included! What is love, and why is it a social construct? -Godly Permissions \ No newline at end of file +Godly Permissions +The original purple \ No newline at end of file From c247b5baef9b6ce008613195a66ff1445c53d0b4 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Thu, 19 Mar 2026 14:43:27 +0100 Subject: [PATCH 31/76] format planning --- .../event/LemonadeglassInteractionEvent.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java b/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java index 21c10fe..117a27b 100644 --- a/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java +++ b/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java @@ -10,13 +10,14 @@ public class LemonadeglassInteractionEvent { // custom interaction logic // if interaction // get target - // if glass - // if applicable item - // apply item to data if not present yet - // consume item once - // update model to reflect changes - // if no item - // reduce lemonade by 1 level if possible - // update model - // otherwise break + // if not glass + // return; + // if applicable item + // apply item to data if not present yet + // consume item once + // update model to reflect changes + // return + // if no item + // reduce lemonade by 1 level if possible + // update model } From 7c3ac17c1a0dc1dd7b7971e2fe7fd1df86745d1a Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Thu, 19 Mar 2026 16:45:12 +0100 Subject: [PATCH 32/76] formatting, splashes.txt --- .../lemonmates/event/LemonadeglassInteractionEvent.java | 1 + src/main/resources/assets/lemonmates/texts/splashes.txt | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java b/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java index 117a27b..a7beab6 100644 --- a/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java +++ b/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java @@ -6,6 +6,7 @@ public class LemonadeglassInteractionEvent { // glass is click-held with filled jug - lemonade is filled // https://docs.neoforged.net/docs/items/interactions + // https://docs.neoforged.net/docs/entities/renderer // // custom interaction logic // if interaction diff --git a/src/main/resources/assets/lemonmates/texts/splashes.txt b/src/main/resources/assets/lemonmates/texts/splashes.txt index 6cbbca3..8c47632 100644 --- a/src/main/resources/assets/lemonmates/texts/splashes.txt +++ b/src/main/resources/assets/lemonmates/texts/splashes.txt @@ -78,4 +78,5 @@ Plasmatic trains! Profesh cats included! What is love, and why is it a social construct? Godly Permissions -The original purple \ No newline at end of file +The original purple +Smored pickles \ No newline at end of file From 1e077d2380e71ea3f769ec636d7360ed445bf043 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Mon, 18 May 2026 18:24:53 +0200 Subject: [PATCH 33/76] interaction force push --- .../doppelr/lemonmates/event/LemonadeglassInteractionEvent.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java b/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java index a7beab6..de13c6b 100644 --- a/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java +++ b/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java @@ -20,5 +20,5 @@ public class LemonadeglassInteractionEvent { // return // if no item // reduce lemonade by 1 level if possible - // update model + // update model e } From 959f604db615e463a0afc1dec5ea7346112afcfd Mon Sep 17 00:00:00 2001 From: Barni Date: Thu, 21 May 2026 10:35:57 +0200 Subject: [PATCH 34/76] Uploaded the jug model and the jug fluid levels --- .../lemonmates/blockstates/lemonade_jug.json | 221 ++++++++++++++++++ .../blockstates/lemonade_jug_fluid_1.json | 29 +++ .../blockstates/lemonade_jug_fluid_2.json | 29 +++ .../blockstates/lemonade_jug_fluid_3.json | 29 +++ .../blockstates/lemonade_jug_fluid_4.json | 29 +++ .../blockstates/lemonade_jug_fluid_5.json | 29 +++ .../blockstates/lemonade_jug_fluid_6.json | 43 ++++ .../blockstates/lemonade_jug_fluid_7.json | 43 ++++ .../blockstates/lemonade_jug_fluid_8.json | 43 ++++ .../block/lemonade_jug_hardened_clay.png | Bin 0 -> 646 bytes 10 files changed, 495 insertions(+) create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug.json create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_1.json create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_2.json create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_3.json create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_4.json create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_5.json create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_6.json create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_7.json create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_8.json create mode 100644 src/main/resources/assets/lemonmates/textures/block/lemonade_jug_hardened_clay.png diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug.json new file mode 100644 index 0000000..c2a9ec1 --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug.json @@ -0,0 +1,221 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "item/lemonade_jug_hardened_clay", + "particle": "item/lemonade_jug_hardened_clay" + }, + "elements": [ + { + "name": "handle", + "from": [8, 3, 2], + "to": [8, 8, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 3]}, + "faces": { + "north": {"uv": [0, 0, 0, 2.5], "texture": "#0"}, + "east": {"uv": [3, 9, 5, 11.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2.5], "texture": "#0"}, + "west": {"uv": [5, 9, 7, 11.5], "texture": "#0"}, + "up": {"uv": [0, 2, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, + "faces": { + "north": {"uv": [5, 4, 7, 4.5], "texture": "#0"}, + "east": {"uv": [3, 4, 5, 4.5], "texture": "#0"}, + "south": {"uv": [5, 8.5, 7, 9], "texture": "#0"}, + "west": {"uv": [3, 8.5, 5, 9], "texture": "#0"}, + "up": {"uv": [12, 4, 10, 2], "texture": "#0"}, + "down": {"uv": [2.5, 3.5, 0.5, 5.5], "texture": "#0"} + } + }, + { + "name": "top", + "from": [10, 9, 5], + "to": [11, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 9, 5]}, + "faces": { + "north": {"uv": [2.5, 7, 3, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6, 3, 6.5], "texture": "#0"}, + "south": {"uv": [0, 7.5, 0.5, 8], "texture": "#0"}, + "west": {"uv": [0, 8.5, 3, 9], "texture": "#0"}, + "up": {"uv": [0.5, 9, 0, 6], "texture": "#0"}, + "down": {"uv": [3, 6, 2.5, 9], "texture": "#0"} + } + }, + { + "name": "top", + "from": [5, 9, 5], + "to": [6, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 9, 5]}, + "faces": { + "north": {"uv": [1.5, 6, 2, 6.5], "texture": "#0"}, + "east": {"uv": [0, 6, 3, 6.5], "texture": "#0"}, + "south": {"uv": [0.5, 8.5, 1, 9], "texture": "#0"}, + "west": {"uv": [0, 8.5, 3, 9], "texture": "#0"}, + "up": {"uv": [0.5, 9, 0, 6], "texture": "#0"}, + "down": {"uv": [3, 6, 2.5, 9], "texture": "#0"} + } + }, + { + "name": "top", + "from": [6, 9, 5], + "to": [10, 10, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 5]}, + "faces": { + "north": {"uv": [2.5, 6.5, 3, 8.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 6.5, 0.5, 8.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2.5, 6.5, 0.5, 6], "texture": "#0"}, + "down": {"uv": [2.5, 8.5, 0.5, 9], "texture": "#0"} + } + }, + { + "name": "top", + "from": [6, 9, 10], + "to": [10, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 10]}, + "faces": { + "north": {"uv": [2.5, 6.5, 3, 8.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 6.5, 0.5, 8.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2.5, 9, 0.5, 8.5], "texture": "#0"}, + "down": {"uv": [2.5, 6, 0.5, 6.5], "texture": "#0"} + } + }, + { + "from": [6, 6, 6], + "to": [10, 9, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 6]}, + "faces": { + "north": {"uv": [3, 0.5, 5, 2], "texture": "#0"}, + "east": {"uv": [4.5, 5, 5, 6.5], "texture": "#0"}, + "south": {"uv": [5, 0.5, 7, 2], "texture": "#0"}, + "west": {"uv": [3, 5, 3.5, 6.5], "texture": "#0"}, + "up": {"uv": [5, 0.5, 3, 0], "texture": "#0"}, + "down": {"uv": [5, 2, 3, 2.5], "texture": "#0"} + } + }, + { + "from": [6, 6, 9], + "to": [10, 9, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 9]}, + "faces": { + "north": {"uv": [3, 5, 5, 6.5], "texture": "#0"}, + "east": {"uv": [5, 0.5, 5.5, 2], "texture": "#0"}, + "south": {"uv": [5, 5, 7, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 0.5, 7, 2], "texture": "#0"}, + "up": {"uv": [7, 5, 5, 4.5], "texture": "#0"}, + "down": {"uv": [7, 6.5, 5, 7], "texture": "#0"} + } + }, + { + "from": [6, 6, 7], + "to": [7, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 8]}, + "faces": { + "east": {"uv": [5.5, 5, 6.5, 6.5], "texture": "#0"}, + "west": {"uv": [3.5, 5, 4.5, 6.5], "texture": "#0"}, + "up": {"uv": [6.5, 5, 5.5, 4.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3.5, 7, 4.5, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 6, 7], + "to": [10, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 8]}, + "faces": { + "east": {"uv": [3.5, 5, 4.5, 6.5], "texture": "#0"}, + "west": {"uv": [5.5, 5, 6.5, 6.5], "texture": "#0"}, + "up": {"uv": [4.5, 5, 3.5, 4.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 7, 6.5, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "body", + "from": [10, 1, 5], + "to": [11, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 5]}, + "faces": { + "north": {"uv": [9.5, 5.5, 10, 8], "texture": "#0"}, + "east": {"uv": [7, 8, 10, 10.5], "texture": "#0"}, + "south": {"uv": [7, 5.5, 7.5, 8], "texture": "#0"}, + "west": {"uv": [0, 9, 3, 11.5], "texture": "#0"}, + "up": {"uv": [0.5, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3, 0, 2.5, 3], "texture": "#0"} + } + }, + { + "name": "body", + "from": [5, 1, 5], + "to": [6, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 1, 5]}, + "faces": { + "north": {"uv": [9.5, 8, 10, 10.5], "texture": "#0"}, + "east": {"uv": [7, 3, 10, 5.5], "texture": "#0"}, + "south": {"uv": [7, 8, 7.5, 10.5], "texture": "#0"}, + "west": {"uv": [7, 5.5, 10, 8], "texture": "#0"}, + "up": {"uv": [3, 3, 2.5, 0], "texture": "#0"}, + "down": {"uv": [0.5, 0, 0, 3], "texture": "#0"} + } + }, + { + "name": "body", + "from": [6, 1, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 1, 5]}, + "faces": { + "north": {"uv": [7.5, 5.5, 9.5, 8], "texture": "#0"}, + "south": {"uv": [7.5, 3, 9.5, 5.5], "texture": "#0"}, + "up": {"uv": [2.5, 3, 0.5, 2.5], "texture": "#0"}, + "down": {"uv": [0.5, 0, 2.5, 0.5], "texture": "#0"} + } + }, + { + "name": "body", + "from": [6, 1, 10], + "to": [10, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 1, 10]}, + "faces": { + "north": {"uv": [0.5, 9, 2.5, 11.5], "texture": "#0"}, + "south": {"uv": [7.5, 5.5, 9.5, 8], "texture": "#0"}, + "up": {"uv": [2.5, 0.5, 0.5, 0], "texture": "#0"}, + "down": {"uv": [2.5, 2.5, 0.5, 3], "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + }, + "groups": [ + 0, + 1, + { + "name": "lip", + "origin": [8, 8, 8], + "scope": 0, + "color": 0, + "children": [2, 3, 4, 5] + }, + { + "name": "neck", + "origin": [8, 8, 8], + "scope": 0, + "color": 0, + "children": [6, 7, 8, 9] + }, + { + "name": "body", + "origin": [8, 8, 8], + "scope": 0, + "color": 0, + "children": [10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_1.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_1.json new file mode 100644 index 0000000..6742341 --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_1.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "item/lemonade_glass_fluid", + "particle": "item/lemonade_glass_fluid" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 1, 4, 2], "texture": "#0"}, + "east": {"uv": [0, 1, 4, 2], "texture": "#0"}, + "south": {"uv": [0, 1, 4, 2], "texture": "#0"}, + "west": {"uv": [0, 1, 4, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_2.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_2.json new file mode 100644 index 0000000..edb9c94 --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_2.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "item/lemonade_glass_fluid", + "particle": "item/lemonade_glass_fluid" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [0, 2, 4, 4], "texture": "#0"}, + "south": {"uv": [0, 5, 4, 7], "texture": "#0"}, + "west": {"uv": [0, 7, 4, 9], "texture": "#0"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "down": {"uv": [4, 5, 8, 9], "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_3.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_3.json new file mode 100644 index 0000000..6fb73bb --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_3.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "item/lemonade_glass_fluid", + "particle": "item/lemonade_glass_fluid" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [0, 5, 4, 8], "texture": "#0"}, + "south": {"uv": [4, 4, 8, 7], "texture": "#0"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#0"}, + "up": {"uv": [4, 5, 8, 9], "texture": "#0"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_4.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_4.json new file mode 100644 index 0000000..37e72cc --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_4.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "item/lemonade_glass_fluid", + "particle": "item/lemonade_glass_fluid" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 5, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "east": {"uv": [0, 4, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 4, 4, 8], "texture": "#0"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "up": {"uv": [8, 4, 4, 0], "texture": "#0"}, + "down": {"uv": [8, 4, 4, 8], "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_5.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_5.json new file mode 100644 index 0000000..99d8c0c --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_5.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "item/lemonade_glass_fluid", + "particle": "item/lemonade_glass_fluid" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#0"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#0"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_6.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_6.json new file mode 100644 index 0000000..324fd0d --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_6.json @@ -0,0 +1,43 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "item/lemonade_glass_fluid", + "particle": "item/lemonade_glass_fluid" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#0"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#0"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#0"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 7, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [0, 1, 2, 2], "texture": "#0"}, + "east": {"uv": [0, 1, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 1, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 1, 2, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_7.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_7.json new file mode 100644 index 0000000..1455b24 --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_7.json @@ -0,0 +1,43 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "item/lemonade_glass_fluid", + "particle": "item/lemonade_glass_fluid" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#0"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#0"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#0"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 8, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 4], "texture": "#0"}, + "east": {"uv": [0, 2, 2, 4], "texture": "#0"}, + "south": {"uv": [4, 2, 6, 4], "texture": "#0"}, + "west": {"uv": [4, 0, 6, 2], "texture": "#0"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_8.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_8.json new file mode 100644 index 0000000..ae57915 --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_8.json @@ -0,0 +1,43 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "item/lemonade_glass_fluid", + "particle": "item/lemonade_glass_fluid" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#0"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#0"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#0"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 5], "texture": "#0"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#0"}, + "south": {"uv": [6, 0, 8, 3], "texture": "#0"}, + "west": {"uv": [4, 0, 6, 3], "texture": "#0"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/textures/block/lemonade_jug_hardened_clay.png b/src/main/resources/assets/lemonmates/textures/block/lemonade_jug_hardened_clay.png new file mode 100644 index 0000000000000000000000000000000000000000..e3ada716f7c80f9d05cc11d374edf49592444519 GIT binary patch literal 646 zcmV;10(t$3P)Px%KuJVFR9J=WRqS=}%<&{XZ_XR0wktkDM zMST)NbO?!tKcKn>X%SI~S?_u`dqpyq?X{f*u0hIcGCTIpJkN~ZrZ>&TEdUHS2LMQ= z0058goI+FzX~L0<0st`N3;>WO9HLt9bMgB9$DVf~fFm-bQaU*Rom5mxCoWX2eYXWR z;M_`#O*KrPyAGoo|4hIaoP6e5)vS;lA8FsM5!hu@)vPQMF}xZ-Ye#*KWvMXgbG-TV zH98X(0kia!G)5?dWvQ&+D1n8s$+QRTSlhC0^fM*@^{4O#q|=kVl|X1g)=kiFk_olM zBoagK;`v$YTQFaylbF6orzaKxvhSV@ktXZ?bY0VgivmN=v>?F{A{U{dbStqJ0iO_=w+h=N$ps zHL=@9c0FHMn@Ho|eg4*?sU;ONpQqWl^$p}cr-yF{DbQ?^wZ6pk{Qc)V7&Hd6jk0dm zLs&JdPLPmx$JVwH$%VwSRLF&dtQ#y#1?HB~4dhmW?CFOud;R&urme0o+B7pEHYfL~ g*#QR}aKL|!8@k_)(VLL)MF0Q*07*qoM6N<$f_ Date: Fri, 22 May 2026 01:13:21 +0200 Subject: [PATCH 35/76] formatting, naming, update README.md --- README.md | 4 +- .../resources/assets/labeling_filling.png | Bin 290622 -> 0 bytes .../lemonmates/blockstates/lemonade_jug.json | 221 ------------------ .../blockstates/lemonade_jug_fluid_6.json | 43 ---- .../blockstates/lemonade_jug_fluid_7.json | 43 ---- .../blockstates/lemonade_jug_fluid_8.json | 43 ---- .../block}/lemonade_jug_fluid_1.json | 12 +- .../block}/lemonade_jug_fluid_2.json | 12 +- .../block}/lemonade_jug_fluid_3.json | 12 +- .../block}/lemonade_jug_fluid_4.json | 12 +- .../block}/lemonade_jug_fluid_5.json | 12 +- .../models/block/lemonade_jug_fluid_6.json | 43 ++++ .../models/block/lemonade_jug_fluid_7.json | 43 ++++ .../models/block/lemonade_jug_fluid_8.json | 43 ++++ .../models/block/lemonade_jug_terracotta.json | 221 ++++++++++++++++++ .../resources/assets/lemonmates_title.png | Bin 71997 -> 0 bytes .../assets/production_simplified.png | Bin 504828 -> 0 bytes .../potato_projectile/type/lemon_slice.json | 13 ++ 18 files changed, 395 insertions(+), 382 deletions(-) delete mode 100644 src/main/resources/assets/labeling_filling.png delete mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_6.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_7.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_8.json rename src/main/resources/assets/lemonmates/{blockstates => models/block}/lemonade_jug_fluid_1.json (56%) rename src/main/resources/assets/lemonmates/{blockstates => models/block}/lemonade_jug_fluid_2.json (56%) rename src/main/resources/assets/lemonmates/{blockstates => models/block}/lemonade_jug_fluid_3.json (56%) rename src/main/resources/assets/lemonmates/{blockstates => models/block}/lemonade_jug_fluid_4.json (56%) rename src/main/resources/assets/lemonmates/{blockstates => models/block}/lemonade_jug_fluid_5.json (56%) create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json delete mode 100644 src/main/resources/assets/lemonmates_title.png delete mode 100644 src/main/resources/assets/production_simplified.png create mode 100644 src/main/resources/data/create/create/potato_projectile/type/lemon_slice.json diff --git a/README.md b/README.md index 4ef289d..1c2881b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -

Create: Lemon-Mates

+

Create: Lemon-Mates

--- @@ -6,7 +6,7 @@ and everything you need to produce them - bottles, labels, caps, fruits and of course lemonade. Build your own lemonade factory with fully automated Create assembly lines! -

Filling Process

+

Filling Process

### New Fruits diff --git a/src/main/resources/assets/labeling_filling.png b/src/main/resources/assets/labeling_filling.png deleted file mode 100644 index 3e829cdab85ff5f2873041ce8eb9be85302cd9db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290622 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 ap%)B%hvl4xyZ!?H=<68$UHX^Z)Bgjzw?cFP diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug.json deleted file mode 100644 index c2a9ec1..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "texture_size": [32, 32], - "textures": { - "0": "item/lemonade_jug_hardened_clay", - "particle": "item/lemonade_jug_hardened_clay" - }, - "elements": [ - { - "name": "handle", - "from": [8, 3, 2], - "to": [8, 8, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 3]}, - "faces": { - "north": {"uv": [0, 0, 0, 2.5], "texture": "#0"}, - "east": {"uv": [3, 9, 5, 11.5], "texture": "#0"}, - "south": {"uv": [0, 0, 0, 2.5], "texture": "#0"}, - "west": {"uv": [5, 9, 7, 11.5], "texture": "#0"}, - "up": {"uv": [0, 2, 0, 0], "texture": "#0"}, - "down": {"uv": [0, 0, 0, 2], "texture": "#0"} - } - }, - { - "name": "bottom", - "from": [6, 0, 6], - "to": [10, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, - "faces": { - "north": {"uv": [5, 4, 7, 4.5], "texture": "#0"}, - "east": {"uv": [3, 4, 5, 4.5], "texture": "#0"}, - "south": {"uv": [5, 8.5, 7, 9], "texture": "#0"}, - "west": {"uv": [3, 8.5, 5, 9], "texture": "#0"}, - "up": {"uv": [12, 4, 10, 2], "texture": "#0"}, - "down": {"uv": [2.5, 3.5, 0.5, 5.5], "texture": "#0"} - } - }, - { - "name": "top", - "from": [10, 9, 5], - "to": [11, 10, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 9, 5]}, - "faces": { - "north": {"uv": [2.5, 7, 3, 7.5], "texture": "#0"}, - "east": {"uv": [0, 6, 3, 6.5], "texture": "#0"}, - "south": {"uv": [0, 7.5, 0.5, 8], "texture": "#0"}, - "west": {"uv": [0, 8.5, 3, 9], "texture": "#0"}, - "up": {"uv": [0.5, 9, 0, 6], "texture": "#0"}, - "down": {"uv": [3, 6, 2.5, 9], "texture": "#0"} - } - }, - { - "name": "top", - "from": [5, 9, 5], - "to": [6, 10, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 9, 5]}, - "faces": { - "north": {"uv": [1.5, 6, 2, 6.5], "texture": "#0"}, - "east": {"uv": [0, 6, 3, 6.5], "texture": "#0"}, - "south": {"uv": [0.5, 8.5, 1, 9], "texture": "#0"}, - "west": {"uv": [0, 8.5, 3, 9], "texture": "#0"}, - "up": {"uv": [0.5, 9, 0, 6], "texture": "#0"}, - "down": {"uv": [3, 6, 2.5, 9], "texture": "#0"} - } - }, - { - "name": "top", - "from": [6, 9, 5], - "to": [10, 10, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 5]}, - "faces": { - "north": {"uv": [2.5, 6.5, 3, 8.5], "rotation": 90, "texture": "#0"}, - "south": {"uv": [0, 6.5, 0.5, 8.5], "rotation": 90, "texture": "#0"}, - "up": {"uv": [2.5, 6.5, 0.5, 6], "texture": "#0"}, - "down": {"uv": [2.5, 8.5, 0.5, 9], "texture": "#0"} - } - }, - { - "name": "top", - "from": [6, 9, 10], - "to": [10, 10, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 10]}, - "faces": { - "north": {"uv": [2.5, 6.5, 3, 8.5], "rotation": 90, "texture": "#0"}, - "south": {"uv": [0, 6.5, 0.5, 8.5], "rotation": 90, "texture": "#0"}, - "up": {"uv": [2.5, 9, 0.5, 8.5], "texture": "#0"}, - "down": {"uv": [2.5, 6, 0.5, 6.5], "texture": "#0"} - } - }, - { - "from": [6, 6, 6], - "to": [10, 9, 7], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 6]}, - "faces": { - "north": {"uv": [3, 0.5, 5, 2], "texture": "#0"}, - "east": {"uv": [4.5, 5, 5, 6.5], "texture": "#0"}, - "south": {"uv": [5, 0.5, 7, 2], "texture": "#0"}, - "west": {"uv": [3, 5, 3.5, 6.5], "texture": "#0"}, - "up": {"uv": [5, 0.5, 3, 0], "texture": "#0"}, - "down": {"uv": [5, 2, 3, 2.5], "texture": "#0"} - } - }, - { - "from": [6, 6, 9], - "to": [10, 9, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 9]}, - "faces": { - "north": {"uv": [3, 5, 5, 6.5], "texture": "#0"}, - "east": {"uv": [5, 0.5, 5.5, 2], "texture": "#0"}, - "south": {"uv": [5, 5, 7, 6.5], "texture": "#0"}, - "west": {"uv": [6.5, 0.5, 7, 2], "texture": "#0"}, - "up": {"uv": [7, 5, 5, 4.5], "texture": "#0"}, - "down": {"uv": [7, 6.5, 5, 7], "texture": "#0"} - } - }, - { - "from": [6, 6, 7], - "to": [7, 9, 9], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 8]}, - "faces": { - "east": {"uv": [5.5, 5, 6.5, 6.5], "texture": "#0"}, - "west": {"uv": [3.5, 5, 4.5, 6.5], "texture": "#0"}, - "up": {"uv": [6.5, 5, 5.5, 4.5], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3.5, 7, 4.5, 6.5], "rotation": 90, "texture": "#0"} - } - }, - { - "from": [9, 6, 7], - "to": [10, 9, 9], - "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 8]}, - "faces": { - "east": {"uv": [3.5, 5, 4.5, 6.5], "texture": "#0"}, - "west": {"uv": [5.5, 5, 6.5, 6.5], "texture": "#0"}, - "up": {"uv": [4.5, 5, 3.5, 4.5], "rotation": 90, "texture": "#0"}, - "down": {"uv": [5.5, 7, 6.5, 6.5], "rotation": 90, "texture": "#0"} - } - }, - { - "name": "body", - "from": [10, 1, 5], - "to": [11, 6, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 5]}, - "faces": { - "north": {"uv": [9.5, 5.5, 10, 8], "texture": "#0"}, - "east": {"uv": [7, 8, 10, 10.5], "texture": "#0"}, - "south": {"uv": [7, 5.5, 7.5, 8], "texture": "#0"}, - "west": {"uv": [0, 9, 3, 11.5], "texture": "#0"}, - "up": {"uv": [0.5, 3, 0, 0], "texture": "#0"}, - "down": {"uv": [3, 0, 2.5, 3], "texture": "#0"} - } - }, - { - "name": "body", - "from": [5, 1, 5], - "to": [6, 6, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [0, 1, 5]}, - "faces": { - "north": {"uv": [9.5, 8, 10, 10.5], "texture": "#0"}, - "east": {"uv": [7, 3, 10, 5.5], "texture": "#0"}, - "south": {"uv": [7, 8, 7.5, 10.5], "texture": "#0"}, - "west": {"uv": [7, 5.5, 10, 8], "texture": "#0"}, - "up": {"uv": [3, 3, 2.5, 0], "texture": "#0"}, - "down": {"uv": [0.5, 0, 0, 3], "texture": "#0"} - } - }, - { - "name": "body", - "from": [6, 1, 5], - "to": [10, 6, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [1, 1, 5]}, - "faces": { - "north": {"uv": [7.5, 5.5, 9.5, 8], "texture": "#0"}, - "south": {"uv": [7.5, 3, 9.5, 5.5], "texture": "#0"}, - "up": {"uv": [2.5, 3, 0.5, 2.5], "texture": "#0"}, - "down": {"uv": [0.5, 0, 2.5, 0.5], "texture": "#0"} - } - }, - { - "name": "body", - "from": [6, 1, 10], - "to": [10, 6, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [1, 1, 10]}, - "faces": { - "north": {"uv": [0.5, 9, 2.5, 11.5], "texture": "#0"}, - "south": {"uv": [7.5, 5.5, 9.5, 8], "texture": "#0"}, - "up": {"uv": [2.5, 0.5, 0.5, 0], "texture": "#0"}, - "down": {"uv": [2.5, 2.5, 0.5, 3], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - }, - "groups": [ - 0, - 1, - { - "name": "lip", - "origin": [8, 8, 8], - "scope": 0, - "color": 0, - "children": [2, 3, 4, 5] - }, - { - "name": "neck", - "origin": [8, 8, 8], - "scope": 0, - "color": 0, - "children": [6, 7, 8, 9] - }, - { - "name": "body", - "origin": [8, 8, 8], - "scope": 0, - "color": 0, - "children": [10, 11, 12, 13] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_6.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_6.json deleted file mode 100644 index 324fd0d..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_6.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" - }, - "elements": [ - { - "name": "fluid", - "from": [6, 1, 6], - "to": [10, 6, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, - "faces": { - "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, - "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, - "south": {"uv": [4, 0, 8, 5], "texture": "#0"}, - "west": {"uv": [4, 0, 8, 5], "texture": "#0"}, - "up": {"uv": [4, 9, 0, 5], "texture": "#0"}, - "down": {"uv": [8, 5, 4, 9], "texture": "#0"} - } - }, - { - "name": "fluid", - "from": [7, 6, 7], - "to": [9, 7, 9], - "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, - "faces": { - "north": {"uv": [0, 1, 2, 2], "texture": "#0"}, - "east": {"uv": [0, 1, 2, 2], "texture": "#0"}, - "south": {"uv": [0, 1, 2, 2], "texture": "#0"}, - "west": {"uv": [0, 1, 2, 2], "texture": "#0"}, - "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, - "down": {"uv": [0, 0, 2, 2], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_7.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_7.json deleted file mode 100644 index 1455b24..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_7.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" - }, - "elements": [ - { - "name": "fluid", - "from": [6, 1, 6], - "to": [10, 6, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, - "faces": { - "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, - "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, - "south": {"uv": [4, 0, 8, 5], "texture": "#0"}, - "west": {"uv": [4, 0, 8, 5], "texture": "#0"}, - "up": {"uv": [4, 9, 0, 5], "texture": "#0"}, - "down": {"uv": [8, 5, 4, 9], "texture": "#0"} - } - }, - { - "name": "fluid", - "from": [7, 6, 7], - "to": [9, 8, 9], - "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, - "faces": { - "north": {"uv": [2, 2, 4, 4], "texture": "#0"}, - "east": {"uv": [0, 2, 2, 4], "texture": "#0"}, - "south": {"uv": [4, 2, 6, 4], "texture": "#0"}, - "west": {"uv": [4, 0, 6, 2], "texture": "#0"}, - "up": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "down": {"uv": [0, 0, 2, 2], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_8.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_8.json deleted file mode 100644 index ae57915..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_8.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" - }, - "elements": [ - { - "name": "fluid", - "from": [6, 1, 6], - "to": [10, 6, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, - "faces": { - "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, - "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, - "south": {"uv": [4, 0, 8, 5], "texture": "#0"}, - "west": {"uv": [4, 0, 8, 5], "texture": "#0"}, - "up": {"uv": [4, 9, 0, 5], "texture": "#0"}, - "down": {"uv": [8, 5, 4, 9], "texture": "#0"} - } - }, - { - "name": "fluid", - "from": [7, 6, 7], - "to": [9, 9, 9], - "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, - "faces": { - "north": {"uv": [2, 2, 4, 5], "texture": "#0"}, - "east": {"uv": [0, 2, 2, 5], "texture": "#0"}, - "south": {"uv": [6, 0, 8, 3], "texture": "#0"}, - "west": {"uv": [4, 0, 6, 3], "texture": "#0"}, - "up": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "down": {"uv": [0, 0, 2, 2], "texture": "#0"} - } - } - ], - "display": { - "head": { - "translation": [0, 14.5, 0] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_1.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json similarity index 56% rename from src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_1.json rename to src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json index 6742341..7f88815 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_1.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json @@ -12,12 +12,12 @@ "to": [10, 2, 10], "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, "faces": { - "north": {"uv": [0, 1, 4, 2], "texture": "#0"}, - "east": {"uv": [0, 1, 4, 2], "texture": "#0"}, - "south": {"uv": [0, 1, 4, 2], "texture": "#0"}, - "west": {"uv": [0, 1, 4, 2], "texture": "#0"}, - "up": {"uv": [0, 0, 4, 4], "texture": "#0"}, - "down": {"uv": [0, 0, 4, 4], "texture": "#0"} + "north": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "east": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "south": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "west": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#j1"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#j1"} } } ], diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_2.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json similarity index 56% rename from src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_2.json rename to src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json index edb9c94..d6b0028 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_2.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json @@ -12,12 +12,12 @@ "to": [10, 3, 10], "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, "faces": { - "north": {"uv": [0, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [0, 2, 4, 4], "texture": "#0"}, - "south": {"uv": [0, 5, 4, 7], "texture": "#0"}, - "west": {"uv": [0, 7, 4, 9], "texture": "#0"}, - "up": {"uv": [4, 0, 8, 4], "texture": "#0"}, - "down": {"uv": [4, 5, 8, 9], "texture": "#0"} + "north": {"uv": [0, 0, 4, 2], "texture": "#j2"}, + "east": {"uv": [0, 2, 4, 4], "texture": "#j2"}, + "south": {"uv": [0, 5, 4, 7], "texture": "#j2"}, + "west": {"uv": [0, 7, 4, 9], "texture": "#j2"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#j2"}, + "down": {"uv": [4, 5, 8, 9], "texture": "#j2"} } } ], diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_3.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json similarity index 56% rename from src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_3.json rename to src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json index 6fb73bb..3ce85c0 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_3.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json @@ -12,12 +12,12 @@ "to": [10, 4, 10], "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, "faces": { - "north": {"uv": [0, 0, 4, 3], "texture": "#0"}, - "east": {"uv": [0, 5, 4, 8], "texture": "#0"}, - "south": {"uv": [4, 4, 8, 7], "texture": "#0"}, - "west": {"uv": [0, 8, 4, 11], "texture": "#0"}, - "up": {"uv": [4, 5, 8, 9], "texture": "#0"}, - "down": {"uv": [4, 0, 8, 4], "texture": "#0"} + "north": {"uv": [0, 0, 4, 3], "texture": "#j3"}, + "east": {"uv": [0, 5, 4, 8], "texture": "#j3"}, + "south": {"uv": [4, 4, 8, 7], "texture": "#j3"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#j3"}, + "up": {"uv": [4, 5, 8, 9], "texture": "#j3"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#j3"} } } ], diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_4.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json similarity index 56% rename from src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_4.json rename to src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json index 37e72cc..c1d3084 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_4.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json @@ -12,12 +12,12 @@ "to": [10, 5, 10], "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, "faces": { - "north": {"uv": [0, 0, 4, 4], "texture": "#0"}, - "east": {"uv": [0, 4, 4, 8], "texture": "#0"}, - "south": {"uv": [0, 4, 4, 8], "texture": "#0"}, - "west": {"uv": [4, 0, 8, 4], "texture": "#0"}, - "up": {"uv": [8, 4, 4, 0], "texture": "#0"}, - "down": {"uv": [8, 4, 4, 8], "texture": "#0"} + "north": {"uv": [0, 0, 4, 4], "texture": "#j4"}, + "east": {"uv": [0, 4, 4, 8], "texture": "#j4"}, + "south": {"uv": [0, 4, 4, 8], "texture": "#j4"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#j4"}, + "up": {"uv": [8, 4, 4, 0], "texture": "#j4"}, + "down": {"uv": [8, 4, 4, 8], "texture": "#j4"} } } ], diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_5.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json similarity index 56% rename from src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_5.json rename to src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json index 99d8c0c..9fe29e2 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_fluid_5.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json @@ -12,12 +12,12 @@ "to": [10, 6, 10], "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, "faces": { - "north": {"uv": [0, 0, 4, 5], "texture": "#0"}, - "east": {"uv": [0, 0, 4, 5], "texture": "#0"}, - "south": {"uv": [4, 0, 8, 5], "texture": "#0"}, - "west": {"uv": [4, 0, 8, 5], "texture": "#0"}, - "up": {"uv": [4, 9, 0, 5], "texture": "#0"}, - "down": {"uv": [8, 5, 4, 9], "texture": "#0"} + "north": {"uv": [0, 0, 4, 5], "texture": "#j5"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j5"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j5"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j5"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j5"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j5"} } } ], diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json new file mode 100644 index 0000000..97aba01 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json @@ -0,0 +1,43 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "item/lemonade_glass_fluid", + "particle": "item/lemonade_glass_fluid" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j6"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j6"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j6"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j6"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j6"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j6"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 7, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "east": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "south": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "west": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#j6"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j6"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json new file mode 100644 index 0000000..66ac416 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json @@ -0,0 +1,43 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "item/lemonade_glass_fluid", + "particle": "item/lemonade_glass_fluid" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j7"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j7"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j7"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j7"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j7"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j7"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 8, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 4], "texture": "#j7"}, + "east": {"uv": [0, 2, 2, 4], "texture": "#j7"}, + "south": {"uv": [4, 2, 6, 4], "texture": "#j7"}, + "west": {"uv": [4, 0, 6, 2], "texture": "#j7"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#j7"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j7"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json new file mode 100644 index 0000000..14917b1 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json @@ -0,0 +1,43 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "j1": "item/lemonade_glass_fluid", + "particle": "item/lemonade_glass_fluid" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j8"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j8"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j8"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j8"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j8"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j8"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 5], "texture": "#j8"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#j8"}, + "south": {"uv": [6, 0, 8, 3], "texture": "#j8"}, + "west": {"uv": [4, 0, 6, 3], "texture": "#j8"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#j8"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j8"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json new file mode 100644 index 0000000..cd64d3d --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json @@ -0,0 +1,221 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "jc": "item/lemonade_jug_hardened_clay", + "particle": "item/lemonade_jug_hardened_clay" + }, + "elements": [ + { + "name": "handle", + "from": [8, 3, 2], + "to": [8, 8, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 3]}, + "faces": { + "north": {"uv": [0, 0, 0, 2.5], "texture": "#jc"}, + "east": {"uv": [3, 9, 5, 11.5], "texture": "#jc"}, + "south": {"uv": [0, 0, 0, 2.5], "texture": "#jc"}, + "west": {"uv": [5, 9, 7, 11.5], "texture": "#jc"}, + "up": {"uv": [0, 2, 0, 0], "texture": "#jc"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#jc"} + } + }, + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, + "faces": { + "north": {"uv": [5, 4, 7, 4.5], "texture": "#jc"}, + "east": {"uv": [3, 4, 5, 4.5], "texture": "#jc"}, + "south": {"uv": [5, 8.5, 7, 9], "texture": "#jc"}, + "west": {"uv": [3, 8.5, 5, 9], "texture": "#jc"}, + "up": {"uv": [12, 4, 10, 2], "texture": "#jc"}, + "down": {"uv": [2.5, 3.5, 0.5, 5.5], "texture": "#jc"} + } + }, + { + "name": "top", + "from": [10, 9, 5], + "to": [11, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 9, 5]}, + "faces": { + "north": {"uv": [2.5, 7, 3, 7.5], "texture": "#jc"}, + "east": {"uv": [0, 6, 3, 6.5], "texture": "#jc"}, + "south": {"uv": [0, 7.5, 0.5, 8], "texture": "#jc"}, + "west": {"uv": [0, 8.5, 3, 9], "texture": "#jc"}, + "up": {"uv": [0.5, 9, 0, 6], "texture": "#jc"}, + "down": {"uv": [3, 6, 2.5, 9], "texture": "#jc"} + } + }, + { + "name": "top", + "from": [5, 9, 5], + "to": [6, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 9, 5]}, + "faces": { + "north": {"uv": [1.5, 6, 2, 6.5], "texture": "#jc"}, + "east": {"uv": [0, 6, 3, 6.5], "texture": "#jc"}, + "south": {"uv": [0.5, 8.5, 1, 9], "texture": "#jc"}, + "west": {"uv": [0, 8.5, 3, 9], "texture": "#jc"}, + "up": {"uv": [0.5, 9, 0, 6], "texture": "#jc"}, + "down": {"uv": [3, 6, 2.5, 9], "texture": "#jc"} + } + }, + { + "name": "top", + "from": [6, 9, 5], + "to": [10, 10, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 5]}, + "faces": { + "north": {"uv": [2.5, 6.5, 3, 8.5], "rotation": 90, "texture": "#jc"}, + "south": {"uv": [0, 6.5, 0.5, 8.5], "rotation": 90, "texture": "#jc"}, + "up": {"uv": [2.5, 6.5, 0.5, 6], "texture": "#jc"}, + "down": {"uv": [2.5, 8.5, 0.5, 9], "texture": "#jc"} + } + }, + { + "name": "top", + "from": [6, 9, 10], + "to": [10, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 10]}, + "faces": { + "north": {"uv": [2.5, 6.5, 3, 8.5], "rotation": 90, "texture": "#jc"}, + "south": {"uv": [0, 6.5, 0.5, 8.5], "rotation": 90, "texture": "#jc"}, + "up": {"uv": [2.5, 9, 0.5, 8.5], "texture": "#jc"}, + "down": {"uv": [2.5, 6, 0.5, 6.5], "texture": "#jc"} + } + }, + { + "from": [6, 6, 6], + "to": [10, 9, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 6]}, + "faces": { + "north": {"uv": [3, 0.5, 5, 2], "texture": "#jc"}, + "east": {"uv": [4.5, 5, 5, 6.5], "texture": "#jc"}, + "south": {"uv": [5, 0.5, 7, 2], "texture": "#jc"}, + "west": {"uv": [3, 5, 3.5, 6.5], "texture": "#jc"}, + "up": {"uv": [5, 0.5, 3, 0], "texture": "#jc"}, + "down": {"uv": [5, 2, 3, 2.5], "texture": "#jc"} + } + }, + { + "from": [6, 6, 9], + "to": [10, 9, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 9]}, + "faces": { + "north": {"uv": [3, 5, 5, 6.5], "texture": "#jc"}, + "east": {"uv": [5, 0.5, 5.5, 2], "texture": "#jc"}, + "south": {"uv": [5, 5, 7, 6.5], "texture": "#jc"}, + "west": {"uv": [6.5, 0.5, 7, 2], "texture": "#jc"}, + "up": {"uv": [7, 5, 5, 4.5], "texture": "#jc"}, + "down": {"uv": [7, 6.5, 5, 7], "texture": "#jc"} + } + }, + { + "from": [6, 6, 7], + "to": [7, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 8]}, + "faces": { + "east": {"uv": [5.5, 5, 6.5, 6.5], "texture": "#jc"}, + "west": {"uv": [3.5, 5, 4.5, 6.5], "texture": "#jc"}, + "up": {"uv": [6.5, 5, 5.5, 4.5], "rotation": 90, "texture": "#jc"}, + "down": {"uv": [3.5, 7, 4.5, 6.5], "rotation": 90, "texture": "#jc"} + } + }, + { + "from": [9, 6, 7], + "to": [10, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 8]}, + "faces": { + "east": {"uv": [3.5, 5, 4.5, 6.5], "texture": "#jc"}, + "west": {"uv": [5.5, 5, 6.5, 6.5], "texture": "#jc"}, + "up": {"uv": [4.5, 5, 3.5, 4.5], "rotation": 90, "texture": "#jc"}, + "down": {"uv": [5.5, 7, 6.5, 6.5], "rotation": 90, "texture": "#jc"} + } + }, + { + "name": "body", + "from": [10, 1, 5], + "to": [11, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 5]}, + "faces": { + "north": {"uv": [9.5, 5.5, 10, 8], "texture": "#jc"}, + "east": {"uv": [7, 8, 10, 10.5], "texture": "#jc"}, + "south": {"uv": [7, 5.5, 7.5, 8], "texture": "#jc"}, + "west": {"uv": [0, 9, 3, 11.5], "texture": "#jc"}, + "up": {"uv": [0.5, 3, 0, 0], "texture": "#jc"}, + "down": {"uv": [3, 0, 2.5, 3], "texture": "#jc"} + } + }, + { + "name": "body", + "from": [5, 1, 5], + "to": [6, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 1, 5]}, + "faces": { + "north": {"uv": [9.5, 8, 10, 10.5], "texture": "#jc"}, + "east": {"uv": [7, 3, 10, 5.5], "texture": "#jc"}, + "south": {"uv": [7, 8, 7.5, 10.5], "texture": "#jc"}, + "west": {"uv": [7, 5.5, 10, 8], "texture": "#jc"}, + "up": {"uv": [3, 3, 2.5, 0], "texture": "#jc"}, + "down": {"uv": [0.5, 0, 0, 3], "texture": "#jc"} + } + }, + { + "name": "body", + "from": [6, 1, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 1, 5]}, + "faces": { + "north": {"uv": [7.5, 5.5, 9.5, 8], "texture": "#jc"}, + "south": {"uv": [7.5, 3, 9.5, 5.5], "texture": "#jc"}, + "up": {"uv": [2.5, 3, 0.5, 2.5], "texture": "#jc"}, + "down": {"uv": [0.5, 0, 2.5, 0.5], "texture": "#jc"} + } + }, + { + "name": "body", + "from": [6, 1, 10], + "to": [10, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 1, 10]}, + "faces": { + "north": {"uv": [0.5, 9, 2.5, 11.5], "texture": "#jc"}, + "south": {"uv": [7.5, 5.5, 9.5, 8], "texture": "#jc"}, + "up": {"uv": [2.5, 0.5, 0.5, 0], "texture": "#jc"}, + "down": {"uv": [2.5, 2.5, 0.5, 3], "texture": "#jc"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + }, + "groups": [ + 0, + 1, + { + "name": "lip", + "origin": [8, 8, 8], + "scope": 0, + "color": 0, + "children": [2, 3, 4, 5] + }, + { + "name": "neck", + "origin": [8, 8, 8], + "scope": 0, + "color": 0, + "children": [6, 7, 8, 9] + }, + { + "name": "body", + "origin": [8, 8, 8], + "scope": 0, + "color": 0, + "children": [10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates_title.png b/src/main/resources/assets/lemonmates_title.png deleted file mode 100644 index 4373b13a76e6bdf35307ea3ea3d844149cd03065..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71997 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%0A@UEa!%Lp=i1Ye8A_rTLowiA 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∨%H?Gf%R#g6xVshQF|Dq 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 diff --git a/src/main/resources/assets/production_simplified.png b/src/main/resources/assets/production_simplified.png deleted file mode 100644 index 89f7d7d30e4351f4f4da672b64fdddd5a42da2de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504828 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 z zZ3ps7{CwUq^O#_^JM(O^(OTTDVgz@bTQaF_nql zKNqD8b6__1Oh#MjX9Msd*U4zYN**v@;;Xhkq0?(;OI(2-Iws;Wt2L6Ux(n~4je$Kk zWRAy>^#^}?N3IZ@1fCiV_h6^w*{Ij5=^ad3E1kkqEJFR;Zq1hHfgp zL4{~Fy=b8wY#!(s;9)~Kn&$6Vt3OD_t1^&m4&~79d03{Ue}#M->FO1wj`tFHY>fM9 zvk-c)!+kHDq~mIEf!k#{VMr1fd9Z4Ih(s9U#&Uyp`N;D>WJxFGb$0$(?plv+HdQsR zRnEV;z)j6(E;#-MwE7fv=@qg?&36TaIXz?KlZrFKoSmvmrBF>DKe-7t-1Kz+dGb^!Xa_Ue z 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

%)bU)*@y!#hR}^1F;)@po9}b%%=f~K`j7zqT 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넚Zff@%IEmMe%EFcJ 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

= z?g5+N2X^oGgv@9P5`US9Bzc3ImN*N%x%%_AI{P_=v_HQygY>OR9QT`oU|B4EF17IN z9lN9(3T-!aCA~MZC%ind!03-MsPgBO^tX5_`28@~P{%0N(lB*h}v#!T|+h29zz&vW%X<3kbjhn1q? z7z~W^LRkKu5=6i4;q#RcP-Za#%M$+5O0dv<40z%f65}N^g#7f<%b7Mt^8yz8rE+C= zV^oS?BRES^EAFe~-^3i3pd|`^fIpY9szV?wHAKEuOGBI*2%=-#3gE#H+A>?L@IH!r z^$9C}Sow^@pXZv_93v-59)^j7*FEufysTRBgdewVqQ# z)M29KUBe?3Qx+TPfnM$sc5t8dQe+xO9OB6LYdAnW@+XW*)*_~;b#DMr{&3H+XFl8h zuFh3n2OO?`QL#{7p31Pyvakiq3aN*~>10g+2>{sXqT<}*Kj6n;Aj9PdpAf0cD|bX+ zlc_B%O`SV_zl*Ce+Eq>P?V+$M)OiU=dXTs72tuz^C^_9fxk{5;D$5M@joOr;x ztc518zSL~YhetwL8K8Wyga5ey3!4wbuI<#JS+gK6#JKq0b;nbl zxXd;qwH&DGUaGnulEE8SA>OQ;xN%E0ewAP0EW& zzIIfH$?^t5rJ25>i7!MAr{UFr>8p4z(g%g{IFeN$u~lU&7bXVN{H@}k4SYXf59e8kwd!a6hXr=anwNpo{PtIbXPS8mWl6#b-Q2SliTgJ?-l973~=t0t5Czcw++&7N}x#fB9mv!q=7z&^tK7v4rn9$Z|!Cp${;eZe%?9-SHZuEhu1DKRvQ> zw<+JyQ(V9=rYZjdkhmfCaqE7QO__#bZ+?9$d%2+Db#3T7D1Xdm>cO4n%5dPO=JS3MdujARjbPP=DmIH1X| z^VN7Beyou@<}obg{#*LWq-*%%FZfKZ^`I7WcT4$`3Cy*nZtlJ8`00){EP-$tWC=x85lrG$k&Rv_S@kkR?U?17* z{BR22Mj(V}imM`j$ro}OZ7zg7Ja*HWhS0m1P3U+5OC49xo^=_uFLZcU)nS0ZZL54? zW^k)Vo7cOU1|YiZ(~)T}Pfl_-J4gx+m~yp<3?TI9V&jhFfYcv1pju`9%eh__8O*{C za0Z<=4rm+sqvsK_n^km8?|Z?GNcx9#KlQ39ThfFL`^TM9)!?TP%3P3#c24)e7Z>M( zy?`_!VBn-#M;EOfHoslP-zf~3HrIiO4y}Y|2QHnWTWF)aAY(diD=oSyRSR44Z$I{= zEpOhIpOb$fOHi2Idt0)2V1uU|SyyOk*?d=r*~Z~)|C45b2fx7&?BSb;quf#ERoo`_0zB#pQZ>i zfl+}kE8fBI&H2Ip7a>A^sDW%4*vc+D1On)M(Q{b_V{*!t*T7mc(MZ1mbE1U(XFqz48#V8%NY)lKy*Y>mtp%_<39i+z$*9D{~}iFuGC4 z^0yUHK5I&U*h1_@ZfTrwmxi`PeLLlnYpXC{_b2k0y8wWlNxPjJe z*qUgnWrBYq@X>_@OWqB>1Y4?u5ZcBmRpT|zxwk{wCvh0ef10ARW&YORin{VMx(5kl zb84zvQyPp3-RS-yeB_I`mq!PuqBE)sy201RaK+v~sR4{y>&|Lv$=3s$6daTYg4(IxEntQ6C=~IdgNlUeft8XSaZ>T0IhHc%3-00&g7xKSw?U_+4 z%0A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 EZ+s+u0RR91 diff --git a/src/main/resources/data/create/create/potato_projectile/type/lemon_slice.json b/src/main/resources/data/create/create/potato_projectile/type/lemon_slice.json new file mode 100644 index 0000000..eacf1b9 --- /dev/null +++ b/src/main/resources/data/create/create/potato_projectile/type/lemon_slice.json @@ -0,0 +1,13 @@ +{ + "damage": 2, + "items": "lemonmates:lemon_slice", + "knockback": 0.1, + "reload_ticks": 5, + "render_mode": { + "type": "create:toward_motion", + "spin": 2.0, + "sprite_angle_offset": 140 + }, + "sound_pitch": 1.6, + "velocity_multiplier": 1.6 +} \ No newline at end of file From 9fc89ec258033fd9888cb4ba6abca84d3cc8d19c Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 24 May 2026 05:59:57 +0200 Subject: [PATCH 36/76] update create version --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 5fa7b1a..0be4c23 100644 --- a/gradle.properties +++ b/gradle.properties @@ -43,7 +43,7 @@ mod_authors=Doppel_R, Guddi8, KalWantsPizza, mbarnic mod_description=A small mod adding different types of lemonades using Create. ## Mod Dependencies -create_version = 6.0.9-215 -ponder_version = 1.0.81 +create_version = 6.0.10-280 +ponder_version = 1.0.82 flywheel_version = 1.0.6 registrate_version = MC1.21-1.3.0+67 \ No newline at end of file From 937e9bde259603315da9384f03cdaa01452c0ac3 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 24 May 2026 06:19:31 +0200 Subject: [PATCH 37/76] adjust recipes to prevent duping straws --- .../recipe/stonecutting/straw_ace_from_straws.json | 3 +-- .../recipe/stonecutting/straw_agender_from_straws.json | 3 +-- .../recipe/stonecutting/straw_aro_from_straws.json | 3 +-- .../recipe/stonecutting/straw_aroace_from_straws.json | 3 +-- .../recipe/stonecutting/straw_basic_from_straws.json | 3 +-- .../recipe/stonecutting/straw_bi_from_straws.json | 3 +-- .../recipe/stonecutting/straw_gay_from_straws.json | 3 +-- .../stonecutting/straw_genderfluid_from_straws.json | 3 +-- .../recipe/stonecutting/straw_lesbian_from_straws.json | 3 +-- .../recipe/stonecutting/straw_nonbinary_from_eggs.json | 10 ++++++++++ .../stonecutting/straw_nonbinary_from_straws.json | 3 +-- .../recipe/stonecutting/straw_pan_from_straws.json | 3 +-- .../recipe/stonecutting/straw_rainbow_from_straws.json | 3 +-- .../recipe/stonecutting/straw_trans_from_eggs.json | 10 ++++++++++ .../recipe/stonecutting/straw_trans_from_straws.json | 3 +-- 15 files changed, 33 insertions(+), 26 deletions(-) create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_eggs.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_eggs.json diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json index d460276..45766e7 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_ace_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_ace", - "count": 8 + "id": "lemonmates:straw_ace" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json index 33acea5..575a021 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_agender_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_agender", - "count": 8 + "id": "lemonmates:straw_agender" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json index fd844ac..faac968 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aro_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_aro", - "count": 8 + "id": "lemonmates:straw_aro" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json index cdefcd0..ca55db0 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_aroace_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_aroace", - "count": 8 + "id": "lemonmates:straw_aroace" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_straws.json index e489ee7..cf43adf 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_basic_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_basic", - "count": 8 + "id": "lemonmates:straw_basic" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json index afe6a44..f2d644f 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_bi_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_bi", - "count": 8 + "id": "lemonmates:straw_bi" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json index 115e72a..9bc444f 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_gay_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_gay", - "count": 8 + "id": "lemonmates:straw_gay" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json index 0a63078..bf7e5ab 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_genderfluid_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_genderfluid", - "count": 8 + "id": "lemonmates:straw_genderfluid" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json index ca29f4a..f7e8453 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_lesbian_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_lesbian", - "count": 8 + "id": "lemonmates:straw_lesbian" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_eggs.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_eggs.json new file mode 100644 index 0000000..6a42dfe --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_eggs.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "minecraft:egg" + }, + "result": { + "id": "lemonmates:straw_nonbinary", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json index cc841b0..d8e8c0c 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_nonbinary_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_nonbinary", - "count": 8 + "id": "lemonmates:straw_nonbinary" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json index 402c545..17d6f38 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_pan_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_pan", - "count": 8 + "id": "lemonmates:straw_pan" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json index bdc9af6..1ecb753 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_rainbow_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_rainbow", - "count": 8 + "id": "lemonmates:straw_rainbow" } } \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_eggs.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_eggs.json new file mode 100644 index 0000000..2d8bfe2 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_eggs.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "minecraft:egg" + }, + "result": { + "id": "lemonmates:straw_trans", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json index aa0993b..2012743 100644 --- a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_trans_from_straws.json @@ -4,7 +4,6 @@ "tag": "lemonmates:drinking_straws" }, "result": { - "id": "lemonmates:straw_trans", - "count": 8 + "id": "lemonmates:straw_trans" } } \ No newline at end of file From e54e85bed645f41df5dc4a103f9f950875c050fd Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 24 May 2026 06:20:19 +0200 Subject: [PATCH 38/76] prepare datagen to fix z-fighting on lemonade bottles --- .../lemonmates/datagen/ModItemModelProvider.java | 6 +++--- .../textures/item/bottle_empty_cap_for_label.png | Bin 0 -> 512 bytes .../textures/item/bottle_empty_for_label.png | Bin 0 -> 506 bytes 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 src/main/resources/assets/lemonmates/textures/item/bottle_empty_cap_for_label.png create mode 100644 src/main/resources/assets/lemonmates/textures/item/bottle_empty_for_label.png diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java index 47ae2bf..c897171 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModItemModelProvider.java @@ -118,13 +118,13 @@ private void labelItem(DeferredItem item, String... types) { private void lemonadeBottleItem(DeferredItem item, String variant) { ModelFile bottleDrinkingModel = withExistingParent(item.getId().getPath() + "_drinking", mcLoc("item/generated")) - .texture("layer0", LemonMates.rl("item/bottle_empty")) + .texture("layer0", LemonMates.rl("item/bottle_empty_for_label")) .texture("layer1", LemonMates.rl(String.format("item/bottle_fluid/%s", variant))) .texture("layer2", LemonMates.rl("item/label/bottle_empty")) .texture("layer3", LemonMates.rl("item/label/company")) .texture("layer4", LemonMates.rl(String.format("item/label/%s", variant))); withExistingParent(item.getId().getPath(), mcLoc("item/generated")) - .texture("layer0", LemonMates.rl("item/bottle_empty_cap")) + .texture("layer0", LemonMates.rl("item/bottle_empty_cap_for_label")) .texture("layer1", LemonMates.rl(String.format("item/bottle_fluid/%s", variant))) .texture("layer2", LemonMates.rl("item/label/bottle_empty")) .texture("layer3", LemonMates.rl("item/label/company")) @@ -136,7 +136,7 @@ private void lemonadeBottleItem(DeferredItem item, String variant) { private void emptyLemonadeBottleItem(DeferredItem item, String variant) { withExistingParent(item.getId().getPath(), mcLoc("item/generated")) - .texture("layer0", LemonMates.rl("item/bottle_empty_cap")) + .texture("layer0", LemonMates.rl("item/bottle_empty_cap_for_label")) .texture("layer1", LemonMates.rl("item/label/bottle_empty")) .texture("layer2", LemonMates.rl("item/label/company")) .texture("layer3", LemonMates.rl(String.format("item/label/%s", variant))); diff --git a/src/main/resources/assets/lemonmates/textures/item/bottle_empty_cap_for_label.png b/src/main/resources/assets/lemonmates/textures/item/bottle_empty_cap_for_label.png new file mode 100644 index 0000000000000000000000000000000000000000..2c8ecf91d616bbcec7919796d61aa01baffc001d GIT binary patch literal 512 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sCtK$!7v+bngUpk#?_L`iUdT1k0gQ7S_~VrE{6o}X)of~lUN zo}rO2qk9QZ(T>yz&ooa@Ed~xChm}E!k(GfF$npYWX($`y91TWhus9QtZOF*PAPA(R zfHgz~}P_1jqf*K15SDR}y_ ze1}_#Ss=rb#Lqv?drn9-);!|LjI3r}BQTq7hKx}{(q&f$yXj81}4b_ Ui5_W|`5-@dy85}Sb4q9e0C#MBp8x;= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/item/bottle_empty_for_label.png b/src/main/resources/assets/lemonmates/textures/item/bottle_empty_for_label.png new file mode 100644 index 0000000000000000000000000000000000000000..08411b90a33e972f08fcd32cb9d736b1d4485fa6 GIT binary patch literal 506 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sCtL70*MV8vmepk#?_L`iUdT1k0gQ7S_~VrE{6o}X)of~lUN zo}rO2qk9QZ(T>yz&ooa@Ed~xChm}E!k(GfF$npYWX($`y91TWhus9QtZOF*PAPA(R zfHck8Ga{=W+jBVYT+*oRzyGkQ z(&kPk1>V``_b0ks<9H&R&T;1C4U>e=e8N+XG3;wo>IqPbYq-oH;qa|(-z1JHt?UZc zvUjC#FbU7*-jOIZaWCVgn*UeB!!)M1G0ZkjWQaa9L8RjbLmQ(*y;G!sbmgTe~DWM4fcNKij literal 0 HcmV?d00001 From 18977f1b587fa4507f142848f8b8a1c504802f88 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 24 May 2026 06:21:21 +0200 Subject: [PATCH 39/76] add fruits to potatocanon projectiles --- .../type/{lemon_slice.json => citron.json} | 2 +- .../create/potato_projectile/type/citron_slice.json | 13 +++++++++++++ .../create/potato_projectile/type/orange.json | 13 +++++++++++++ .../create/potato_projectile/type/orange_slice.json | 13 +++++++++++++ .../create/potato_projectile/type/raspberry.json | 13 +++++++++++++ 5 files changed, 53 insertions(+), 1 deletion(-) rename src/main/resources/data/create/create/potato_projectile/type/{lemon_slice.json => citron.json} (85%) create mode 100644 src/main/resources/data/create/create/potato_projectile/type/citron_slice.json create mode 100644 src/main/resources/data/create/create/potato_projectile/type/orange.json create mode 100644 src/main/resources/data/create/create/potato_projectile/type/orange_slice.json create mode 100644 src/main/resources/data/create/create/potato_projectile/type/raspberry.json diff --git a/src/main/resources/data/create/create/potato_projectile/type/lemon_slice.json b/src/main/resources/data/create/create/potato_projectile/type/citron.json similarity index 85% rename from src/main/resources/data/create/create/potato_projectile/type/lemon_slice.json rename to src/main/resources/data/create/create/potato_projectile/type/citron.json index eacf1b9..705c978 100644 --- a/src/main/resources/data/create/create/potato_projectile/type/lemon_slice.json +++ b/src/main/resources/data/create/create/potato_projectile/type/citron.json @@ -1,6 +1,6 @@ { "damage": 2, - "items": "lemonmates:lemon_slice", + "items": "lemonmates:citron", "knockback": 0.1, "reload_ticks": 5, "render_mode": { diff --git a/src/main/resources/data/create/create/potato_projectile/type/citron_slice.json b/src/main/resources/data/create/create/potato_projectile/type/citron_slice.json new file mode 100644 index 0000000..51e7236 --- /dev/null +++ b/src/main/resources/data/create/create/potato_projectile/type/citron_slice.json @@ -0,0 +1,13 @@ +{ + "damage": 2, + "items": "lemonmates:citron_slice", + "knockback": 0.1, + "reload_ticks": 5, + "render_mode": { + "type": "create:toward_motion", + "spin": 2.0, + "sprite_angle_offset": 140 + }, + "sound_pitch": 1.6, + "velocity_multiplier": 1.6 +} \ No newline at end of file diff --git a/src/main/resources/data/create/create/potato_projectile/type/orange.json b/src/main/resources/data/create/create/potato_projectile/type/orange.json new file mode 100644 index 0000000..663d753 --- /dev/null +++ b/src/main/resources/data/create/create/potato_projectile/type/orange.json @@ -0,0 +1,13 @@ +{ + "damage": 2, + "items": "lemonmates:orange", + "knockback": 0.1, + "reload_ticks": 5, + "render_mode": { + "type": "create:toward_motion", + "spin": 2.0, + "sprite_angle_offset": 140 + }, + "sound_pitch": 1.6, + "velocity_multiplier": 1.6 +} \ No newline at end of file diff --git a/src/main/resources/data/create/create/potato_projectile/type/orange_slice.json b/src/main/resources/data/create/create/potato_projectile/type/orange_slice.json new file mode 100644 index 0000000..e967a09 --- /dev/null +++ b/src/main/resources/data/create/create/potato_projectile/type/orange_slice.json @@ -0,0 +1,13 @@ +{ + "damage": 2, + "items": "lemonmates:orange_slice", + "knockback": 0.1, + "reload_ticks": 5, + "render_mode": { + "type": "create:toward_motion", + "spin": 2.0, + "sprite_angle_offset": 140 + }, + "sound_pitch": 1.6, + "velocity_multiplier": 1.6 +} \ No newline at end of file diff --git a/src/main/resources/data/create/create/potato_projectile/type/raspberry.json b/src/main/resources/data/create/create/potato_projectile/type/raspberry.json new file mode 100644 index 0000000..fd75a83 --- /dev/null +++ b/src/main/resources/data/create/create/potato_projectile/type/raspberry.json @@ -0,0 +1,13 @@ +{ + "damage": 2, + "items": "lemonmates:raspberry", + "knockback": 0.1, + "reload_ticks": 5, + "render_mode": { + "type": "create:toward_motion", + "spin": 2.0, + "sprite_angle_offset": 140 + }, + "sound_pitch": 1.6, + "velocity_multiplier": 1.6 +} \ No newline at end of file From be31aa5597b6eb35c6cb4f721bf6dc6ba9ce3adf Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 24 May 2026 06:21:53 +0200 Subject: [PATCH 40/76] re-order creative mode tabs to not break up create's tabs and change order --- .../java/net/doppelr/lemonmates/AllCreativeModeTabs.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index 4a87dba..1352d74 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -19,7 +19,7 @@ public class AllCreativeModeTabs { public static final DeferredHolder BASE_CREATIVE_TAB = CREATIVE_MODE_TABS.register("base", () -> CreativeModeTab.builder() .title(Component.translatable("itemGroup." + LemonMates.MOD_ID + ".base")) - .withTabsBefore(CreativeModeTabs.SPAWN_EGGS) + .withTabsBefore(com.simibubi.create.AllCreativeModeTabs.PALETTES_CREATIVE_TAB.getKey()) .icon(() -> new ItemStack(ModItems.WATERMELON_LEMONADE_BOTTLE.get())) .displayItems((params, output) -> { // Fruits @@ -93,7 +93,7 @@ public class AllCreativeModeTabs { public static final DeferredHolder PROCESSING_CREATIVE_TAB = CREATIVE_MODE_TABS.register("processing", () -> CreativeModeTab.builder() .title(Component.translatable("itemGroup." + LemonMates.MOD_ID + ".processing")) - .withTabsBefore(AllCreativeModeTabs.SERVING_CREATIVE_TAB.getKey()) + .withTabsBefore(AllCreativeModeTabs.BASE_CREATIVE_TAB.getKey()) .icon(() -> new ItemStack(ModItems.BOTTLE_MOLD_WITH_BOTTLE.get())) .displayItems((params, output) -> { // Plastic @@ -158,7 +158,7 @@ public class AllCreativeModeTabs { public static final DeferredHolder SERVING_CREATIVE_TAB = CREATIVE_MODE_TABS.register("serving", () -> CreativeModeTab.builder() .title(Component.translatable("itemGroup." + LemonMates.MOD_ID + ".serving")) - .withTabsBefore(AllCreativeModeTabs.BASE_CREATIVE_TAB.getKey()) + .withTabsBefore(AllCreativeModeTabs.PROCESSING_CREATIVE_TAB.getKey()) .icon(() -> new ItemStack(ModBlocks.LEMONADE_GLASS.get())) .displayItems((params, output) -> { // Fruit From 8f048c1544b619dded9ef477b6000d2ab977d6c1 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 24 May 2026 06:22:12 +0200 Subject: [PATCH 41/76] run datagen --- .../3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c | 4 +- .../f6b42ca1cd503fe26fe76afc2157fd76c4c99038 | 45 +++++++------------ .../models/item/citron_lemonade_bottle.json | 2 +- .../item/citron_lemonade_bottle_drinking.json | 2 +- .../item/empty_citron_lemonade_bottle.json | 2 +- .../item/empty_orange_lemonade_bottle.json | 2 +- .../item/empty_raspberry_lemonade_bottle.json | 2 +- .../item/empty_summermix_lemonade_bottle.json | 2 +- .../empty_watermelon_lemonade_bottle.json | 2 +- .../models/item/orange_lemonade_bottle.json | 2 +- .../item/orange_lemonade_bottle_drinking.json | 2 +- .../item/raspberry_lemonade_bottle.json | 2 +- .../raspberry_lemonade_bottle_drinking.json | 2 +- .../item/summermix_lemonade_bottle.json | 2 +- .../summermix_lemonade_bottle_drinking.json | 2 +- .../item/watermelon_lemonade_bottle.json | 2 +- .../watermelon_lemonade_bottle_drinking.json | 2 +- .../create/tags/item/upright_on_belt.json | 2 - 18 files changed, 33 insertions(+), 48 deletions(-) diff --git a/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c b/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c index 61a6382..8c80053 100644 --- a/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c +++ b/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c @@ -1,5 +1,5 @@ -// 1.21.1 2026-02-08T18:17:03.1833297 Tags for minecraft:item mod id lemonmates -486ad6088782cd2cff04585f851a4ef3076bd93f data/create/tags/item/upright_on_belt.json +// 1.21.1 2026-05-24T05:53:10.9684448 Tags for minecraft:item mod id lemonmates +c3b5fb89d505d662d95dfee5f9199f6ea85224c5 data/create/tags/item/upright_on_belt.json 28511dee5e7f0634f2aece3397d9ffd9274aefed data/c/tags/item/buckets.json 0c38161e712608c74a46b6afa4e53a0a4e1ee80f data/c/tags/item/buckets/plastic.json 82c82b1bb47c267ab2926e6ce0705705f1ae5c7e data/c/tags/item/drinks.json diff --git a/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 b/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 index 87ce1c4..ec31b18 100644 --- a/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 +++ b/src/generated/resources/.cache/f6b42ca1cd503fe26fe76afc2157fd76c4c99038 @@ -1,4 +1,4 @@ -// 1.21.1 2026-03-10T00:06:46.8611383 Item Models: lemonmates +// 1.21.1 2026-05-24T05:53:10.9743022 Item Models: lemonmates 138a42244c73c0017b7a51a1e09d007f8eb51adf assets/lemonmates/models/item/bioplastic_mass.json caa1f3144e11981981ff6f72430621c0f982693a assets/lemonmates/models/item/bottle_cap.json 9eb3735862401fbd689579dd466c19ea9dffda34 assets/lemonmates/models/item/bottle_empty.json @@ -15,17 +15,17 @@ caa1f3144e11981981ff6f72430621c0f982693a assets/lemonmates/models/item/bottle_ca 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 -7b8c03cb9fb4ca1b90e4c60e1f582b2fd41b9e4f assets/lemonmates/models/item/citron_lemonade_bottle.json -fa05229ac0103e0627398d9fdb12637b2a87d96a assets/lemonmates/models/item/citron_lemonade_bottle_drinking.json +cca3216e70e6da082d36d2c2b7aa69e10caa261c assets/lemonmates/models/item/citron_lemonade_bottle.json +53699bab7463025e51f422e21c536d66e541b485 assets/lemonmates/models/item/citron_lemonade_bottle_drinking.json 88107e2e1efaca3d8d9dae75169b93a131d6353e assets/lemonmates/models/item/citron_lemonade_bucket.json a79067c13f8f61f2773c10c67451c64307bac6b0 assets/lemonmates/models/item/citron_sapling.json 9f1c52c417b907ad9d92f751f22ee86dc3c4e1eb assets/lemonmates/models/item/citron_sign.json edaaebf1da2608b21575e73f6691872cdc2f458d assets/lemonmates/models/item/citron_slice.json -a16717280ba4650703f63403f57131187c1bad75 assets/lemonmates/models/item/empty_citron_lemonade_bottle.json -18264902e4241bd87620734e642b137a8b24d930 assets/lemonmates/models/item/empty_orange_lemonade_bottle.json -b6b5a7fa3e148261768afc16ff3e00504553dd4a assets/lemonmates/models/item/empty_raspberry_lemonade_bottle.json -acb4119756a8d769f848e1c20b5e44cdf7c462cb assets/lemonmates/models/item/empty_summermix_lemonade_bottle.json -2acdac691b93d594bf8c5c33f912baa22f5d021c assets/lemonmates/models/item/empty_watermelon_lemonade_bottle.json +9fb7d86bf21d451d450136683ab5c277ebc94f1a assets/lemonmates/models/item/empty_citron_lemonade_bottle.json +f322d20d932f3255c1e2b858679737ebdc38017d assets/lemonmates/models/item/empty_orange_lemonade_bottle.json +3a1888600f72c73cd5ee8de7e567ead4ab0da9d8 assets/lemonmates/models/item/empty_raspberry_lemonade_bottle.json +51a66c4f3be6178c99bdced3a00b7738c0e5c1a1 assets/lemonmates/models/item/empty_summermix_lemonade_bottle.json +6d8367bc5617fb4abcdf551e884cc86aaa0bf552 assets/lemonmates/models/item/empty_watermelon_lemonade_bottle.json 182df3b1df1d901d5516fe42cfb5df802b3fb163 assets/lemonmates/models/item/incomplete_citron_lemonade.json bd85e5cd701bbdb0cbe85f9acdbcef50565973e3 assets/lemonmates/models/item/incomplete_citron_lemonade_cap.json 7bfc083e872c48726c3d3d7354da966b3bd56c52 assets/lemonmates/models/item/incomplete_orange_lemonade.json @@ -51,8 +51,8 @@ a5e34ba1fef7e8c745423a65d4f527bf6405364a assets/lemonmates/models/item/orange_bu 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 -7b4f15bf3d977c620e3b19fa403d71793e7f654e assets/lemonmates/models/item/orange_lemonade_bottle.json -0291891b9274048820f076a7e640b95905de8c06 assets/lemonmates/models/item/orange_lemonade_bottle_drinking.json +b35722a55f370e7bcc8b0cfb02479e42aa1c419e assets/lemonmates/models/item/orange_lemonade_bottle.json +1225f707f53f5112fb562db9f2b55ef27fcb8655 assets/lemonmates/models/item/orange_lemonade_bottle_drinking.json c299662199a3f4a158dcc6893d05dc884b8e6fbc assets/lemonmates/models/item/orange_lemonade_bucket.json fb91a796f34d6d6b6e16a52d71c1678b091007c5 assets/lemonmates/models/item/orange_sapling.json dbddedbfbcc9a4033ba0fcb909b3acc80be4ee98 assets/lemonmates/models/item/orange_sign.json @@ -62,27 +62,14 @@ c5d1d236e8759de9f723cad4ab43b05d22951c01 assets/lemonmates/models/item/plastic_b 9b3d5050af42c4bfc2e91e52c0b76147259ebfed assets/lemonmates/models/item/preform_mold.json 048e1d3296c3038203a3bad6cff7a5a51ea89616 assets/lemonmates/models/item/preform_mold_with_preform.json f1418197725e7fa91216d57cfb49b5a7c6b76c06 assets/lemonmates/models/item/raspberry.json -190e43897307d3710d24297b7f5f8e2dd5c604b1 assets/lemonmates/models/item/raspberry_lemonade_bottle.json -dd5b82a54dbe11b750f1775c43acce7ce0b73bcc assets/lemonmates/models/item/raspberry_lemonade_bottle_drinking.json +b50c5c7c299a58b74f2e40effeacfb4d674f433f assets/lemonmates/models/item/raspberry_lemonade_bottle.json +99bb7d0ecb4d76dcec3bc7765a1f795b1e8e87ad assets/lemonmates/models/item/raspberry_lemonade_bottle_drinking.json 1a625bd1cf17cfc14f31bec13c78f6a73cce40f9 assets/lemonmates/models/item/raspberry_lemonade_bucket.json 6ade2212c423ac19b8e5655d235d82e6cc97b23a assets/lemonmates/models/item/seed_flour.json b7097f639ceaf9f6bdc5d5b8d68dea101766b908 assets/lemonmates/models/item/starch.json -0930de4436848bf9403ff6d0bead9ed0ace114dd assets/lemonmates/models/item/straw_ace.json -8451739f9ac155359bfdc286c60ef9e80f635cd7 assets/lemonmates/models/item/straw_agender.json -662608dbf4d2f895fe89cae170ff089f65a1292c assets/lemonmates/models/item/straw_aro.json -5c874f61fd02a596964c287e63da36ead5fcb008 assets/lemonmates/models/item/straw_aroace.json -97149fc4850ca792ad84a2782777dafb3bfa807f assets/lemonmates/models/item/straw_basic.json -a86167ca2180f684147934a51b183488a4568d09 assets/lemonmates/models/item/straw_bi.json -91dcf6fdedc39eb6c44a8029768f7a4a95474894 assets/lemonmates/models/item/straw_gay.json -ef0e7344140047c31e0215810297f4a8716c6b62 assets/lemonmates/models/item/straw_genderfluid.json -cef27b8c546c4e42e6e5d34715988ea2272cc1e6 assets/lemonmates/models/item/straw_lesbian.json -1023a0441bdb5f3a70bceb798a2abf3f15dd55d6 assets/lemonmates/models/item/straw_nonbinary.json -779596321c053c606f0f4b7a4536b069b4d6de32 assets/lemonmates/models/item/straw_pan.json -da3309ae6c95226b638e2d63e011ecc511175bab assets/lemonmates/models/item/straw_rainbow.json -91efe2cba5260e0c190b24b8f7a374c887f3a68f assets/lemonmates/models/item/straw_trans.json -9cdcfd87ff73dd7d76ee274ddc39b7f1204254de assets/lemonmates/models/item/summermix_lemonade_bottle.json -1bb343f5b50274911e301dd7b57f8b2acdf44f8b assets/lemonmates/models/item/summermix_lemonade_bottle_drinking.json +fe786c4e6dded866ecf4a4f3273b5b2ba64f9cf3 assets/lemonmates/models/item/summermix_lemonade_bottle.json +716b2faab187c1942db8fd48d0c673e5078e525a assets/lemonmates/models/item/summermix_lemonade_bottle_drinking.json 094467c7bb51635cce6818380443e928a91fc97c assets/lemonmates/models/item/summermix_lemonade_bucket.json -5737769052be7fd223b62ad0a35082eb56a7484f assets/lemonmates/models/item/watermelon_lemonade_bottle.json -b1fde81aee9378604ad4fdaf0dcec3f88ad57edb assets/lemonmates/models/item/watermelon_lemonade_bottle_drinking.json +95d05cdbb8b68d6e72baf8335e6e976902ecb120 assets/lemonmates/models/item/watermelon_lemonade_bottle.json +00e5e2e74b6cb72fd99998b9e0add5f5b6394d00 assets/lemonmates/models/item/watermelon_lemonade_bottle_drinking.json 23f84dd16e2c17ae54848900f852b0378b0416ad assets/lemonmates/models/item/watermelon_lemonade_bucket.json diff --git a/src/generated/resources/assets/lemonmates/models/item/citron_lemonade_bottle.json b/src/generated/resources/assets/lemonmates/models/item/citron_lemonade_bottle.json index c16f01e..3502c42 100644 --- a/src/generated/resources/assets/lemonmates/models/item/citron_lemonade_bottle.json +++ b/src/generated/resources/assets/lemonmates/models/item/citron_lemonade_bottle.json @@ -9,7 +9,7 @@ } ], "textures": { - "layer0": "lemonmates:item/bottle_empty_cap", + "layer0": "lemonmates:item/bottle_empty_cap_for_label", "layer1": "lemonmates:item/bottle_fluid/citron", "layer2": "lemonmates:item/label/bottle_empty", "layer3": "lemonmates:item/label/company", diff --git a/src/generated/resources/assets/lemonmates/models/item/citron_lemonade_bottle_drinking.json b/src/generated/resources/assets/lemonmates/models/item/citron_lemonade_bottle_drinking.json index 9224c57..5f07ac0 100644 --- a/src/generated/resources/assets/lemonmates/models/item/citron_lemonade_bottle_drinking.json +++ b/src/generated/resources/assets/lemonmates/models/item/citron_lemonade_bottle_drinking.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "lemonmates:item/bottle_empty", + "layer0": "lemonmates:item/bottle_empty_for_label", "layer1": "lemonmates:item/bottle_fluid/citron", "layer2": "lemonmates:item/label/bottle_empty", "layer3": "lemonmates:item/label/company", diff --git a/src/generated/resources/assets/lemonmates/models/item/empty_citron_lemonade_bottle.json b/src/generated/resources/assets/lemonmates/models/item/empty_citron_lemonade_bottle.json index 2e7fa03..ece7472 100644 --- a/src/generated/resources/assets/lemonmates/models/item/empty_citron_lemonade_bottle.json +++ b/src/generated/resources/assets/lemonmates/models/item/empty_citron_lemonade_bottle.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "lemonmates:item/bottle_empty_cap", + "layer0": "lemonmates:item/bottle_empty_cap_for_label", "layer1": "lemonmates:item/label/bottle_empty", "layer2": "lemonmates:item/label/company", "layer3": "lemonmates:item/label/citron" diff --git a/src/generated/resources/assets/lemonmates/models/item/empty_orange_lemonade_bottle.json b/src/generated/resources/assets/lemonmates/models/item/empty_orange_lemonade_bottle.json index 255b7ee..8da94f0 100644 --- a/src/generated/resources/assets/lemonmates/models/item/empty_orange_lemonade_bottle.json +++ b/src/generated/resources/assets/lemonmates/models/item/empty_orange_lemonade_bottle.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "lemonmates:item/bottle_empty_cap", + "layer0": "lemonmates:item/bottle_empty_cap_for_label", "layer1": "lemonmates:item/label/bottle_empty", "layer2": "lemonmates:item/label/company", "layer3": "lemonmates:item/label/orange" diff --git a/src/generated/resources/assets/lemonmates/models/item/empty_raspberry_lemonade_bottle.json b/src/generated/resources/assets/lemonmates/models/item/empty_raspberry_lemonade_bottle.json index ff45e0f..a57ec9d 100644 --- a/src/generated/resources/assets/lemonmates/models/item/empty_raspberry_lemonade_bottle.json +++ b/src/generated/resources/assets/lemonmates/models/item/empty_raspberry_lemonade_bottle.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "lemonmates:item/bottle_empty_cap", + "layer0": "lemonmates:item/bottle_empty_cap_for_label", "layer1": "lemonmates:item/label/bottle_empty", "layer2": "lemonmates:item/label/company", "layer3": "lemonmates:item/label/raspberry" diff --git a/src/generated/resources/assets/lemonmates/models/item/empty_summermix_lemonade_bottle.json b/src/generated/resources/assets/lemonmates/models/item/empty_summermix_lemonade_bottle.json index 41943d0..a366be0 100644 --- a/src/generated/resources/assets/lemonmates/models/item/empty_summermix_lemonade_bottle.json +++ b/src/generated/resources/assets/lemonmates/models/item/empty_summermix_lemonade_bottle.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "lemonmates:item/bottle_empty_cap", + "layer0": "lemonmates:item/bottle_empty_cap_for_label", "layer1": "lemonmates:item/label/bottle_empty", "layer2": "lemonmates:item/label/company", "layer3": "lemonmates:item/label/summermix" diff --git a/src/generated/resources/assets/lemonmates/models/item/empty_watermelon_lemonade_bottle.json b/src/generated/resources/assets/lemonmates/models/item/empty_watermelon_lemonade_bottle.json index fc83f10..c500c87 100644 --- a/src/generated/resources/assets/lemonmates/models/item/empty_watermelon_lemonade_bottle.json +++ b/src/generated/resources/assets/lemonmates/models/item/empty_watermelon_lemonade_bottle.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "lemonmates:item/bottle_empty_cap", + "layer0": "lemonmates:item/bottle_empty_cap_for_label", "layer1": "lemonmates:item/label/bottle_empty", "layer2": "lemonmates:item/label/company", "layer3": "lemonmates:item/label/watermelon" diff --git a/src/generated/resources/assets/lemonmates/models/item/orange_lemonade_bottle.json b/src/generated/resources/assets/lemonmates/models/item/orange_lemonade_bottle.json index 7c7827c..db183ca 100644 --- a/src/generated/resources/assets/lemonmates/models/item/orange_lemonade_bottle.json +++ b/src/generated/resources/assets/lemonmates/models/item/orange_lemonade_bottle.json @@ -9,7 +9,7 @@ } ], "textures": { - "layer0": "lemonmates:item/bottle_empty_cap", + "layer0": "lemonmates:item/bottle_empty_cap_for_label", "layer1": "lemonmates:item/bottle_fluid/orange", "layer2": "lemonmates:item/label/bottle_empty", "layer3": "lemonmates:item/label/company", diff --git a/src/generated/resources/assets/lemonmates/models/item/orange_lemonade_bottle_drinking.json b/src/generated/resources/assets/lemonmates/models/item/orange_lemonade_bottle_drinking.json index 1c062e9..2825a6a 100644 --- a/src/generated/resources/assets/lemonmates/models/item/orange_lemonade_bottle_drinking.json +++ b/src/generated/resources/assets/lemonmates/models/item/orange_lemonade_bottle_drinking.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "lemonmates:item/bottle_empty", + "layer0": "lemonmates:item/bottle_empty_for_label", "layer1": "lemonmates:item/bottle_fluid/orange", "layer2": "lemonmates:item/label/bottle_empty", "layer3": "lemonmates:item/label/company", diff --git a/src/generated/resources/assets/lemonmates/models/item/raspberry_lemonade_bottle.json b/src/generated/resources/assets/lemonmates/models/item/raspberry_lemonade_bottle.json index 13b4ecd..14a5495 100644 --- a/src/generated/resources/assets/lemonmates/models/item/raspberry_lemonade_bottle.json +++ b/src/generated/resources/assets/lemonmates/models/item/raspberry_lemonade_bottle.json @@ -9,7 +9,7 @@ } ], "textures": { - "layer0": "lemonmates:item/bottle_empty_cap", + "layer0": "lemonmates:item/bottle_empty_cap_for_label", "layer1": "lemonmates:item/bottle_fluid/raspberry", "layer2": "lemonmates:item/label/bottle_empty", "layer3": "lemonmates:item/label/company", diff --git a/src/generated/resources/assets/lemonmates/models/item/raspberry_lemonade_bottle_drinking.json b/src/generated/resources/assets/lemonmates/models/item/raspberry_lemonade_bottle_drinking.json index ce2ffec..439114f 100644 --- a/src/generated/resources/assets/lemonmates/models/item/raspberry_lemonade_bottle_drinking.json +++ b/src/generated/resources/assets/lemonmates/models/item/raspberry_lemonade_bottle_drinking.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "lemonmates:item/bottle_empty", + "layer0": "lemonmates:item/bottle_empty_for_label", "layer1": "lemonmates:item/bottle_fluid/raspberry", "layer2": "lemonmates:item/label/bottle_empty", "layer3": "lemonmates:item/label/company", diff --git a/src/generated/resources/assets/lemonmates/models/item/summermix_lemonade_bottle.json b/src/generated/resources/assets/lemonmates/models/item/summermix_lemonade_bottle.json index 13988c1..68be49d 100644 --- a/src/generated/resources/assets/lemonmates/models/item/summermix_lemonade_bottle.json +++ b/src/generated/resources/assets/lemonmates/models/item/summermix_lemonade_bottle.json @@ -9,7 +9,7 @@ } ], "textures": { - "layer0": "lemonmates:item/bottle_empty_cap", + "layer0": "lemonmates:item/bottle_empty_cap_for_label", "layer1": "lemonmates:item/bottle_fluid/summermix", "layer2": "lemonmates:item/label/bottle_empty", "layer3": "lemonmates:item/label/company", diff --git a/src/generated/resources/assets/lemonmates/models/item/summermix_lemonade_bottle_drinking.json b/src/generated/resources/assets/lemonmates/models/item/summermix_lemonade_bottle_drinking.json index 1cc4227..488a96c 100644 --- a/src/generated/resources/assets/lemonmates/models/item/summermix_lemonade_bottle_drinking.json +++ b/src/generated/resources/assets/lemonmates/models/item/summermix_lemonade_bottle_drinking.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "lemonmates:item/bottle_empty", + "layer0": "lemonmates:item/bottle_empty_for_label", "layer1": "lemonmates:item/bottle_fluid/summermix", "layer2": "lemonmates:item/label/bottle_empty", "layer3": "lemonmates:item/label/company", diff --git a/src/generated/resources/assets/lemonmates/models/item/watermelon_lemonade_bottle.json b/src/generated/resources/assets/lemonmates/models/item/watermelon_lemonade_bottle.json index 0249909..f118849 100644 --- a/src/generated/resources/assets/lemonmates/models/item/watermelon_lemonade_bottle.json +++ b/src/generated/resources/assets/lemonmates/models/item/watermelon_lemonade_bottle.json @@ -9,7 +9,7 @@ } ], "textures": { - "layer0": "lemonmates:item/bottle_empty_cap", + "layer0": "lemonmates:item/bottle_empty_cap_for_label", "layer1": "lemonmates:item/bottle_fluid/watermelon", "layer2": "lemonmates:item/label/bottle_empty", "layer3": "lemonmates:item/label/company", diff --git a/src/generated/resources/assets/lemonmates/models/item/watermelon_lemonade_bottle_drinking.json b/src/generated/resources/assets/lemonmates/models/item/watermelon_lemonade_bottle_drinking.json index d40b8ef..cc08214 100644 --- a/src/generated/resources/assets/lemonmates/models/item/watermelon_lemonade_bottle_drinking.json +++ b/src/generated/resources/assets/lemonmates/models/item/watermelon_lemonade_bottle_drinking.json @@ -1,7 +1,7 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "lemonmates:item/bottle_empty", + "layer0": "lemonmates:item/bottle_empty_for_label", "layer1": "lemonmates:item/bottle_fluid/watermelon", "layer2": "lemonmates:item/label/bottle_empty", "layer3": "lemonmates:item/label/company", diff --git a/src/generated/resources/data/create/tags/item/upright_on_belt.json b/src/generated/resources/data/create/tags/item/upright_on_belt.json index 6e193ff..17ce063 100644 --- a/src/generated/resources/data/create/tags/item/upright_on_belt.json +++ b/src/generated/resources/data/create/tags/item/upright_on_belt.json @@ -11,7 +11,6 @@ "lemonmates:incomplete_raspberry_lemonade", "lemonmates:incomplete_summermix_lemonade", "lemonmates:incomplete_watermelon_lemonade", - "lemonmates:straw_basic", "lemonmates:straw_rainbow", "lemonmates:straw_trans", @@ -25,7 +24,6 @@ "lemonmates:straw_agender", "lemonmates:straw_bi", "lemonmates:straw_pan", - "lemonmates:drink_umbrella_1", "lemonmates:drink_umbrella_2", "lemonmates:drink_umbrella_3", From 0d6a3917bffd53e4f724477fe17909df0bf691d2 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 24 May 2026 06:22:43 +0200 Subject: [PATCH 42/76] update/add names for some tags --- src/main/resources/assets/lemonmates/lang/en_us.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index 1075b1a..55fa953 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -136,7 +136,8 @@ "tag.block.lemonmates.orange_logs": "Orange Logs", "tag.item.lemonmates.citron_logs": "Citron Logs", "tag.item.lemonmates.orange_logs": "Orange Logs", - "tag.item.lemonmates.drinking_straws": "Drinking Straws", + "tag.item.lemonmates.drinking_straws": "Drinking Glass Straws", + "tag.item.lemonmates.drinking_umbrellas": "Drinking Glass Umbrella", "tag.item.lemonmates.bottles": "Bottles", "tag.item.lemonmates.lemonade_fruits": "Lemonade Fruits", "tag.item.lemonmates.lemonade_label_dyes": "Lemonade Label Dyes", From c5db493be810267ed2403844f5ff179056a5cae3 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 24 May 2026 06:29:54 +0200 Subject: [PATCH 43/76] name space --- src/main/resources/assets/lemonmates/lang/en_us.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index 55fa953..5704a1d 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -136,6 +136,7 @@ "tag.block.lemonmates.orange_logs": "Orange Logs", "tag.item.lemonmates.citron_logs": "Citron Logs", "tag.item.lemonmates.orange_logs": "Orange Logs", + "tag.item.lemonmates.drinking_straws": "Drinking Glass Straws", "tag.item.lemonmates.drinking_umbrellas": "Drinking Glass Umbrella", "tag.item.lemonmates.bottles": "Bottles", From 3cc3e37c6131ac7ae9eb23eddc05e5534969732e Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 24 May 2026 16:18:44 +0200 Subject: [PATCH 44/76] german/omnisexual flag straws, bring german translation to match english again, recycling for straws by washing --- .../lemonmates/AllCreativeModeTabs.java | 5 +- .../net/doppelr/lemonmates/item/ModItems.java | 6 +- .../assets/lemonmates/lang/de_de.json | 6 +- .../assets/lemonmates/lang/en_us.json | 8 +- .../lemonmates/models/block/straw_german.json | 56 +++++++++++++ .../models/block/straw_omnisexual.json | 82 +++++++++++++++++++ .../lemonmates/models/item/straw_german.json | 3 + .../models/item/straw_omnisexual.json | 3 + .../recipe/splashing/recycle_straw.json | 14 ++++ .../straw_german_from_straws.json | 9 ++ .../straw_omnisexual_from_straws.json | 9 ++ .../lemonmates/tags/item/drinking_straws.json | 4 +- 12 files changed, 196 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_german.json create mode 100644 src/main/resources/assets/lemonmates/models/block/straw_omnisexual.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_german.json create mode 100644 src/main/resources/assets/lemonmates/models/item/straw_omnisexual.json create mode 100644 src/main/resources/data/lemonmates/recipe/splashing/recycle_straw.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_german_from_straws.json create mode 100644 src/main/resources/data/lemonmates/recipe/stonecutting/straw_omnisexual_from_straws.json diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index 1352d74..dc5cbd2 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -34,9 +34,6 @@ public class AllCreativeModeTabs { output.accept(ModBlocks.ORANGE_CRATE); output.accept(ModBlocks.RASPBERRY_CRATE); - // Misc - output.accept(ModBlocks.LEMONADE_GLASS); - // Finished Lemonades output.accept(ModItems.CITRON_LEMONADE_BOTTLE); output.accept(ModItems.ORANGE_LEMONADE_BOTTLE); @@ -183,6 +180,8 @@ public class AllCreativeModeTabs { output.accept(ModItems.STRAW_AGENDER); output.accept(ModItems.STRAW_BI); output.accept(ModItems.STRAW_PAN); + output.accept(ModItems.STRAW_GERMAN); + output.accept(ModItems.STRAW_OMNISEXUAL); // Umbrellas output.accept(ModItems.DRINK_UMBRELLA_1); diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index 7ec5173..9c5c03c 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -145,7 +145,7 @@ public class ModItems { () -> new ModBoatItem(true, ModBoatEntity.Type.ORANGE, new Item.Properties().stacksTo(1))); // Straws - // 2 = rainbow, 3 = trans, 4 = nonbinary, 5 = lesbian, 6 = gay, 7 = genderfluid, 8 = ace, 9 = aro, 10 = agender, 11 = aroace, 12 = bisexual, 13 = pansexual + // 2 = rainbow, 3 = trans, 4 = nonbinary, 5 = lesbian, 6 = gay, 7 = genderfluid, 8 = ace, 9 = aro, 10 = agender, 11 = aroace, 12 = bisexual, 13 = pansexual, 14 = Germany public static final DeferredItem STRAW_BASIC = ITEMS.register("straw_basic", () -> new Item(new Item.Properties())); public static final DeferredItem STRAW_RAINBOW = ITEMS.register("straw_rainbow", @@ -172,6 +172,10 @@ public class ModItems { () -> new Item(new Item.Properties())); public static final DeferredItem STRAW_PAN = ITEMS.register("straw_pan", () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_GERMAN = ITEMS.register("straw_german", + () -> new Item(new Item.Properties())); + public static final DeferredItem STRAW_OMNISEXUAL = ITEMS.register("straw_omnisexual", + () -> new Item(new Item.Properties())); // Umbrellas // Red-White diff --git a/src/main/resources/assets/lemonmates/lang/de_de.json b/src/main/resources/assets/lemonmates/lang/de_de.json index be26c91..9338ee4 100644 --- a/src/main/resources/assets/lemonmates/lang/de_de.json +++ b/src/main/resources/assets/lemonmates/lang/de_de.json @@ -126,6 +126,8 @@ "item.lemonmates.straw_agender": "Strohhalm mit Agender Pride Flag", "item.lemonmates.straw_bi": "Strohhalm mit Bisexuellen Pride Flag", "item.lemonmates.straw_pan": "Strohhalm mit Pansexuellen Pride Flag", + "item.lemonmates.straw_german": "Strohhalm mit deutscher Flagge", + "item.lemonmates.straw_omnisexual": "Strohhalm mit Omnisexullen Pride Flag", "item.lemonmates.drink_umbrella_1": "Drinkglas Schirmchen (Rot-Weiß)", "item.lemonmates.drink_umbrella_2": "Drinkglas Schirmchen (Gelb-Weiß)", @@ -136,7 +138,9 @@ "tag.block.lemonmates.orange_logs": "Orangenstämme", "tag.item.lemonmates.citron_logs": "Zitronenstämme", "tag.item.lemonmates.orange_logs": "Orangenstämme", - "tag.item.lemonmates.drinking_straws": "Strohhälme", + + "tag.item.lemonmates.drinking_straws": "Drinkglas Strohhälme", + "tag.item.lemonmates.drinking_umbrellas": "Drinkglas Schirmchen", "tag.item.lemonmates.bottles": "Flaschen", "tag.item.lemonmates.lemonade_fruits": "Limonadenfrüchte", "tag.item.lemonmates.lemonade_label_dyes": "Limonadenetikettfarben", diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index 5704a1d..4c53dfc 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -120,12 +120,14 @@ "item.lemonmates.straw_lesbian": "Straw (Lesbian Pride Flag)", "item.lemonmates.straw_gay": "Straw (Gay Pride Flag)", "item.lemonmates.straw_genderfluid": "Straw (Genderfluid Pride Flag)", - "item.lemonmates.straw_ace": "Straw (Asexual Pride Flag)", + "item.lemonmates.straw_ace": "Straw (Asexuality Pride Flag)", "item.lemonmates.straw_aro": "Straw (Aromantic Pride Flag)", "item.lemonmates.straw_aroace": "Straw (AroAce Pride Flag)", "item.lemonmates.straw_agender": "Straw (Agender Pride Flag)", - "item.lemonmates.straw_bi": "Straw (Bisexual Pride Flag)", - "item.lemonmates.straw_pan": "Straw (Pansexual Pride Flag)", + "item.lemonmates.straw_bi": "Straw (Bisexuality Pride Flag)", + "item.lemonmates.straw_pan": "Straw (Pansexuality Pride Flag)", + "item.lemonmates.straw_german": "Straw (German Flag)", + "item.lemonmates.straw_omnisexual": "Straw (Omnisexuality Pride Flag)", "item.lemonmates.drink_umbrella_1": "Drinking Glass Umbrella (Red-White)", "item.lemonmates.drink_umbrella_2": "Drinking Glass Umbrella (Yellow-White)", diff --git a/src/main/resources/assets/lemonmates/models/block/straw_german.json b/src/main/resources/assets/lemonmates/models/block/straw_german.json new file mode 100644 index 0000000..394c5c9 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_german.json @@ -0,0 +1,56 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s32": "lemonmates:block/flag_color/black", + "s31": "lemonmates:block/flag_color/red", + "s30": "lemonmates:block/flag_color/yellow", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "east": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "south": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "west": {"uv": [0, 6, 1, 9], "texture": "#s30"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s30"} + } + }, + { + "name": "middle", + "from": [8, 4, 9], + "to": [9, 7, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 3, 1, 6], "texture": "#s31"}, + "east": {"uv": [0, 3, 1, 6], "texture": "#s31"}, + "south": {"uv": [0, 3, 1, 6], "texture": "#s31"}, + "west": {"uv": [0, 3, 1, 6], "texture": "#s31"} + } + }, + { + "name": "top", + "from": [8, 7, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "east": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "south": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "west": {"uv": [0, 0, 1, 3], "texture": "#s32"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s32"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/straw_omnisexual.json b/src/main/resources/assets/lemonmates/models/block/straw_omnisexual.json new file mode 100644 index 0000000..b7f81a6 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/straw_omnisexual.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "s54": "lemonmates:block/flag_color/pink", + "s53": "lemonmates:block/flag_color/pink_4", + "s52": "lemonmates:block/flag_color/purple_5", + "s51": "lemonmates:block/flag_color/purple_6", + "s50": "lemonmates:block/flag_color/blue_6", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_german.json b/src/main/resources/assets/lemonmates/models/item/straw_german.json new file mode 100644 index 0000000..bbc26a7 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_german.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_german" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/straw_omnisexual.json b/src/main/resources/assets/lemonmates/models/item/straw_omnisexual.json new file mode 100644 index 0000000..809cd7f --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/straw_omnisexual.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/straw_omnisexual" +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/splashing/recycle_straw.json b/src/main/resources/data/lemonmates/recipe/splashing/recycle_straw.json new file mode 100644 index 0000000..7a53385 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/splashing/recycle_straw.json @@ -0,0 +1,14 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "tag": "lemonmates:drinking_straws" + } + ], + "results": [ + { + "chance": 0.075, + "id": "create:pulp" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_german_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_german_from_straws.json new file mode 100644 index 0000000..afcbb9b --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_german_from_straws.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "lemonmates:drinking_straws" + }, + "result": { + "id": "lemonmates:straw_german" + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/stonecutting/straw_omnisexual_from_straws.json b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_omnisexual_from_straws.json new file mode 100644 index 0000000..8db25d2 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/stonecutting/straw_omnisexual_from_straws.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "lemonmates:drinking_straws" + }, + "result": { + "id": "lemonmates:straw_omnisexual" + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/tags/item/drinking_straws.json b/src/main/resources/data/lemonmates/tags/item/drinking_straws.json index 21de0d1..3947aff 100644 --- a/src/main/resources/data/lemonmates/tags/item/drinking_straws.json +++ b/src/main/resources/data/lemonmates/tags/item/drinking_straws.json @@ -12,6 +12,8 @@ "lemonmates:straw_aroace", "lemonmates:straw_agender", "lemonmates:straw_bi", - "lemonmates:straw_pan" + "lemonmates:straw_pan", + "lemonmates:straw_german", + "lemonmates:straw_omnisexual" ] } \ No newline at end of file From 94261866ad25e1d9962fb0a7f41ac52bd6bc4927 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 26 May 2026 11:28:26 +0200 Subject: [PATCH 45/76] remove unnecessary splashes; remaining are references to the core team and contributors as well as some general ones --- .../assets/lemonmates/texts/splashes.txt | 72 +------------------ 1 file changed, 3 insertions(+), 69 deletions(-) diff --git a/src/main/resources/assets/lemonmates/texts/splashes.txt b/src/main/resources/assets/lemonmates/texts/splashes.txt index 8c47632..a2f777a 100644 --- a/src/main/resources/assets/lemonmates/texts/splashes.txt +++ b/src/main/resources/assets/lemonmates/texts/splashes.txt @@ -1,82 +1,16 @@ -Music by Aaron Cherof! -Music by Kumi Tanioka! -Music by Amos Roddy! -Flint and Steel! -Chicken Jockey! -Glowing creepy eyes! -100% more yellow text! -Astronomically accurate! -!!!1! -Cubism! -Mostly harmless! -Dramatic lighting! -Not even multithreaded! -Hmmmrmm. -Episode 3! -Made by Mojang! -Multiplayer! -Ported implementation! -The Work of Many! -110813! -Endless! -& Knuckles! -Pandamonium! -code.org/minecraft discord.gg/y987M2n4bk -Machine learning! -Release the Snord! -Team Mystic! -Living, breathing world! -Innovating innovation! -Change my mind. -High-key! -Funding secured! -YANNY OR LAUREL??? -So. You read splash text. -Alexander Hamilton! -#Blessed! -Have you finished your homework? -We're working on it! -Like that smash button! -Minecraft 2 unconfirmed! -A circle-free environment! -Llama, llama, duck! -When it's ready! -Make a viral video!!1 -Artisinal! -The Floor is Lava! -Savage Dad jokes! Protec but also attac -Potatoes gonna potate! -Bananas! -zhoolor -Oh geez! -Crush it! -Keep your head down, there's two of us in here now. Remember? -Sodium free! -What DOES the fox say? -#gartzkebrokeit -All blocks covered! -Music by Hyper Potions! -An enderman stole my homework! -Diamonds! Nope, Lapis. Meow~ -The Alpha Ship is here -4 Matrix' per Diorite The recipe is §kWater, Juice, Sugar and heat§r! Not binary at all! No nuggets for dragons! -There's a man on my boat! No pizza for Kal! -+200% trust issues! -Boat on the track, island in the sky! Support your local queer people!! Too gud to be true! -Child-friendly guns! -Allomost wimsily dyslexic! Plasmatic trains! Profesh cats included! What is love, and why is it a social construct? Godly Permissions -The original purple -Smored pickles \ No newline at end of file +No smored pickles +Garnichet so bad +Modelling the barn \ No newline at end of file From d4501b0417f307c64aaa5a8d70982664fc2cb61b Mon Sep 17 00:00:00 2001 From: Dakota Date: Thu, 28 May 2026 15:01:36 -0500 Subject: [PATCH 46/76] Dev Commit --- .../lemonmates/AllBlockStateProperties.java | 21 + .../lemonmates/AllCreativeModeTabs.java | 4 + .../doppelr/lemonmates/AllDataComponents.java | 42 + .../net/doppelr/lemonmates/LemonMates.java | 11 +- .../doppelr/lemonmates/block/ModBlocks.java | 8 + .../block/ModDrinkingGlassBlock.java | 270 +++- .../doppelr/lemonmates/block/ModJugBlock.java | 72 ++ .../ApplicableFluidsToFluidContainer.java | 39 + .../block/properties/FruitSlices.java | 18 + .../block/properties/StrawsVariants.java | 31 + .../block/properties/UmbrellaVariants.java | 20 + .../datagen/ModBlockLootTableProvider.java | 2 +- .../net/doppelr/lemonmates/item/ModItems.java | 6 +- .../doppelr/lemonmates/item/ModJugItem.java | 125 ++ .../blockstates/lemonade_glass.json | 1129 ++++++++++++++++- .../blockstates/terracotta_lemonade_jug.json | 81 ++ .../models/block/ice_cube_full.json | 57 + .../models/block/ice_cube_half.json | 85 ++ .../lemonade_glass_fluid_full_yellow.json | 29 + .../lemonade_glass_fluid_half_yellow.json | 29 + .../models/block/lemonade_jug_fluid_1.json | 5 +- .../models/block/lemonade_jug_fluid_2.json | 5 +- .../models/block/lemonade_jug_fluid_3.json | 5 +- .../models/block/lemonade_jug_fluid_4.json | 5 +- .../models/block/lemonade_jug_fluid_5.json | 5 +- .../models/block/lemonade_jug_fluid_6.json | 5 +- .../models/block/lemonade_jug_fluid_7.json | 5 +- .../models/block/lemonade_jug_fluid_8.json | 5 +- .../models/block/lemonade_jug_terracotta.json | 5 +- .../models/item/terracotta_lemonade_jug.json | 3 + .../item/lemonade_jug_hardened_clay.png | Bin 0 -> 447 bytes 31 files changed, 2083 insertions(+), 44 deletions(-) create mode 100644 src/main/java/net/doppelr/lemonmates/AllBlockStateProperties.java create mode 100644 src/main/java/net/doppelr/lemonmates/AllDataComponents.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/properties/FruitSlices.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java create mode 100644 src/main/java/net/doppelr/lemonmates/item/ModJugItem.java create mode 100644 src/main/resources/assets/lemonmates/blockstates/terracotta_lemonade_jug.json create mode 100644 src/main/resources/assets/lemonmates/models/block/ice_cube_full.json create mode 100644 src/main/resources/assets/lemonmates/models/block/ice_cube_half.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_yellow.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_yellow.json create mode 100644 src/main/resources/assets/lemonmates/models/item/terracotta_lemonade_jug.json create mode 100644 src/main/resources/assets/lemonmates/textures/item/lemonade_jug_hardened_clay.png diff --git a/src/main/java/net/doppelr/lemonmates/AllBlockStateProperties.java b/src/main/java/net/doppelr/lemonmates/AllBlockStateProperties.java new file mode 100644 index 0000000..6e4b1e9 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/AllBlockStateProperties.java @@ -0,0 +1,21 @@ +package net.doppelr.lemonmates; + +import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; +import net.doppelr.lemonmates.block.properties.FruitSlices; +import net.doppelr.lemonmates.block.properties.StrawsVariants; +import net.doppelr.lemonmates.block.properties.UmbrellaVariants; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.block.state.properties.IntegerProperty; + +public class AllBlockStateProperties { + public static final IntegerProperty DRINK_LEVEL = IntegerProperty.create("drink_level", 0, 2); + public static final EnumProperty STRAWS = EnumProperty.create("straw", StrawsVariants.class); + public static final BooleanProperty ICE_CUBES = BooleanProperty.create("has_ice"); + public static final EnumProperty FRUIT_SLICES = EnumProperty.create("fruit_slice", FruitSlices.class); + public static final EnumProperty UMBRELLAS = EnumProperty.create("umbrella", UmbrellaVariants.class); + public static final EnumProperty APPLICABLE_FLUID_TO_CONTAINER = EnumProperty.create("fluid", ApplicableFluidsToFluidContainer.class); + + public static final IntegerProperty JUG_LEVEL = IntegerProperty.create("jug_level", 0, 8); + public static final BooleanProperty CAN_POUR = BooleanProperty.create("can_pour"); +} diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index dc5cbd2..96dc2d9 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -34,6 +34,10 @@ public class AllCreativeModeTabs { output.accept(ModBlocks.ORANGE_CRATE); output.accept(ModBlocks.RASPBERRY_CRATE); + // Misc + output.accept(ModBlocks.LEMONADE_GLASS); + output.accept(ModBlocks.TERRACOTTA_LEMONADE_JUG); + // Finished Lemonades output.accept(ModItems.CITRON_LEMONADE_BOTTLE); output.accept(ModItems.ORANGE_LEMONADE_BOTTLE); diff --git a/src/main/java/net/doppelr/lemonmates/AllDataComponents.java b/src/main/java/net/doppelr/lemonmates/AllDataComponents.java new file mode 100644 index 0000000..0fa512f --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/AllDataComponents.java @@ -0,0 +1,42 @@ +package net.doppelr.lemonmates; + +import com.mojang.serialization.Codec; +import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; +import net.minecraft.core.component.DataComponentType; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.util.ExtraCodecs; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredRegister; + +import java.util.function.UnaryOperator; + +public class AllDataComponents { + private static final DeferredRegister.DataComponents DATA_COMPONENTS = DeferredRegister.createDataComponents(Registries.DATA_COMPONENT_TYPE, LemonMates.MOD_ID); + + public static final DataComponentType JUG_LEVEL = register( + "jug_level", + builder -> builder.persistent(ExtraCodecs.NON_NEGATIVE_INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + + public static final DataComponentType APPLICABLE_FLUID_TO_CONTAINER = register( + "fluid", + builder -> builder.persistent(ApplicableFluidsToFluidContainer.CODEC).networkSynchronized(ApplicableFluidsToFluidContainer.STREAM_CODEC) + ); + + public static final DataComponentType CAN_POUR = register( + "can_pour", + builder -> builder.persistent(Codec.BOOL).networkSynchronized(ByteBufCodecs.BOOL) + ); + + private static DataComponentType register(String name, UnaryOperator> builder) { + DataComponentType type = builder.apply(DataComponentType.builder()).build(); + DATA_COMPONENTS.register(name, () -> type); + return type; + } + + public static void register(IEventBus modEventBus) { + DATA_COMPONENTS.register(modEventBus); + } + +} diff --git a/src/main/java/net/doppelr/lemonmates/LemonMates.java b/src/main/java/net/doppelr/lemonmates/LemonMates.java index 1086ea1..88ed001 100644 --- a/src/main/java/net/doppelr/lemonmates/LemonMates.java +++ b/src/main/java/net/doppelr/lemonmates/LemonMates.java @@ -1,19 +1,17 @@ package net.doppelr.lemonmates; +import com.mojang.logging.LogUtils; import net.doppelr.lemonmates.block.ModBlocks; import net.doppelr.lemonmates.block.entity.ModBlockEntities; import net.doppelr.lemonmates.datagen.DataGenerators; -import net.doppelr.lemonmates.fluid.ModFluids; import net.doppelr.lemonmates.entity.ModEntities; +import net.doppelr.lemonmates.fluid.ModFluids; import net.doppelr.lemonmates.item.ModItems; import net.minecraft.resources.ResourceLocation; -import org.slf4j.Logger; - -import com.mojang.logging.LogUtils; - import net.neoforged.bus.api.IEventBus; -import net.neoforged.fml.common.Mod; import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import org.slf4j.Logger; @Mod(LemonMates.MOD_ID) public class LemonMates { @@ -22,6 +20,7 @@ public class LemonMates { public LemonMates(IEventBus modEventBus, ModContainer modContainer) { AllCreativeModeTabs.register(modEventBus); + AllDataComponents.register(modEventBus); ModItems.register(modEventBus); ModBlocks.register(modEventBus); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index 2bc44df..9b4add5 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -114,6 +114,14 @@ public class ModBlocks { .sound(SoundType.GLASS) )); + public static final DeferredBlock TERRACOTTA_LEMONADE_JUG = registerBlockWithoutBlockItem("terracotta_lemonade_jug", + () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TERRACOTTA).noOcclusion())); + + private static DeferredBlock registerBlockWithoutBlockItem(String name, Supplier block) { + DeferredBlock toReturn = BLOCKS.register(name, block); + return toReturn; + } + private static DeferredBlock registerBlock(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); registerBlockItem(name, toReturn); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index fc426db..436b6aa 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -1,23 +1,287 @@ package net.doppelr.lemonmates.block; import com.mojang.serialization.MapCodec; +import net.doppelr.lemonmates.AllBlockStateProperties; +import net.doppelr.lemonmates.AllDataComponents; +import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; +import net.doppelr.lemonmates.block.properties.FruitSlices; +import net.doppelr.lemonmates.block.properties.StrawsVariants; +import net.doppelr.lemonmates.block.properties.UmbrellaVariants; +import net.doppelr.lemonmates.item.ModItems; +import net.doppelr.lemonmates.item.ModJugItem; +import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; +import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.component.BlockItemStateProperties; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.HorizontalDirectionalBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import org.jetbrains.annotations.Nullable; +import java.util.List; + public class ModDrinkingGlassBlock extends HorizontalDirectionalBlock { - public static final MapCodec CODED = simpleCodec(ModDrinkingGlassBlock::new); + public static final MapCodec CODEC = simpleCodec(ModDrinkingGlassBlock::new); private static final VoxelShape SHAPE = Block.box(5.0, 0, 5, 11, 7, 11); + public static final IntegerProperty DRINK_LEVEL = AllBlockStateProperties.DRINK_LEVEL; + public static final EnumProperty FLUID = AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER; + public static final EnumProperty STRAW = AllBlockStateProperties.STRAWS; + public static final EnumProperty FRUIT_SLICE = AllBlockStateProperties.FRUIT_SLICES; + public static final EnumProperty UMBRELLA = AllBlockStateProperties.UMBRELLAS; + public static final BooleanProperty ICE_CUBES = AllBlockStateProperties.ICE_CUBES; + protected ModDrinkingGlassBlock(Properties properties) { super(properties); + this.registerDefaultState(this.defaultBlockState() + .setValue(FACING, Direction.SOUTH) + .setValue(DRINK_LEVEL, 0) + .setValue(FLUID, ApplicableFluidsToFluidContainer.NONE) + .setValue(STRAW, StrawsVariants.NONE) + .setValue(FRUIT_SLICE, FruitSlices.NONE) + .setValue(UMBRELLA, UmbrellaVariants.NONE) + .setValue(ICE_CUBES, false)); + } + + public void customConsumptionBehaviours(BlockState state, Player player) {} + + @Override + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hitResult) { + if (player.getMainHandItem().isEmpty() && state.getValue(DRINK_LEVEL) > 0 && state.getValue(FLUID) != ApplicableFluidsToFluidContainer.NONE) { + level.setBlockAndUpdate(pos, state.setValue(DRINK_LEVEL, state.getValue(DRINK_LEVEL) - 1)); + level.playSound(player, pos, SoundEvents.GENERIC_DRINK, SoundSource.BLOCKS, 1.0F, 1.0F); + this.customConsumptionBehaviours(state, player); + player.getFoodData().eat(state.getValue(FLUID).getProperties()); + return InteractionResult.sidedSuccess(level.isClientSide); + } + + if (state.getValue(ICE_CUBES) && state.getValue(DRINK_LEVEL) == 1) + level.setBlockAndUpdate(pos, state.setValue(ICE_CUBES, false)); + + return super.useWithoutItem(state, level, pos, player, hitResult); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if (stack.getItem() instanceof ModJugItem jugItem && Boolean.TRUE.equals(stack.get(AllDataComponents.CAN_POUR))) { + if (state.getValue(DRINK_LEVEL) != 2) { + if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null || stack.get(AllDataComponents.JUG_LEVEL) != 0) { + int newDrinkLevel = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? 2 - state.getValue(DRINK_LEVEL) : 0; + if (stack.get(AllDataComponents.JUG_LEVEL) == 1 || state.getValue(DRINK_LEVEL) == 1) + newDrinkLevel = 1; + int blockDrinkLevel = state.getValue(DRINK_LEVEL) == 1 ? 2 : newDrinkLevel; + ApplicableFluidsToFluidContainer pouredFluid = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : state.getValue(FLUID); + level.setBlockAndUpdate(pos, state.setValue(FLUID, pouredFluid) + .setValue(DRINK_LEVEL, blockDrinkLevel)); + jugItem.removeFromJugLevel(stack, newDrinkLevel); + } + } else { + return ItemInteractionResult.FAIL; + } + } + + if (stack.is(ModItems.STRAW_BASIC)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.BASIC)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_RAINBOW)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.RAINBOW)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_TRANS)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.TRANS)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_NONBINARY)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.NONBINARY)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_LESBIAN)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.LESBIAN)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_GAY)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.GAY)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_GENDERFLUID)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.GENDERFLUID)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_ACE)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.ACE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_ARO)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.ARO)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_AROACE)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.AROACE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_AGENDER)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.AGENDER)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_BI)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.BI)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_PAN)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.PAN)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_GERMAN)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.GERMAN)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_OMNISEXUAL)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.OMNISEXUAL)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + // Each straw follows this same logic, duplicate as necessary + + if (stack.is(ModItems.CITRON_SLICE)) { + level.setBlockAndUpdate(pos, state.setValue(FRUIT_SLICE, FruitSlices.CITRON)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + if (stack.is(ModItems.ORANGE_SLICE)) { + level.setBlockAndUpdate(pos, state.setValue(FRUIT_SLICE, FruitSlices.ORANGE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + // Each slice follows this same logic, duplicate as necessary + + if (stack.is(ModItems.DRINK_UMBRELLA_1)) { + level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.RED_WHITE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + if (stack.is(ModItems.DRINK_UMBRELLA_2)) { + level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.YELLOW_WHITE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + if (stack.is(ModItems.DRINK_UMBRELLA_3)) { + level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.BLACK_PURPLE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + if (stack.is(ModItems.DRINK_UMBRELLA_4)) { + level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.ORANGE_WHITE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + // Each umbrella follows this same logic, duplicate as necessary + + if (stack.is(ModItems.ICE_CUBES)) { + level.setBlockAndUpdate(pos, state.setValue(ICE_CUBES, true)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + return super.useItemOn(stack, state, level, pos, player, hand, hitResult); + } + + @Override + public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, Player player) { + if (!level.isClientSide) { + ItemStack itemStack = new ItemStack(this); + int drinkLevel = state.getValue(DRINK_LEVEL); + StrawsVariants straw = state.getValue(STRAW); + ApplicableFluidsToFluidContainer fluid = state.getValue(FLUID); + FruitSlices fruitSlice = state.getValue(FRUIT_SLICE); + UmbrellaVariants umbrella = state.getValue(UMBRELLA); + boolean iceCubes = state.getValue(ICE_CUBES); + + if (drinkLevel < 2 || straw != StrawsVariants.NONE || fluid != ApplicableFluidsToFluidContainer.NONE || fruitSlice != FruitSlices.NONE || umbrella != UmbrellaVariants.NONE || iceCubes) { + itemStack.set(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY + .with(AllBlockStateProperties.DRINK_LEVEL, drinkLevel) + .with(AllBlockStateProperties.STRAWS, straw) + .with(AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER, fluid) + .with(AllBlockStateProperties.FRUIT_SLICES, fruitSlice) + .with(AllBlockStateProperties.UMBRELLAS, umbrella) + .with(AllBlockStateProperties.ICE_CUBES, iceCubes)); + } + + ItemEntity itemEntity = new ItemEntity(level, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, itemStack); + itemEntity.setDefaultPickUpDelay(); + level.addFreshEntity(itemEntity); + } + return super.playerWillDestroy(level, pos, state, player); + } + + @Override + public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); + + if (stack.has(DataComponents.BLOCK_STATE)) + tooltipComponents.add(Component.literal("Has Decorations Applied").withStyle(ChatFormatting.ITALIC, ChatFormatting.GRAY)); } @Override @@ -27,7 +291,7 @@ protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, @Override protected MapCodec codec() { - return CODED; + return CODEC; } @Nullable @@ -38,6 +302,6 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { @Override protected void createBlockStateDefinition(StateDefinition.Builder builder) { - builder.add(FACING); + builder.add(FACING, STRAW, FRUIT_SLICE, UMBRELLA, DRINK_LEVEL, ICE_CUBES, FLUID); } } diff --git a/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java new file mode 100644 index 0000000..913d468 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java @@ -0,0 +1,72 @@ +package net.doppelr.lemonmates.block; + +import net.doppelr.lemonmates.AllBlockStateProperties; +import net.doppelr.lemonmates.AllDataComponents; +import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; +import net.minecraft.core.BlockPos; +import net.minecraft.core.component.DataComponentMap; +import net.minecraft.core.component.DataComponents; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.BlockItemStateProperties; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class ModJugBlock extends Block { + private static final VoxelShape SHAPE = Block.box(5, 0, 5, 11, 10, 11); + + public static final IntegerProperty JUG_LEVEL = AllBlockStateProperties.JUG_LEVEL; + public static final EnumProperty FLUID = AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER; + public static final BooleanProperty CAN_POUR = AllBlockStateProperties.CAN_POUR; + public ModJugBlock(Properties properties) { + super(properties); + this.registerDefaultState(this.defaultBlockState().setValue(JUG_LEVEL, 0).setValue(FLUID, ApplicableFluidsToFluidContainer.NONE).setValue(CAN_POUR, false)); + } + + @Override + public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, Player player) { + if (!level.isClientSide) { + ItemStack itemStack = new ItemStack(this); + int jugLevel = state.getValue(JUG_LEVEL); + ApplicableFluidsToFluidContainer fluid = state.getValue(FLUID); + boolean canPour = state.getValue(CAN_POUR); + + if (jugLevel > 0 || fluid != ApplicableFluidsToFluidContainer.NONE || canPour) { + DataComponentMap.Builder map = DataComponentMap.builder(); + map.set(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY + .with(AllBlockStateProperties.JUG_LEVEL, jugLevel) + .with(AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER, fluid) + .with(AllBlockStateProperties.CAN_POUR, canPour)) + .set(AllDataComponents.JUG_LEVEL, jugLevel) + .set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, fluid) + .set(AllDataComponents.CAN_POUR, canPour); + + itemStack.applyComponents(map.build()); + } + + ItemEntity itemEntity = new ItemEntity(level, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, itemStack); + itemEntity.setDefaultPickUpDelay(); + level.addFreshEntity(itemEntity); + } + return super.playerWillDestroy(level, pos, state, player); + } + + @Override + protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + return SHAPE; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(JUG_LEVEL, FLUID, CAN_POUR); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java new file mode 100644 index 0000000..95c3f36 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java @@ -0,0 +1,39 @@ +package net.doppelr.lemonmates.block.properties; + +import com.mojang.serialization.Codec; +import io.netty.buffer.ByteBuf; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecBuilders; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.util.StringRepresentable; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.food.FoodProperties; + +import java.util.Locale; + +public enum ApplicableFluidsToFluidContainer implements StringRepresentable { + NONE, + LEMONADE(new FoodProperties.Builder().effect(() -> new MobEffectInstance(MobEffects.REGENERATION, 200, 2), 1.0F).build()), + CITRON_LEMONADE(new FoodProperties.Builder().effect(() -> new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 200, 2), 1.0F).build()),; + + final FoodProperties properties; + public static final Codec CODEC = StringRepresentable.fromEnum(ApplicableFluidsToFluidContainer::values); + public static final StreamCodec STREAM_CODEC = CatnipStreamCodecBuilders.ofEnum(ApplicableFluidsToFluidContainer.class); + + ApplicableFluidsToFluidContainer() { + this.properties = new FoodProperties.Builder().build(); + } + + ApplicableFluidsToFluidContainer(FoodProperties properties) { + this.properties = properties; + } + + public FoodProperties getProperties() { + return properties; + } + + @Override + public String getSerializedName() { + return name().toLowerCase(Locale.ROOT); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/FruitSlices.java b/src/main/java/net/doppelr/lemonmates/block/properties/FruitSlices.java new file mode 100644 index 0000000..9aa797e --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/properties/FruitSlices.java @@ -0,0 +1,18 @@ +package net.doppelr.lemonmates.block.properties; + +import net.minecraft.util.StringRepresentable; + +import java.util.Locale; + +public enum FruitSlices implements StringRepresentable { + NONE, + CITRON, + ORANGE,; + + FruitSlices() {} + + @Override + public String getSerializedName() { + return name().toLowerCase(Locale.ROOT); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java b/src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java new file mode 100644 index 0000000..d8547bc --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java @@ -0,0 +1,31 @@ +package net.doppelr.lemonmates.block.properties; + +import net.minecraft.util.StringRepresentable; + +import java.util.Locale; + +public enum StrawsVariants implements StringRepresentable { + NONE, + BASIC, + RAINBOW, + TRANS, + NONBINARY, + LESBIAN, + GAY, + GENDERFLUID, + ACE, + ARO, + AROACE, + AGENDER, + BI, + PAN, + GERMAN, + OMNISEXUAL,; + + StrawsVariants() {} + + @Override + public String getSerializedName() { + return name().toLowerCase(Locale.ROOT); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java b/src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java new file mode 100644 index 0000000..edd2889 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java @@ -0,0 +1,20 @@ +package net.doppelr.lemonmates.block.properties; + +import net.minecraft.util.StringRepresentable; + +import java.util.Locale; + +public enum UmbrellaVariants implements StringRepresentable { + NONE, + RED_WHITE, + YELLOW_WHITE, + BLACK_PURPLE, + ORANGE_WHITE,; + + UmbrellaVariants() {} + + @Override + public String getSerializedName() { + return name().toLowerCase(Locale.ROOT); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java index c861e0c..1ae67da 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java @@ -125,7 +125,7 @@ protected void generate() { dropSelf(ModBlocks.CITRON_CRATE.get()); dropSelf(ModBlocks.RASPBERRY_CRATE.get()); - dropSelf(ModBlocks.LEMONADE_GLASS.get()); + add(ModBlocks.LEMONADE_GLASS.get(), noDrop()); } @Override diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index 9c5c03c..e76765a 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -1,8 +1,8 @@ package net.doppelr.lemonmates.item; import com.simibubi.create.content.processing.sequenced.SequencedAssemblyItem; -import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.AllFoodProperties; +import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.block.ModBlocks; import net.doppelr.lemonmates.entity.ModBoatEntity; import net.minecraft.world.item.HangingSignItem; @@ -191,13 +191,13 @@ public class ModItems { public static final DeferredItem DRINK_UMBRELLA_4 = ITEMS.register("drink_umbrella_4", () -> new Item(new Item.Properties())); + public static final DeferredItem TERRACOTTA_LEMONADE_JUG = ITEMS.register("terracotta_lemonade_jug", + () -> new ModJugItem(ModBlocks.TERRACOTTA_LEMONADE_JUG.get(), new Item.Properties().stacksTo(1))); // Serving related public static final DeferredItem ICE_CUBES = ITEMS.register("ice_cubes", () -> new Item(new Item.Properties())); - - public static void register(IEventBus eventBus) { ITEMS.register(eventBus); } diff --git a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java new file mode 100644 index 0000000..baba71e --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java @@ -0,0 +1,125 @@ +package net.doppelr.lemonmates.item; + +import net.doppelr.lemonmates.AllBlockStateProperties; +import net.doppelr.lemonmates.AllDataComponents; +import net.doppelr.lemonmates.block.ModDrinkingGlassBlock; +import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class ModJugItem extends BlockItem { + public ModJugItem(Block block, Properties properties) { + super(block, properties); + } + + public void setPourAbility(ItemStack stack, boolean pour) { + stack.set(AllDataComponents.CAN_POUR, pour); + } + + public void setContainedFluid(ItemStack stack, ApplicableFluidsToFluidContainer fluid) { + stack.set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, fluid); + } + + public void setJugLevel(ItemStack stack, int jugLevel) { + stack.set(AllDataComponents.JUG_LEVEL, jugLevel); + } + + public void addToJugLevel(ItemStack stack, int increment) { + if (stack.get(AllDataComponents.JUG_LEVEL) != null) + stack.set(AllDataComponents.JUG_LEVEL, stack.get(AllDataComponents.JUG_LEVEL) + increment); + } + + public void removeFromJugLevel(ItemStack stack, int decrement) { + if (stack.get(AllDataComponents.JUG_LEVEL) != null) { + int f = stack.get(AllDataComponents.JUG_LEVEL) - decrement; + if (f >= 0 && f <= 8) + stack.set(AllDataComponents.JUG_LEVEL, stack.get(AllDataComponents.JUG_LEVEL) - decrement); + } + } + + public void jugLevelHandling(ItemStack stack, ApplicableFluidsToFluidContainer fluid) { + if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != fluid) + this.setContainedFluid(stack, fluid); + + if (stack.get(AllDataComponents.JUG_LEVEL) == null || stack.get(AllDataComponents.JUG_LEVEL) == 0) { + this.setJugLevel(stack, 4); + } else if (stack.get(AllDataComponents.JUG_LEVEL) <= 4) { + this.addToJugLevel(stack, 4); + } else if (stack.get(AllDataComponents.JUG_LEVEL) < 8) { + int incrementJugLevel = 4; + if (stack.get(AllDataComponents.JUG_LEVEL) > 4) + incrementJugLevel = 8 - stack.get(AllDataComponents.JUG_LEVEL); + this.addToJugLevel(stack, incrementJugLevel); + } + } + + @Override + protected @Nullable BlockState getPlacementState(BlockPlaceContext context) { + ItemStack stack = context.getItemInHand(); + BlockState blockstate = this.getBlock().defaultBlockState(); + ApplicableFluidsToFluidContainer fluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE; + int jugLevel = stack.get(AllDataComponents.JUG_LEVEL) != null ? stack.get(AllDataComponents.JUG_LEVEL) : 0; + boolean canPour = stack.get(AllDataComponents.CAN_POUR) != null ? stack.get(AllDataComponents.CAN_POUR) : false; + return this.canPlace(context, blockstate) ? blockstate + .setValue(AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER, fluid) + .setValue(AllBlockStateProperties.JUG_LEVEL, jugLevel) + .setValue(AllBlockStateProperties.CAN_POUR, canPour) : null; + } + + @Override + public InteractionResult useOn(UseOnContext context) { + ItemStack stack = context.getItemInHand(); + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + BlockState state = level.getBlockState(pos); + if (stack.get(AllDataComponents.CAN_POUR) && state.getBlock() instanceof ModDrinkingGlassBlock) + return InteractionResult.SUCCESS; + return super.useOn(context); + } + + @Override + public @NotNull InteractionResultHolder use(Level level, Player player, @NotNull InteractionHand usedHand) { + ItemStack stack = player.getItemInHand(usedHand); + + if (!level.isClientSide()) { + ItemStack offHandStack = player.getOffhandItem(); + + if (player.isShiftKeyDown() && offHandStack.isEmpty()) { + this.setPourAbility(stack, !Boolean.TRUE.equals(stack.get(AllDataComponents.CAN_POUR))); + } else if (Boolean.FALSE.equals(stack.get(AllDataComponents.CAN_POUR))) { + if (stack.get(AllDataComponents.JUG_LEVEL) == null || stack.get(AllDataComponents.JUG_LEVEL) <= 4) { + if (offHandStack.is(ModItems.SUMMERMIX_LEMONADE_BOTTLE)) + this.jugLevelHandling(stack, ApplicableFluidsToFluidContainer.LEMONADE); + if (offHandStack.is(ModItems.CITRON_LEMONADE_BOTTLE)) + this.jugLevelHandling(stack, ApplicableFluidsToFluidContainer.CITRON_LEMONADE); + } + } + } + + return InteractionResultHolder.success(stack); + } + + @Override + public void appendHoverText(ItemStack stack, @NotNull TooltipContext context, @NotNull List tooltipComponents, @NotNull TooltipFlag tooltipFlag) { + if (stack.get(AllDataComponents.CAN_POUR) != null) { + tooltipComponents.add(Component.literal("Can Pour: " + stack.get(AllDataComponents.CAN_POUR)).withStyle(ChatFormatting.DARK_GREEN)); + } + } +} diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json index 015a559..908bc78 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json @@ -1,19 +1,1122 @@ { - "variants": { - "facing=north": { - "model": "lemonmates:block/lemonade_glass" + "multipart": [ + { + "when": { + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass" + } }, - "facing=south": { - "model": "lemonmates:block/lemonade_glass", - "y": 180 + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half" + } }, - "facing=east": { - "model": "lemonmates:block/lemonade_glass", - "y": 90 + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full" + } }, - "facing=west": { - "model": "lemonmates:block/lemonade_glass", - "y": 270 + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow" + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full" + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half" + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/lemon_slice" + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/orange_slice" + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1" + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2" + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3" + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4" + } + }, + { + "when": { + "straw": "basic", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_basic" + } + }, + { + "when": { + "straw": "rainbow", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow" + } + }, + { + "when": { + "straw": "trans", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_trans" + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary" + } + }, + { + "when": { + "straw": "lesbian", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian" + } + }, + { + "when": { + "straw": "gay", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_gay" + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid" + } + }, + { + "when": { + "straw": "ace", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_ace" + } + }, + { + "when": { + "straw": "aro", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_aro" + } + }, + { + "when": { + "straw": "aroace", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_aroace" + } + }, + { + "when": { + "straw": "agender", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_agender" + } + }, + { + "when": { + "straw": "bi", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_bi" + } + }, + { + "when": { + "straw": "pan", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_pan" + } + }, + { + "when": { + "straw": "german", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_german" + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual" + } + }, + + + { + "when": { + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "y": 180 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 180 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 180 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 180 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 180 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 180 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 180 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 180 + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 180 + } + }, + { + "when": { + "straw": "basic", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 180 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 180 + } + }, + { + "when": { + "straw": "trans", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 180 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 180 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 180 + } + }, + { + "when": { + "straw": "gay", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 180 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 180 + } + }, + { + "when": { + "straw": "ace", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 180 + } + }, + { + "when": { + "straw": "aro", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 180 + } + }, + { + "when": { + "straw": "aroace", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 180 + } + }, + { + "when": { + "straw": "agender", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 180 + } + }, + { + "when": { + "straw": "bi", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 180 + } + }, + { + "when": { + "straw": "pan", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 180 + } + }, + { + "when": { + "straw": "german", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 180 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 180 + } + }, + + + { + "when": { + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "y": 90 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 90 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 90 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 90 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 90 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 90 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 90 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 90 + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 90 + } + }, + { + "when": { + "straw": "basic", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 90 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 90 + } + }, + { + "when": { + "straw": "trans", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 90 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 90 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 90 + } + }, + { + "when": { + "straw": "gay", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 90 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 90 + } + }, + { + "when": { + "straw": "ace", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 90 + } + }, + { + "when": { + "straw": "aro", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 90 + } + }, + { + "when": { + "straw": "aroace", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 90 + } + }, + { + "when": { + "straw": "agender", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 90 + } + }, + { + "when": { + "straw": "bi", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 90 + } + }, + { + "when": { + "straw": "pan", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 90 + } + }, + { + "when": { + "straw": "german", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 90 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 90 + } + }, + + + { + "when": { + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "y": 270 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 270 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 270 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 270 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 270 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 270 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 270 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 270 + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 270 + } + }, + { + "when": { + "straw": "basic", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 270 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 270 + } + }, + { + "when": { + "straw": "trans", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 270 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 270 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 270 + } + }, + { + "when": { + "straw": "gay", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 270 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 270 + } + }, + { + "when": { + "straw": "ace", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 270 + } + }, + { + "when": { + "straw": "aro", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 270 + } + }, + { + "when": { + "straw": "aroace", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 270 + } + }, + { + "when": { + "straw": "agender", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 270 + } + }, + { + "when": { + "straw": "bi", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 270 + } + }, + { + "when": { + "straw": "pan", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 270 + } + }, + { + "when": { + "straw": "german", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 270 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 270 + } } - } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/terracotta_lemonade_jug.json b/src/main/resources/assets/lemonmates/blockstates/terracotta_lemonade_jug.json new file mode 100644 index 0000000..5689864 --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/terracotta_lemonade_jug.json @@ -0,0 +1,81 @@ +{ + "multipart": [ + { + "apply": { + "model": "lemonmates:block/lemonade_jug_terracotta" + } + }, + { + "when": { + "jug_level": "1", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_1" + } + }, + { + "when": { + "jug_level": "2", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_2" + } + }, + { + "when": { + "jug_level": "3", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_3" + } + }, + { + "when": { + "jug_level": "4", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_4" + } + }, + { + "when": { + "jug_level": "5", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_5" + } + }, + { + "when": { + "jug_level": "6", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_6" + } + }, + { + "when": { + "jug_level": "7", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_7" + } + }, + { + "when": { + "jug_level": "8", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_8" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json b/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json new file mode 100644 index 0000000..75ff90d --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json @@ -0,0 +1,57 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "minecraft:block/ice", + "particle": "minecraft:block/ice" + }, + "elements": [ + { + "name": "ice_cube_1", + "from": [6.5, 5.75, 6.25], + "to": [7.75, 7, 7.5], + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.5, 5.75, 8]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_3", + "from": [8.5, 5.17493, 6.2], + "to": [9.5, 6.17493, 7.2], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_top", + "from": [8.25, 6, 7.25], + "to": [9.25, 7, 8.25], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8.25, 6, 7.25]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json b/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json new file mode 100644 index 0000000..523d281 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json @@ -0,0 +1,85 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "minecraft:block/ice", + "particle": "minecraft:block/ice" + }, + "elements": [ + { + "name": "ice_cube_1", + "from": [6.5, 3.75, 6.25], + "to": [7.75, 5, 7.5], + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.5, 3.75, 8]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_2", + "from": [6.75, 3.75, 9], + "to": [7.75, 4.75, 10], + "rotation": {"angle": -22.5, "axis": "y", "origin": [7.75, 3.75, 9.75]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_3", + "from": [8.5, 3.17493, 6.11575], + "to": [9.5, 4.17493, 7.11575], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 3, 8]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_top", + "from": [8.25, 4.5, 6.25], + "to": [9.25, 5.5, 7.25], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8.25, 4.5, 6.25]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_4", + "from": [6.32401, 4.1124, 7.57769], + "to": [7.44901, 5.2374, 8.70269], + "rotation": {"angle": -45, "axis": "z", "origin": [6.44028, 4.22711, 0]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_yellow.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_yellow.json new file mode 100644 index 0000000..be11598 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_yellow.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f0": "lemonmates:block/lemonade_glass_fluid_yellow", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f0"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f0"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f0"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f0"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f0"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_yellow.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_yellow.json new file mode 100644 index 0000000..6f66483 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_yellow.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f1": "lemonmates:block/lemonade_glass_fluid_yellow", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f1"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f1"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f1"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f1"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f1"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json index 7f88815..71133a3 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j1": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json index d6b0028..00aa36f 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j2": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json index 3ce85c0..bfa0ca9 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j3": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json index c1d3084..be85fff 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j4": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json index 9fe29e2..f6ab14e 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j5": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json index 97aba01..b01c306 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j6": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json index 66ac416..7e88d12 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j7": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json index 14917b1..a2bc804 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "j1": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j8": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json index cd64d3d..221f178 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json @@ -1,10 +1,11 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", "texture_size": [32, 32], "textures": { - "jc": "item/lemonade_jug_hardened_clay", - "particle": "item/lemonade_jug_hardened_clay" + "jc": "lemonmates:item/lemonade_jug_hardened_clay", + "particle": "lemonmates:item/lemonade_jug_hardened_clay" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/item/terracotta_lemonade_jug.json b/src/main/resources/assets/lemonmates/models/item/terracotta_lemonade_jug.json new file mode 100644 index 0000000..536809a --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/terracotta_lemonade_jug.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/lemonade_jug_terracotta" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/textures/item/lemonade_jug_hardened_clay.png b/src/main/resources/assets/lemonmates/textures/item/lemonade_jug_hardened_clay.png new file mode 100644 index 0000000000000000000000000000000000000000..901353ad90453e12e0c684463ae00b59d723355c GIT binary patch literal 447 zcmV;w0YLtVP)Zluxfn&26Goz3ue zK90fn$GeF-e?FhbkEe%e)!*W*nD*rGT}Y60!5~fa$oyB~Rl9iA6^~K)#|9|gN$MHl7SJ3*@Y%^jd{k2IrB z^bBaF-U1X7y^U3j2DFcBhXVE#YUZJ@BI@4CMCBxj;B z;GLju1BJz?iVqPVrHWPcs~vEczA~}18a~CC-{FRuvDsZ>n5dF#@AuAFmdxNa21^4G z Date: Thu, 28 May 2026 15:01:36 -0500 Subject: [PATCH 47/76] Dev Commit --- .../lemonmates/AllBlockStateProperties.java | 21 + .../lemonmates/AllCreativeModeTabs.java | 4 + .../doppelr/lemonmates/AllDataComponents.java | 42 + .../net/doppelr/lemonmates/LemonMates.java | 11 +- .../doppelr/lemonmates/block/ModBlocks.java | 8 + .../block/ModDrinkingGlassBlock.java | 270 +++- .../doppelr/lemonmates/block/ModJugBlock.java | 72 ++ .../ApplicableFluidsToFluidContainer.java | 39 + .../block/properties/FruitSlices.java | 18 + .../block/properties/StrawsVariants.java | 31 + .../block/properties/UmbrellaVariants.java | 20 + .../datagen/ModBlockLootTableProvider.java | 2 +- .../net/doppelr/lemonmates/item/ModItems.java | 6 +- .../doppelr/lemonmates/item/ModJugItem.java | 125 ++ .../blockstates/lemonade_glass.json | 1129 ++++++++++++++++- .../blockstates/terracotta_lemonade_jug.json | 81 ++ .../models/block/ice_cube_full.json | 57 + .../models/block/ice_cube_half.json | 85 ++ .../lemonade_glass_fluid_full_yellow.json | 29 + .../lemonade_glass_fluid_half_yellow.json | 29 + .../models/block/lemonade_jug_fluid_1.json | 5 +- .../models/block/lemonade_jug_fluid_2.json | 5 +- .../models/block/lemonade_jug_fluid_3.json | 5 +- .../models/block/lemonade_jug_fluid_4.json | 5 +- .../models/block/lemonade_jug_fluid_5.json | 5 +- .../models/block/lemonade_jug_fluid_6.json | 5 +- .../models/block/lemonade_jug_fluid_7.json | 5 +- .../models/block/lemonade_jug_fluid_8.json | 5 +- .../models/block/lemonade_jug_terracotta.json | 5 +- .../models/item/terracotta_lemonade_jug.json | 3 + .../item/lemonade_jug_hardened_clay.png | Bin 0 -> 447 bytes 31 files changed, 2083 insertions(+), 44 deletions(-) create mode 100644 src/main/java/net/doppelr/lemonmates/AllBlockStateProperties.java create mode 100644 src/main/java/net/doppelr/lemonmates/AllDataComponents.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/properties/FruitSlices.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java create mode 100644 src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java create mode 100644 src/main/java/net/doppelr/lemonmates/item/ModJugItem.java create mode 100644 src/main/resources/assets/lemonmates/blockstates/terracotta_lemonade_jug.json create mode 100644 src/main/resources/assets/lemonmates/models/block/ice_cube_full.json create mode 100644 src/main/resources/assets/lemonmates/models/block/ice_cube_half.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_yellow.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_yellow.json create mode 100644 src/main/resources/assets/lemonmates/models/item/terracotta_lemonade_jug.json create mode 100644 src/main/resources/assets/lemonmates/textures/item/lemonade_jug_hardened_clay.png diff --git a/src/main/java/net/doppelr/lemonmates/AllBlockStateProperties.java b/src/main/java/net/doppelr/lemonmates/AllBlockStateProperties.java new file mode 100644 index 0000000..6e4b1e9 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/AllBlockStateProperties.java @@ -0,0 +1,21 @@ +package net.doppelr.lemonmates; + +import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; +import net.doppelr.lemonmates.block.properties.FruitSlices; +import net.doppelr.lemonmates.block.properties.StrawsVariants; +import net.doppelr.lemonmates.block.properties.UmbrellaVariants; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.block.state.properties.IntegerProperty; + +public class AllBlockStateProperties { + public static final IntegerProperty DRINK_LEVEL = IntegerProperty.create("drink_level", 0, 2); + public static final EnumProperty STRAWS = EnumProperty.create("straw", StrawsVariants.class); + public static final BooleanProperty ICE_CUBES = BooleanProperty.create("has_ice"); + public static final EnumProperty FRUIT_SLICES = EnumProperty.create("fruit_slice", FruitSlices.class); + public static final EnumProperty UMBRELLAS = EnumProperty.create("umbrella", UmbrellaVariants.class); + public static final EnumProperty APPLICABLE_FLUID_TO_CONTAINER = EnumProperty.create("fluid", ApplicableFluidsToFluidContainer.class); + + public static final IntegerProperty JUG_LEVEL = IntegerProperty.create("jug_level", 0, 8); + public static final BooleanProperty CAN_POUR = BooleanProperty.create("can_pour"); +} diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index dc5cbd2..96dc2d9 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -34,6 +34,10 @@ public class AllCreativeModeTabs { output.accept(ModBlocks.ORANGE_CRATE); output.accept(ModBlocks.RASPBERRY_CRATE); + // Misc + output.accept(ModBlocks.LEMONADE_GLASS); + output.accept(ModBlocks.TERRACOTTA_LEMONADE_JUG); + // Finished Lemonades output.accept(ModItems.CITRON_LEMONADE_BOTTLE); output.accept(ModItems.ORANGE_LEMONADE_BOTTLE); diff --git a/src/main/java/net/doppelr/lemonmates/AllDataComponents.java b/src/main/java/net/doppelr/lemonmates/AllDataComponents.java new file mode 100644 index 0000000..0fa512f --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/AllDataComponents.java @@ -0,0 +1,42 @@ +package net.doppelr.lemonmates; + +import com.mojang.serialization.Codec; +import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; +import net.minecraft.core.component.DataComponentType; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.util.ExtraCodecs; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredRegister; + +import java.util.function.UnaryOperator; + +public class AllDataComponents { + private static final DeferredRegister.DataComponents DATA_COMPONENTS = DeferredRegister.createDataComponents(Registries.DATA_COMPONENT_TYPE, LemonMates.MOD_ID); + + public static final DataComponentType JUG_LEVEL = register( + "jug_level", + builder -> builder.persistent(ExtraCodecs.NON_NEGATIVE_INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + + public static final DataComponentType APPLICABLE_FLUID_TO_CONTAINER = register( + "fluid", + builder -> builder.persistent(ApplicableFluidsToFluidContainer.CODEC).networkSynchronized(ApplicableFluidsToFluidContainer.STREAM_CODEC) + ); + + public static final DataComponentType CAN_POUR = register( + "can_pour", + builder -> builder.persistent(Codec.BOOL).networkSynchronized(ByteBufCodecs.BOOL) + ); + + private static DataComponentType register(String name, UnaryOperator> builder) { + DataComponentType type = builder.apply(DataComponentType.builder()).build(); + DATA_COMPONENTS.register(name, () -> type); + return type; + } + + public static void register(IEventBus modEventBus) { + DATA_COMPONENTS.register(modEventBus); + } + +} diff --git a/src/main/java/net/doppelr/lemonmates/LemonMates.java b/src/main/java/net/doppelr/lemonmates/LemonMates.java index 1086ea1..88ed001 100644 --- a/src/main/java/net/doppelr/lemonmates/LemonMates.java +++ b/src/main/java/net/doppelr/lemonmates/LemonMates.java @@ -1,19 +1,17 @@ package net.doppelr.lemonmates; +import com.mojang.logging.LogUtils; import net.doppelr.lemonmates.block.ModBlocks; import net.doppelr.lemonmates.block.entity.ModBlockEntities; import net.doppelr.lemonmates.datagen.DataGenerators; -import net.doppelr.lemonmates.fluid.ModFluids; import net.doppelr.lemonmates.entity.ModEntities; +import net.doppelr.lemonmates.fluid.ModFluids; import net.doppelr.lemonmates.item.ModItems; import net.minecraft.resources.ResourceLocation; -import org.slf4j.Logger; - -import com.mojang.logging.LogUtils; - import net.neoforged.bus.api.IEventBus; -import net.neoforged.fml.common.Mod; import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import org.slf4j.Logger; @Mod(LemonMates.MOD_ID) public class LemonMates { @@ -22,6 +20,7 @@ public class LemonMates { public LemonMates(IEventBus modEventBus, ModContainer modContainer) { AllCreativeModeTabs.register(modEventBus); + AllDataComponents.register(modEventBus); ModItems.register(modEventBus); ModBlocks.register(modEventBus); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index 2bc44df..9b4add5 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -114,6 +114,14 @@ public class ModBlocks { .sound(SoundType.GLASS) )); + public static final DeferredBlock TERRACOTTA_LEMONADE_JUG = registerBlockWithoutBlockItem("terracotta_lemonade_jug", + () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TERRACOTTA).noOcclusion())); + + private static DeferredBlock registerBlockWithoutBlockItem(String name, Supplier block) { + DeferredBlock toReturn = BLOCKS.register(name, block); + return toReturn; + } + private static DeferredBlock registerBlock(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); registerBlockItem(name, toReturn); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index fc426db..436b6aa 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -1,23 +1,287 @@ package net.doppelr.lemonmates.block; import com.mojang.serialization.MapCodec; +import net.doppelr.lemonmates.AllBlockStateProperties; +import net.doppelr.lemonmates.AllDataComponents; +import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; +import net.doppelr.lemonmates.block.properties.FruitSlices; +import net.doppelr.lemonmates.block.properties.StrawsVariants; +import net.doppelr.lemonmates.block.properties.UmbrellaVariants; +import net.doppelr.lemonmates.item.ModItems; +import net.doppelr.lemonmates.item.ModJugItem; +import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; +import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.component.BlockItemStateProperties; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.HorizontalDirectionalBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import org.jetbrains.annotations.Nullable; +import java.util.List; + public class ModDrinkingGlassBlock extends HorizontalDirectionalBlock { - public static final MapCodec CODED = simpleCodec(ModDrinkingGlassBlock::new); + public static final MapCodec CODEC = simpleCodec(ModDrinkingGlassBlock::new); private static final VoxelShape SHAPE = Block.box(5.0, 0, 5, 11, 7, 11); + public static final IntegerProperty DRINK_LEVEL = AllBlockStateProperties.DRINK_LEVEL; + public static final EnumProperty FLUID = AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER; + public static final EnumProperty STRAW = AllBlockStateProperties.STRAWS; + public static final EnumProperty FRUIT_SLICE = AllBlockStateProperties.FRUIT_SLICES; + public static final EnumProperty UMBRELLA = AllBlockStateProperties.UMBRELLAS; + public static final BooleanProperty ICE_CUBES = AllBlockStateProperties.ICE_CUBES; + protected ModDrinkingGlassBlock(Properties properties) { super(properties); + this.registerDefaultState(this.defaultBlockState() + .setValue(FACING, Direction.SOUTH) + .setValue(DRINK_LEVEL, 0) + .setValue(FLUID, ApplicableFluidsToFluidContainer.NONE) + .setValue(STRAW, StrawsVariants.NONE) + .setValue(FRUIT_SLICE, FruitSlices.NONE) + .setValue(UMBRELLA, UmbrellaVariants.NONE) + .setValue(ICE_CUBES, false)); + } + + public void customConsumptionBehaviours(BlockState state, Player player) {} + + @Override + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hitResult) { + if (player.getMainHandItem().isEmpty() && state.getValue(DRINK_LEVEL) > 0 && state.getValue(FLUID) != ApplicableFluidsToFluidContainer.NONE) { + level.setBlockAndUpdate(pos, state.setValue(DRINK_LEVEL, state.getValue(DRINK_LEVEL) - 1)); + level.playSound(player, pos, SoundEvents.GENERIC_DRINK, SoundSource.BLOCKS, 1.0F, 1.0F); + this.customConsumptionBehaviours(state, player); + player.getFoodData().eat(state.getValue(FLUID).getProperties()); + return InteractionResult.sidedSuccess(level.isClientSide); + } + + if (state.getValue(ICE_CUBES) && state.getValue(DRINK_LEVEL) == 1) + level.setBlockAndUpdate(pos, state.setValue(ICE_CUBES, false)); + + return super.useWithoutItem(state, level, pos, player, hitResult); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if (stack.getItem() instanceof ModJugItem jugItem && Boolean.TRUE.equals(stack.get(AllDataComponents.CAN_POUR))) { + if (state.getValue(DRINK_LEVEL) != 2) { + if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null || stack.get(AllDataComponents.JUG_LEVEL) != 0) { + int newDrinkLevel = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? 2 - state.getValue(DRINK_LEVEL) : 0; + if (stack.get(AllDataComponents.JUG_LEVEL) == 1 || state.getValue(DRINK_LEVEL) == 1) + newDrinkLevel = 1; + int blockDrinkLevel = state.getValue(DRINK_LEVEL) == 1 ? 2 : newDrinkLevel; + ApplicableFluidsToFluidContainer pouredFluid = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : state.getValue(FLUID); + level.setBlockAndUpdate(pos, state.setValue(FLUID, pouredFluid) + .setValue(DRINK_LEVEL, blockDrinkLevel)); + jugItem.removeFromJugLevel(stack, newDrinkLevel); + } + } else { + return ItemInteractionResult.FAIL; + } + } + + if (stack.is(ModItems.STRAW_BASIC)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.BASIC)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_RAINBOW)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.RAINBOW)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_TRANS)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.TRANS)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_NONBINARY)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.NONBINARY)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_LESBIAN)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.LESBIAN)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_GAY)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.GAY)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_GENDERFLUID)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.GENDERFLUID)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_ACE)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.ACE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_ARO)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.ARO)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_AROACE)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.AROACE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_AGENDER)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.AGENDER)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_BI)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.BI)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_PAN)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.PAN)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_GERMAN)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.GERMAN)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (stack.is(ModItems.STRAW_OMNISEXUAL)) { + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.OMNISEXUAL)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + // Each straw follows this same logic, duplicate as necessary + + if (stack.is(ModItems.CITRON_SLICE)) { + level.setBlockAndUpdate(pos, state.setValue(FRUIT_SLICE, FruitSlices.CITRON)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + if (stack.is(ModItems.ORANGE_SLICE)) { + level.setBlockAndUpdate(pos, state.setValue(FRUIT_SLICE, FruitSlices.ORANGE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + // Each slice follows this same logic, duplicate as necessary + + if (stack.is(ModItems.DRINK_UMBRELLA_1)) { + level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.RED_WHITE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + if (stack.is(ModItems.DRINK_UMBRELLA_2)) { + level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.YELLOW_WHITE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + if (stack.is(ModItems.DRINK_UMBRELLA_3)) { + level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.BLACK_PURPLE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + if (stack.is(ModItems.DRINK_UMBRELLA_4)) { + level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.ORANGE_WHITE)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + // Each umbrella follows this same logic, duplicate as necessary + + if (stack.is(ModItems.ICE_CUBES)) { + level.setBlockAndUpdate(pos, state.setValue(ICE_CUBES, true)); + if (!player.getAbilities().instabuild) + stack.shrink(1); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + return super.useItemOn(stack, state, level, pos, player, hand, hitResult); + } + + @Override + public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, Player player) { + if (!level.isClientSide) { + ItemStack itemStack = new ItemStack(this); + int drinkLevel = state.getValue(DRINK_LEVEL); + StrawsVariants straw = state.getValue(STRAW); + ApplicableFluidsToFluidContainer fluid = state.getValue(FLUID); + FruitSlices fruitSlice = state.getValue(FRUIT_SLICE); + UmbrellaVariants umbrella = state.getValue(UMBRELLA); + boolean iceCubes = state.getValue(ICE_CUBES); + + if (drinkLevel < 2 || straw != StrawsVariants.NONE || fluid != ApplicableFluidsToFluidContainer.NONE || fruitSlice != FruitSlices.NONE || umbrella != UmbrellaVariants.NONE || iceCubes) { + itemStack.set(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY + .with(AllBlockStateProperties.DRINK_LEVEL, drinkLevel) + .with(AllBlockStateProperties.STRAWS, straw) + .with(AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER, fluid) + .with(AllBlockStateProperties.FRUIT_SLICES, fruitSlice) + .with(AllBlockStateProperties.UMBRELLAS, umbrella) + .with(AllBlockStateProperties.ICE_CUBES, iceCubes)); + } + + ItemEntity itemEntity = new ItemEntity(level, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, itemStack); + itemEntity.setDefaultPickUpDelay(); + level.addFreshEntity(itemEntity); + } + return super.playerWillDestroy(level, pos, state, player); + } + + @Override + public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); + + if (stack.has(DataComponents.BLOCK_STATE)) + tooltipComponents.add(Component.literal("Has Decorations Applied").withStyle(ChatFormatting.ITALIC, ChatFormatting.GRAY)); } @Override @@ -27,7 +291,7 @@ protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, @Override protected MapCodec codec() { - return CODED; + return CODEC; } @Nullable @@ -38,6 +302,6 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { @Override protected void createBlockStateDefinition(StateDefinition.Builder builder) { - builder.add(FACING); + builder.add(FACING, STRAW, FRUIT_SLICE, UMBRELLA, DRINK_LEVEL, ICE_CUBES, FLUID); } } diff --git a/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java new file mode 100644 index 0000000..913d468 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java @@ -0,0 +1,72 @@ +package net.doppelr.lemonmates.block; + +import net.doppelr.lemonmates.AllBlockStateProperties; +import net.doppelr.lemonmates.AllDataComponents; +import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; +import net.minecraft.core.BlockPos; +import net.minecraft.core.component.DataComponentMap; +import net.minecraft.core.component.DataComponents; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.BlockItemStateProperties; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class ModJugBlock extends Block { + private static final VoxelShape SHAPE = Block.box(5, 0, 5, 11, 10, 11); + + public static final IntegerProperty JUG_LEVEL = AllBlockStateProperties.JUG_LEVEL; + public static final EnumProperty FLUID = AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER; + public static final BooleanProperty CAN_POUR = AllBlockStateProperties.CAN_POUR; + public ModJugBlock(Properties properties) { + super(properties); + this.registerDefaultState(this.defaultBlockState().setValue(JUG_LEVEL, 0).setValue(FLUID, ApplicableFluidsToFluidContainer.NONE).setValue(CAN_POUR, false)); + } + + @Override + public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, Player player) { + if (!level.isClientSide) { + ItemStack itemStack = new ItemStack(this); + int jugLevel = state.getValue(JUG_LEVEL); + ApplicableFluidsToFluidContainer fluid = state.getValue(FLUID); + boolean canPour = state.getValue(CAN_POUR); + + if (jugLevel > 0 || fluid != ApplicableFluidsToFluidContainer.NONE || canPour) { + DataComponentMap.Builder map = DataComponentMap.builder(); + map.set(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY + .with(AllBlockStateProperties.JUG_LEVEL, jugLevel) + .with(AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER, fluid) + .with(AllBlockStateProperties.CAN_POUR, canPour)) + .set(AllDataComponents.JUG_LEVEL, jugLevel) + .set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, fluid) + .set(AllDataComponents.CAN_POUR, canPour); + + itemStack.applyComponents(map.build()); + } + + ItemEntity itemEntity = new ItemEntity(level, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, itemStack); + itemEntity.setDefaultPickUpDelay(); + level.addFreshEntity(itemEntity); + } + return super.playerWillDestroy(level, pos, state, player); + } + + @Override + protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + return SHAPE; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(JUG_LEVEL, FLUID, CAN_POUR); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java new file mode 100644 index 0000000..95c3f36 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java @@ -0,0 +1,39 @@ +package net.doppelr.lemonmates.block.properties; + +import com.mojang.serialization.Codec; +import io.netty.buffer.ByteBuf; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecBuilders; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.util.StringRepresentable; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.food.FoodProperties; + +import java.util.Locale; + +public enum ApplicableFluidsToFluidContainer implements StringRepresentable { + NONE, + LEMONADE(new FoodProperties.Builder().effect(() -> new MobEffectInstance(MobEffects.REGENERATION, 200, 2), 1.0F).build()), + CITRON_LEMONADE(new FoodProperties.Builder().effect(() -> new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 200, 2), 1.0F).build()),; + + final FoodProperties properties; + public static final Codec CODEC = StringRepresentable.fromEnum(ApplicableFluidsToFluidContainer::values); + public static final StreamCodec STREAM_CODEC = CatnipStreamCodecBuilders.ofEnum(ApplicableFluidsToFluidContainer.class); + + ApplicableFluidsToFluidContainer() { + this.properties = new FoodProperties.Builder().build(); + } + + ApplicableFluidsToFluidContainer(FoodProperties properties) { + this.properties = properties; + } + + public FoodProperties getProperties() { + return properties; + } + + @Override + public String getSerializedName() { + return name().toLowerCase(Locale.ROOT); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/FruitSlices.java b/src/main/java/net/doppelr/lemonmates/block/properties/FruitSlices.java new file mode 100644 index 0000000..9aa797e --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/properties/FruitSlices.java @@ -0,0 +1,18 @@ +package net.doppelr.lemonmates.block.properties; + +import net.minecraft.util.StringRepresentable; + +import java.util.Locale; + +public enum FruitSlices implements StringRepresentable { + NONE, + CITRON, + ORANGE,; + + FruitSlices() {} + + @Override + public String getSerializedName() { + return name().toLowerCase(Locale.ROOT); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java b/src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java new file mode 100644 index 0000000..d8547bc --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java @@ -0,0 +1,31 @@ +package net.doppelr.lemonmates.block.properties; + +import net.minecraft.util.StringRepresentable; + +import java.util.Locale; + +public enum StrawsVariants implements StringRepresentable { + NONE, + BASIC, + RAINBOW, + TRANS, + NONBINARY, + LESBIAN, + GAY, + GENDERFLUID, + ACE, + ARO, + AROACE, + AGENDER, + BI, + PAN, + GERMAN, + OMNISEXUAL,; + + StrawsVariants() {} + + @Override + public String getSerializedName() { + return name().toLowerCase(Locale.ROOT); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java b/src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java new file mode 100644 index 0000000..edd2889 --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java @@ -0,0 +1,20 @@ +package net.doppelr.lemonmates.block.properties; + +import net.minecraft.util.StringRepresentable; + +import java.util.Locale; + +public enum UmbrellaVariants implements StringRepresentable { + NONE, + RED_WHITE, + YELLOW_WHITE, + BLACK_PURPLE, + ORANGE_WHITE,; + + UmbrellaVariants() {} + + @Override + public String getSerializedName() { + return name().toLowerCase(Locale.ROOT); + } +} diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java index c861e0c..1ae67da 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java @@ -125,7 +125,7 @@ protected void generate() { dropSelf(ModBlocks.CITRON_CRATE.get()); dropSelf(ModBlocks.RASPBERRY_CRATE.get()); - dropSelf(ModBlocks.LEMONADE_GLASS.get()); + add(ModBlocks.LEMONADE_GLASS.get(), noDrop()); } @Override diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index 9c5c03c..e76765a 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -1,8 +1,8 @@ package net.doppelr.lemonmates.item; import com.simibubi.create.content.processing.sequenced.SequencedAssemblyItem; -import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.AllFoodProperties; +import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.block.ModBlocks; import net.doppelr.lemonmates.entity.ModBoatEntity; import net.minecraft.world.item.HangingSignItem; @@ -191,13 +191,13 @@ public class ModItems { public static final DeferredItem DRINK_UMBRELLA_4 = ITEMS.register("drink_umbrella_4", () -> new Item(new Item.Properties())); + public static final DeferredItem TERRACOTTA_LEMONADE_JUG = ITEMS.register("terracotta_lemonade_jug", + () -> new ModJugItem(ModBlocks.TERRACOTTA_LEMONADE_JUG.get(), new Item.Properties().stacksTo(1))); // Serving related public static final DeferredItem ICE_CUBES = ITEMS.register("ice_cubes", () -> new Item(new Item.Properties())); - - public static void register(IEventBus eventBus) { ITEMS.register(eventBus); } diff --git a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java new file mode 100644 index 0000000..baba71e --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java @@ -0,0 +1,125 @@ +package net.doppelr.lemonmates.item; + +import net.doppelr.lemonmates.AllBlockStateProperties; +import net.doppelr.lemonmates.AllDataComponents; +import net.doppelr.lemonmates.block.ModDrinkingGlassBlock; +import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class ModJugItem extends BlockItem { + public ModJugItem(Block block, Properties properties) { + super(block, properties); + } + + public void setPourAbility(ItemStack stack, boolean pour) { + stack.set(AllDataComponents.CAN_POUR, pour); + } + + public void setContainedFluid(ItemStack stack, ApplicableFluidsToFluidContainer fluid) { + stack.set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, fluid); + } + + public void setJugLevel(ItemStack stack, int jugLevel) { + stack.set(AllDataComponents.JUG_LEVEL, jugLevel); + } + + public void addToJugLevel(ItemStack stack, int increment) { + if (stack.get(AllDataComponents.JUG_LEVEL) != null) + stack.set(AllDataComponents.JUG_LEVEL, stack.get(AllDataComponents.JUG_LEVEL) + increment); + } + + public void removeFromJugLevel(ItemStack stack, int decrement) { + if (stack.get(AllDataComponents.JUG_LEVEL) != null) { + int f = stack.get(AllDataComponents.JUG_LEVEL) - decrement; + if (f >= 0 && f <= 8) + stack.set(AllDataComponents.JUG_LEVEL, stack.get(AllDataComponents.JUG_LEVEL) - decrement); + } + } + + public void jugLevelHandling(ItemStack stack, ApplicableFluidsToFluidContainer fluid) { + if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != fluid) + this.setContainedFluid(stack, fluid); + + if (stack.get(AllDataComponents.JUG_LEVEL) == null || stack.get(AllDataComponents.JUG_LEVEL) == 0) { + this.setJugLevel(stack, 4); + } else if (stack.get(AllDataComponents.JUG_LEVEL) <= 4) { + this.addToJugLevel(stack, 4); + } else if (stack.get(AllDataComponents.JUG_LEVEL) < 8) { + int incrementJugLevel = 4; + if (stack.get(AllDataComponents.JUG_LEVEL) > 4) + incrementJugLevel = 8 - stack.get(AllDataComponents.JUG_LEVEL); + this.addToJugLevel(stack, incrementJugLevel); + } + } + + @Override + protected @Nullable BlockState getPlacementState(BlockPlaceContext context) { + ItemStack stack = context.getItemInHand(); + BlockState blockstate = this.getBlock().defaultBlockState(); + ApplicableFluidsToFluidContainer fluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE; + int jugLevel = stack.get(AllDataComponents.JUG_LEVEL) != null ? stack.get(AllDataComponents.JUG_LEVEL) : 0; + boolean canPour = stack.get(AllDataComponents.CAN_POUR) != null ? stack.get(AllDataComponents.CAN_POUR) : false; + return this.canPlace(context, blockstate) ? blockstate + .setValue(AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER, fluid) + .setValue(AllBlockStateProperties.JUG_LEVEL, jugLevel) + .setValue(AllBlockStateProperties.CAN_POUR, canPour) : null; + } + + @Override + public InteractionResult useOn(UseOnContext context) { + ItemStack stack = context.getItemInHand(); + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + BlockState state = level.getBlockState(pos); + if (stack.get(AllDataComponents.CAN_POUR) && state.getBlock() instanceof ModDrinkingGlassBlock) + return InteractionResult.SUCCESS; + return super.useOn(context); + } + + @Override + public @NotNull InteractionResultHolder use(Level level, Player player, @NotNull InteractionHand usedHand) { + ItemStack stack = player.getItemInHand(usedHand); + + if (!level.isClientSide()) { + ItemStack offHandStack = player.getOffhandItem(); + + if (player.isShiftKeyDown() && offHandStack.isEmpty()) { + this.setPourAbility(stack, !Boolean.TRUE.equals(stack.get(AllDataComponents.CAN_POUR))); + } else if (Boolean.FALSE.equals(stack.get(AllDataComponents.CAN_POUR))) { + if (stack.get(AllDataComponents.JUG_LEVEL) == null || stack.get(AllDataComponents.JUG_LEVEL) <= 4) { + if (offHandStack.is(ModItems.SUMMERMIX_LEMONADE_BOTTLE)) + this.jugLevelHandling(stack, ApplicableFluidsToFluidContainer.LEMONADE); + if (offHandStack.is(ModItems.CITRON_LEMONADE_BOTTLE)) + this.jugLevelHandling(stack, ApplicableFluidsToFluidContainer.CITRON_LEMONADE); + } + } + } + + return InteractionResultHolder.success(stack); + } + + @Override + public void appendHoverText(ItemStack stack, @NotNull TooltipContext context, @NotNull List tooltipComponents, @NotNull TooltipFlag tooltipFlag) { + if (stack.get(AllDataComponents.CAN_POUR) != null) { + tooltipComponents.add(Component.literal("Can Pour: " + stack.get(AllDataComponents.CAN_POUR)).withStyle(ChatFormatting.DARK_GREEN)); + } + } +} diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json index 015a559..908bc78 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json @@ -1,19 +1,1122 @@ { - "variants": { - "facing=north": { - "model": "lemonmates:block/lemonade_glass" + "multipart": [ + { + "when": { + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass" + } }, - "facing=south": { - "model": "lemonmates:block/lemonade_glass", - "y": 180 + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half" + } }, - "facing=east": { - "model": "lemonmates:block/lemonade_glass", - "y": 90 + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full" + } }, - "facing=west": { - "model": "lemonmates:block/lemonade_glass", - "y": 270 + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow" + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full" + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half" + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/lemon_slice" + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/orange_slice" + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1" + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2" + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3" + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4" + } + }, + { + "when": { + "straw": "basic", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_basic" + } + }, + { + "when": { + "straw": "rainbow", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow" + } + }, + { + "when": { + "straw": "trans", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_trans" + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary" + } + }, + { + "when": { + "straw": "lesbian", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian" + } + }, + { + "when": { + "straw": "gay", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_gay" + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid" + } + }, + { + "when": { + "straw": "ace", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_ace" + } + }, + { + "when": { + "straw": "aro", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_aro" + } + }, + { + "when": { + "straw": "aroace", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_aroace" + } + }, + { + "when": { + "straw": "agender", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_agender" + } + }, + { + "when": { + "straw": "bi", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_bi" + } + }, + { + "when": { + "straw": "pan", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_pan" + } + }, + { + "when": { + "straw": "german", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_german" + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual" + } + }, + + + { + "when": { + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "y": 180 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 180 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 180 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 180 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 180 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 180 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 180 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 180 + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 180 + } + }, + { + "when": { + "straw": "basic", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 180 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 180 + } + }, + { + "when": { + "straw": "trans", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 180 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 180 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 180 + } + }, + { + "when": { + "straw": "gay", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 180 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 180 + } + }, + { + "when": { + "straw": "ace", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 180 + } + }, + { + "when": { + "straw": "aro", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 180 + } + }, + { + "when": { + "straw": "aroace", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 180 + } + }, + { + "when": { + "straw": "agender", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 180 + } + }, + { + "when": { + "straw": "bi", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 180 + } + }, + { + "when": { + "straw": "pan", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 180 + } + }, + { + "when": { + "straw": "german", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 180 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 180 + } + }, + + + { + "when": { + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "y": 90 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 90 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 90 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 90 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 90 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 90 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 90 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 90 + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 90 + } + }, + { + "when": { + "straw": "basic", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 90 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 90 + } + }, + { + "when": { + "straw": "trans", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 90 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 90 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 90 + } + }, + { + "when": { + "straw": "gay", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 90 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 90 + } + }, + { + "when": { + "straw": "ace", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 90 + } + }, + { + "when": { + "straw": "aro", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 90 + } + }, + { + "when": { + "straw": "aroace", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 90 + } + }, + { + "when": { + "straw": "agender", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 90 + } + }, + { + "when": { + "straw": "bi", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 90 + } + }, + { + "when": { + "straw": "pan", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 90 + } + }, + { + "when": { + "straw": "german", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 90 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 90 + } + }, + + + { + "when": { + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "y": 270 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 270 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 270 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 270 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 270 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 270 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 270 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 270 + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 270 + } + }, + { + "when": { + "straw": "basic", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 270 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 270 + } + }, + { + "when": { + "straw": "trans", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 270 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 270 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 270 + } + }, + { + "when": { + "straw": "gay", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 270 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 270 + } + }, + { + "when": { + "straw": "ace", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 270 + } + }, + { + "when": { + "straw": "aro", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 270 + } + }, + { + "when": { + "straw": "aroace", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 270 + } + }, + { + "when": { + "straw": "agender", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 270 + } + }, + { + "when": { + "straw": "bi", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 270 + } + }, + { + "when": { + "straw": "pan", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 270 + } + }, + { + "when": { + "straw": "german", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 270 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 270 + } } - } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/terracotta_lemonade_jug.json b/src/main/resources/assets/lemonmates/blockstates/terracotta_lemonade_jug.json new file mode 100644 index 0000000..5689864 --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/terracotta_lemonade_jug.json @@ -0,0 +1,81 @@ +{ + "multipart": [ + { + "apply": { + "model": "lemonmates:block/lemonade_jug_terracotta" + } + }, + { + "when": { + "jug_level": "1", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_1" + } + }, + { + "when": { + "jug_level": "2", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_2" + } + }, + { + "when": { + "jug_level": "3", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_3" + } + }, + { + "when": { + "jug_level": "4", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_4" + } + }, + { + "when": { + "jug_level": "5", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_5" + } + }, + { + "when": { + "jug_level": "6", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_6" + } + }, + { + "when": { + "jug_level": "7", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_7" + } + }, + { + "when": { + "jug_level": "8", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_jug_fluid_8" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json b/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json new file mode 100644 index 0000000..75ff90d --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json @@ -0,0 +1,57 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "minecraft:block/ice", + "particle": "minecraft:block/ice" + }, + "elements": [ + { + "name": "ice_cube_1", + "from": [6.5, 5.75, 6.25], + "to": [7.75, 7, 7.5], + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.5, 5.75, 8]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_3", + "from": [8.5, 5.17493, 6.2], + "to": [9.5, 6.17493, 7.2], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_top", + "from": [8.25, 6, 7.25], + "to": [9.25, 7, 8.25], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8.25, 6, 7.25]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json b/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json new file mode 100644 index 0000000..523d281 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json @@ -0,0 +1,85 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "minecraft:block/ice", + "particle": "minecraft:block/ice" + }, + "elements": [ + { + "name": "ice_cube_1", + "from": [6.5, 3.75, 6.25], + "to": [7.75, 5, 7.5], + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.5, 3.75, 8]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_2", + "from": [6.75, 3.75, 9], + "to": [7.75, 4.75, 10], + "rotation": {"angle": -22.5, "axis": "y", "origin": [7.75, 3.75, 9.75]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_3", + "from": [8.5, 3.17493, 6.11575], + "to": [9.5, 4.17493, 7.11575], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 3, 8]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_top", + "from": [8.25, 4.5, 6.25], + "to": [9.25, 5.5, 7.25], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8.25, 4.5, 6.25]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_4", + "from": [6.32401, 4.1124, 7.57769], + "to": [7.44901, 5.2374, 8.70269], + "rotation": {"angle": -45, "axis": "z", "origin": [6.44028, 4.22711, 0]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_yellow.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_yellow.json new file mode 100644 index 0000000..be11598 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_yellow.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f0": "lemonmates:block/lemonade_glass_fluid_yellow", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f0"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f0"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f0"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f0"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f0"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_yellow.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_yellow.json new file mode 100644 index 0000000..6f66483 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_yellow.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f1": "lemonmates:block/lemonade_glass_fluid_yellow", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f1"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f1"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f1"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f1"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f1"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json index 7f88815..71133a3 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j1": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json index d6b0028..00aa36f 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j2": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json index 3ce85c0..bfa0ca9 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j3": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json index c1d3084..be85fff 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j4": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json index 9fe29e2..f6ab14e 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j5": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json index 97aba01..b01c306 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j6": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json index 66ac416..7e88d12 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "0": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j7": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json index 14917b1..a2bc804 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json @@ -1,9 +1,10 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { - "j1": "item/lemonade_glass_fluid", - "particle": "item/lemonade_glass_fluid" + "j8": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:block/lemonade_glass_fluid" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json index cd64d3d..221f178 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json @@ -1,10 +1,11 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", "texture_size": [32, 32], "textures": { - "jc": "item/lemonade_jug_hardened_clay", - "particle": "item/lemonade_jug_hardened_clay" + "jc": "lemonmates:item/lemonade_jug_hardened_clay", + "particle": "lemonmates:item/lemonade_jug_hardened_clay" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/item/terracotta_lemonade_jug.json b/src/main/resources/assets/lemonmates/models/item/terracotta_lemonade_jug.json new file mode 100644 index 0000000..536809a --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/terracotta_lemonade_jug.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/lemonade_jug_terracotta" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/textures/item/lemonade_jug_hardened_clay.png b/src/main/resources/assets/lemonmates/textures/item/lemonade_jug_hardened_clay.png new file mode 100644 index 0000000000000000000000000000000000000000..901353ad90453e12e0c684463ae00b59d723355c GIT binary patch literal 447 zcmV;w0YLtVP)Zluxfn&26Goz3ue zK90fn$GeF-e?FhbkEe%e)!*W*nD*rGT}Y60!5~fa$oyB~Rl9iA6^~K)#|9|gN$MHl7SJ3*@Y%^jd{k2IrB z^bBaF-U1X7y^U3j2DFcBhXVE#YUZJ@BI@4CMCBxj;B z;GLju1BJz?iVqPVrHWPcs~vEczA~}18a~CC-{FRuvDsZ>n5dF#@AuAFmdxNa21^4G z Date: Thu, 28 May 2026 22:41:49 +0200 Subject: [PATCH 48/76] on second thought, better formulation --- src/main/resources/assets/lemonmates/texts/splashes.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/lemonmates/texts/splashes.txt b/src/main/resources/assets/lemonmates/texts/splashes.txt index a2f777a..0b5ce98 100644 --- a/src/main/resources/assets/lemonmates/texts/splashes.txt +++ b/src/main/resources/assets/lemonmates/texts/splashes.txt @@ -12,5 +12,5 @@ Profesh cats included! What is love, and why is it a social construct? Godly Permissions No smored pickles -Garnichet so bad +Also try Create: Garnished Modelling the barn \ No newline at end of file From 43344d4b3cbc6dd883af2a9617bf252ae98f1aa5 Mon Sep 17 00:00:00 2001 From: Dakota Date: Thu, 28 May 2026 16:01:55 -0500 Subject: [PATCH 49/76] Fix crashes with jug --- .../net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java | 2 +- src/main/java/net/doppelr/lemonmates/item/ModJugItem.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index 436b6aa..4c55ce1 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -87,7 +87,7 @@ protected InteractionResult useWithoutItem(BlockState state, Level level, BlockP protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { if (stack.getItem() instanceof ModJugItem jugItem && Boolean.TRUE.equals(stack.get(AllDataComponents.CAN_POUR))) { if (state.getValue(DRINK_LEVEL) != 2) { - if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null || stack.get(AllDataComponents.JUG_LEVEL) != 0) { + if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null || (stack.get(AllDataComponents.JUG_LEVEL) != null && stack.get(AllDataComponents.JUG_LEVEL) != 0)) { int newDrinkLevel = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? 2 - state.getValue(DRINK_LEVEL) : 0; if (stack.get(AllDataComponents.JUG_LEVEL) == 1 || state.getValue(DRINK_LEVEL) == 1) newDrinkLevel = 1; diff --git a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java index baba71e..7568004 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java @@ -89,7 +89,7 @@ public InteractionResult useOn(UseOnContext context) { Level level = context.getLevel(); BlockPos pos = context.getClickedPos(); BlockState state = level.getBlockState(pos); - if (stack.get(AllDataComponents.CAN_POUR) && state.getBlock() instanceof ModDrinkingGlassBlock) + if (stack.get(AllDataComponents.CAN_POUR) != null && stack.get(AllDataComponents.CAN_POUR) && state.getBlock() instanceof ModDrinkingGlassBlock) return InteractionResult.SUCCESS; return super.useOn(context); } From 484c7234eab611f9e3f6ed91490578958047175d Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Fri, 29 May 2026 01:51:01 +0200 Subject: [PATCH 50/76] translation, recipes --- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 5 +-- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 6 +++- .../recipes/misc/lemonade_glass.json | 32 +++++++++++++++++++ .../recipes/misc/terracotta_lemonade_jug.json | 32 +++++++++++++++++++ .../loot_table/blocks/lemonade_glass.json | 21 ------------ .../lemonmates/recipe/lemonade_glass.json | 21 ++++++++++++ .../recipe/terracotta_lemonade_jug.json | 18 +++++++++++ .../doppelr/lemonmates/block/ModBlocks.java | 2 +- .../datagen/ModBlockLootTableProvider.java | 3 +- .../lemonmates/datagen/ModRecipeProvider.java | 17 ++++++++++ .../assets/lemonmates/lang/de_de.json | 1 + .../assets/lemonmates/lang/en_us.json | 1 + 12 files changed, 133 insertions(+), 26 deletions(-) create mode 100644 src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_glass.json create mode 100644 src/generated/resources/data/lemonmates/advancement/recipes/misc/terracotta_lemonade_jug.json delete mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json create mode 100644 src/generated/resources/data/lemonmates/recipe/lemonade_glass.json create mode 100644 src/generated/resources/data/lemonmates/recipe/terracotta_lemonade_jug.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 70b028c..44fdd9f 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21.1 2026-03-10T00:06:46.8572324 Loot Tables +// 1.21.1 2026-05-28T23:38:51.8802081 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 @@ -17,7 +17,7 @@ be56f3f3d40997839e2f5cafbdd671ad138bff15 data/lemonmates/loot_table/blocks/citro 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 -3a73a87ef8818ed861d4d2598f34f404f1dfe89f data/lemonmates/loot_table/blocks/lemonade_glass.json +52b02e8a86046b0714d06d30e507355d0db80338 data/lemonmates/loot_table/blocks/lemonade_glass.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 @@ -42,3 +42,4 @@ f449a514381baf54e4515a0ca8f4a304d9c2735d data/lemonmates/loot_table/blocks/strip 52a1b6d1cba20cd6b102a26193248df56eb37c52 data/lemonmates/loot_table/blocks/stripped_citron_wood.json 6119e198844f5713fd685fdd8ade49f8c00a7733 data/lemonmates/loot_table/blocks/stripped_orange_log.json 7dfcf28cad578249cb297340014d8229e44ee1c1 data/lemonmates/loot_table/blocks/stripped_orange_wood.json +0c4ae2b05dbe46f34cfe03c0528c2ce346452121 data/lemonmates/loot_table/blocks/terracotta_lemonade_jug.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 67f40bd..6f56d16 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.21.1 2025-09-29T19:23:23.0268919 Recipes +// 1.21.1 2026-05-28T23:38:51.8963216 Recipes facd248ef881f97de28f9e5e269db79dc09c7fb3 data/lemonmates/advancement/recipes/building_blocks/citron.json 1d7c61d7aa66adee3bb6a9752e28e5b3481ff485 data/lemonmates/advancement/recipes/building_blocks/citron_crate.json 8c180e50e9625c1985dfc40e7be05f0293d92fd2 data/lemonmates/advancement/recipes/building_blocks/citron_planks.json @@ -27,11 +27,13 @@ a80c1357e4bf33be9c5affb1caa972e87265f9e3 data/lemonmates/advancement/recipes/mis ed7cc37c657142fcfb7a9f35e05ee108279cba8f data/lemonmates/advancement/recipes/misc/citron_from_crate.json 3f7b9d8f197674a62374728056c3fbb0390897b6 data/lemonmates/advancement/recipes/misc/citron_slice.json 8a5ff5088292e7db5904b0488942fcdeb4f3d8b7 data/lemonmates/advancement/recipes/misc/label_empty.json +2ce38d1b0a3191d6ccf0b53638f457b5a8c0f517 data/lemonmates/advancement/recipes/misc/lemonade_glass.json 7090289653e8095ab022c12bc87396441acb7b00 data/lemonmates/advancement/recipes/misc/orange_from_crate.json 79dda7e25b11b57791df4af5f50cd05c55a68eb6 data/lemonmates/advancement/recipes/misc/orange_slice.json 02a69065c1431db74b184acb80e738e17de6d632 data/lemonmates/advancement/recipes/misc/preform.json 083334ac302ce3a0a69dc54ede3b36bd5a284ae1 data/lemonmates/advancement/recipes/misc/preform_mold.json e9a2fe0611d96dcfaafadbb8ada78fd10586215a data/lemonmates/advancement/recipes/misc/raspberry.json +28dec962d44773cfc954691c71ed68ac008cdcbe data/lemonmates/advancement/recipes/misc/terracotta_lemonade_jug.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 @@ -69,6 +71,7 @@ a2e9563dd03da6f91007bce9d7f5ca443a86d2be data/lemonmates/recipe/citron_slice.jso 7d7e2f8febe477605eddf1d6883a81ec8e8e7f9e data/lemonmates/recipe/citron_trapdoor.json 8a180511c751f3e23544d072d880c7d0cc60ccec data/lemonmates/recipe/citron_wood.json f37e26b1d661dbf1d288bc4fa2a3d2590aa307d7 data/lemonmates/recipe/label_empty.json +6eb50907c1d53ee5caf1c6799e332f998b5d8b2c data/lemonmates/recipe/lemonade_glass.json fa5c3be35146baac35c21ac10ea3fce7aa431d80 data/lemonmates/recipe/orange.json 4fee22ae48a9903db8201e411fad82b780879c23 data/lemonmates/recipe/orange_boat.json 446643ff87c3cd0eea22285bb723163ae970c0d4 data/lemonmates/recipe/orange_button.json @@ -93,3 +96,4 @@ de2f1cb106b62ea49608bebd5f9a1671727c86d2 data/lemonmates/recipe/preform_mold.jso 1445516a5fab144d5ab7dfed1ad3de0efa970a3c data/lemonmates/recipe/raspberry_crate.json 145218accb1ca38a0a5f92fa8c36fec665f9fb60 data/lemonmates/recipe/stripped_citron_wood.json 538d2929b9a38901bd7becd5ad38af94afe42e5a data/lemonmates/recipe/stripped_orange_wood.json +39118b7a981c91df62b5dfe84a0878bce90b3851 data/lemonmates/recipe/terracotta_lemonade_jug.json diff --git a/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_glass.json b/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_glass.json new file mode 100644 index 0000000..e5ca330 --- /dev/null +++ b/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_glass.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glass": { + "conditions": { + "items": [ + { + "items": "#c:glass_blocks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "lemonmates:lemonade_glass" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_glass" + ] + ], + "rewards": { + "recipes": [ + "lemonmates:lemonade_glass" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/advancement/recipes/misc/terracotta_lemonade_jug.json b/src/generated/resources/data/lemonmates/advancement/recipes/misc/terracotta_lemonade_jug.json new file mode 100644 index 0000000..5f3dc03 --- /dev/null +++ b/src/generated/resources/data/lemonmates/advancement/recipes/misc/terracotta_lemonade_jug.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bricks": { + "conditions": { + "items": [ + { + "items": "#c:bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "lemonmates:terracotta_lemonade_jug" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bricks" + ] + ], + "rewards": { + "recipes": [ + "lemonmates:terracotta_lemonade_jug" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json deleted file mode 100644 index 92642c7..0000000 --- a/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "lemonmates:lemonade_glass" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "lemonmates:blocks/lemonade_glass" -} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/recipe/lemonade_glass.json b/src/generated/resources/data/lemonmates/recipe/lemonade_glass.json new file mode 100644 index 0000000..952bcbd --- /dev/null +++ b/src/generated/resources/data/lemonmates/recipe/lemonade_glass.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:glass_panes" + }, + "B": { + "tag": "c:glass_blocks" + } + }, + "pattern": [ + " ", + "# #", + " B " + ], + "result": { + "count": 1, + "id": "lemonmates:lemonade_glass" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/recipe/terracotta_lemonade_jug.json b/src/generated/resources/data/lemonmates/recipe/terracotta_lemonade_jug.json new file mode 100644 index 0000000..fa8b5a5 --- /dev/null +++ b/src/generated/resources/data/lemonmates/recipe/terracotta_lemonade_jug.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:bricks" + } + }, + "pattern": [ + "# #", + "# #", + " # " + ], + "result": { + "count": 1, + "id": "lemonmates:terracotta_lemonade_jug" + } +} \ No newline at end of file diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index 9b4add5..f3968b4 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -115,7 +115,7 @@ public class ModBlocks { )); public static final DeferredBlock TERRACOTTA_LEMONADE_JUG = registerBlockWithoutBlockItem("terracotta_lemonade_jug", - () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TERRACOTTA).noOcclusion())); + () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT).noOcclusion())); private static DeferredBlock registerBlockWithoutBlockItem(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java index 1ae67da..8b0864a 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java @@ -125,7 +125,8 @@ protected void generate() { dropSelf(ModBlocks.CITRON_CRATE.get()); dropSelf(ModBlocks.RASPBERRY_CRATE.get()); - add(ModBlocks.LEMONADE_GLASS.get(), noDrop()); + //add(ModBlocks.LEMONADE_GLASS.get(), noDrop()); + //add(ModBlocks.TERRACOTTA_LEMONADE_JUG.get(), noDrop()); } @Override diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java index 454ec3b..1f43f80 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java @@ -135,6 +135,23 @@ protected void buildRecipes(RecipeOutput recipeOutput) { .unlockedBy("has_iron", has(Tags.Items.INGOTS_IRON)) .save(recipeOutput); + // Lemonade Jug/Glass + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.TERRACOTTA_LEMONADE_JUG.get()) + .pattern("# #") + .pattern("# #") + .pattern(" # ") + .define('#', Tags.Items.BRICKS) + .unlockedBy("has_bricks", has(Tags.Items.BRICKS)) + .save(recipeOutput); + + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.LEMONADE_GLASS.get()) + .pattern(" ") + .pattern("# #") + .pattern(" B ") + .define('#', Tags.Items.GLASS_PANES) + .define('B', Tags.Items.GLASS_BLOCKS) + .unlockedBy("has_glass", has(Tags.Items.GLASS_BLOCKS)) + .save(recipeOutput); // get Molds back ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ModItems.PREFORM.get(), 1) diff --git a/src/main/resources/assets/lemonmates/lang/de_de.json b/src/main/resources/assets/lemonmates/lang/de_de.json index 9338ee4..d42b4a3 100644 --- a/src/main/resources/assets/lemonmates/lang/de_de.json +++ b/src/main/resources/assets/lemonmates/lang/de_de.json @@ -99,6 +99,7 @@ "block.lemonmates.lemonade_glass": "Limonaden Glass", "item.lemonmates.crushed_ice": "Eiswürfel", + "block.lemonmates.terracotta_lemonade_jug": "Porzellanlimonadenkrug", "item.lemonmates.citron_lemonade_bucket": "Zitronenlimonaden Eimer", "item.lemonmates.orange_lemonade_bucket": "Orangenlimonaden Eimer", diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index 4c53dfc..9210817 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -99,6 +99,7 @@ "block.lemonmates.lemonade_glass": "Lemonade Glass", "item.lemonmates.ice_cubes": "Ice Cubes", + "block.lemonmates.terracotta_lemonade_jug": "Terracotta Lemonade Jug", "item.lemonmates.citron_lemonade_bucket": "Citron Lemonade Bucket", "item.lemonmates.orange_lemonade_bucket": "Orange Lemonade Bucket", From 2a3e48fc0cdee7edb7fb2c8caaf97c286cce6037 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Fri, 29 May 2026 02:05:11 +0200 Subject: [PATCH 51/76] better creative mode tab icon --- .../lemonmates/AllCreativeModeTabs.java | 18 +- .../doppelr/lemonmates/block/ModBlocks.java | 4 + .../assets/lemonmates/lang/de_de.json | 3 +- .../assets/lemonmates/lang/en_us.json | 1 + .../block/lemonade_glass_decorated.json | 424 ++++++++++++++++++ .../models/item/lemonade_glass_decorated.json | 3 + 6 files changed, 447 insertions(+), 6 deletions(-) create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json create mode 100644 src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index 96dc2d9..6b24e92 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -36,7 +36,6 @@ public class AllCreativeModeTabs { // Misc output.accept(ModBlocks.LEMONADE_GLASS); - output.accept(ModBlocks.TERRACOTTA_LEMONADE_JUG); // Finished Lemonades output.accept(ModItems.CITRON_LEMONADE_BOTTLE); @@ -160,14 +159,12 @@ public class AllCreativeModeTabs { () -> CreativeModeTab.builder() .title(Component.translatable("itemGroup." + LemonMates.MOD_ID + ".serving")) .withTabsBefore(AllCreativeModeTabs.PROCESSING_CREATIVE_TAB.getKey()) - .icon(() -> new ItemStack(ModBlocks.LEMONADE_GLASS.get())) + .icon(() -> new ItemStack(ModBlocks.LEMONADE_GLASS_DECORATED.get())) .displayItems((params, output) -> { - // Fruit - output.accept(ModItems.CITRON_SLICE); - output.accept(ModItems.ORANGE_SLICE); // Glass output.accept(ModBlocks.LEMONADE_GLASS); + output.accept(ModBlocks.TERRACOTTA_LEMONADE_JUG); output.accept(ModItems.ICE_CUBES); // Straws @@ -192,6 +189,17 @@ public class AllCreativeModeTabs { output.accept(ModItems.DRINK_UMBRELLA_2); output.accept(ModItems.DRINK_UMBRELLA_3); output.accept(ModItems.DRINK_UMBRELLA_4); + + // Fruit + output.accept(ModItems.CITRON_SLICE); + output.accept(ModItems.ORANGE_SLICE); + + // Finished Lemonades + output.accept(ModItems.CITRON_LEMONADE_BOTTLE); + output.accept(ModItems.ORANGE_LEMONADE_BOTTLE); + output.accept(ModItems.RASPBERRY_LEMONADE_BOTTLE); + output.accept(ModItems.SUMMERMIX_LEMONADE_BOTTLE); + output.accept(ModItems.WATERMELON_LEMONADE_BOTTLE); }) .build() ); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index f3968b4..b44a981 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -113,6 +113,10 @@ public class ModBlocks { () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of() .sound(SoundType.GLASS) )); + public static final DeferredBlock LEMONADE_GLASS_DECORATED = registerBlock("lemonade_glass_decorated", + () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of() + .sound(SoundType.GLASS) + )); public static final DeferredBlock TERRACOTTA_LEMONADE_JUG = registerBlockWithoutBlockItem("terracotta_lemonade_jug", () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT).noOcclusion())); diff --git a/src/main/resources/assets/lemonmates/lang/de_de.json b/src/main/resources/assets/lemonmates/lang/de_de.json index d42b4a3..8f0ead0 100644 --- a/src/main/resources/assets/lemonmates/lang/de_de.json +++ b/src/main/resources/assets/lemonmates/lang/de_de.json @@ -97,7 +97,8 @@ "block.lemonmates.citron_crate": "Zitronenkiste", "block.lemonmates.raspberry_crate": "Himbeerenkiste", - "block.lemonmates.lemonade_glass": "Limonaden Glass", + "block.lemonmates.lemonade_glass": "Limonadenglass", + "block.lemonmates.lemonade_glass_decorated": "Dekoriertes Limonadenglass", "item.lemonmates.crushed_ice": "Eiswürfel", "block.lemonmates.terracotta_lemonade_jug": "Porzellanlimonadenkrug", diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index 9210817..a36fb1e 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -98,6 +98,7 @@ "block.lemonmates.raspberry_crate": "Raspberry Crate", "block.lemonmates.lemonade_glass": "Lemonade Glass", + "block.lemonmates.lemonade_glass_decorated": "Decorated Lemonade Glass", "item.lemonmates.ice_cubes": "Ice Cubes", "block.lemonmates.terracotta_lemonade_jug": "Terracotta Lemonade Jug", diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json new file mode 100644 index 0000000..8921785 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json @@ -0,0 +1,424 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "render_type": "minecraft:translucent", + "textures": { + "g0": "lemonmates:item/lemonade_glass", + "particle": "lemonmates:item/lemonade_glass", + "s50": "lemonmates:block/flag_color/red", + "s51": "lemonmates:block/flag_color/white", + "s52": "lemonmates:block/flag_color/red", + "s53": "lemonmates:block/flag_color/white", + "s54": "lemonmates:block/flag_color/red", + "u1": "lemonmates:block/drink_umbrella_1" + }, + "elements": [ + { + "name": "north_west", + "from": [5, 0, 5], + "to": [6, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 5]}, + "faces": { + "north": {"uv": [6, 2, 6.5, 5.5], "texture": "#g0"}, + "east": {"uv": [6, 5.5, 6.5, 9], "texture": "#g0"}, + "south": {"uv": [6.5, 2, 7, 5.5], "texture": "#g0"}, + "west": {"uv": [6.5, 5.5, 7, 9], "texture": "#g0"}, + "up": {"uv": [4, 10, 3.5, 9.5], "texture": "#g0"}, + "down": {"uv": [10, 7, 9.5, 7.5], "texture": "#g0"} + } + }, + { + "name": "north_east", + "from": [10, 0, 5], + "to": [11, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 5]}, + "faces": { + "north": {"uv": [7, 2, 7.5, 5.5], "texture": "#g0"}, + "east": {"uv": [4, 7, 4.5, 10.5], "texture": "#g0"}, + "south": {"uv": [4.5, 7, 5, 10.5], "texture": "#g0"}, + "west": {"uv": [5, 7, 5.5, 10.5], "texture": "#g0"}, + "up": {"uv": [10, 8, 9.5, 7.5], "texture": "#g0"}, + "down": {"uv": [10, 8, 9.5, 8.5], "texture": "#g0"} + } + }, + { + "name": "south_east", + "from": [10, 0, 10], + "to": [11, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 10]}, + "faces": { + "north": {"uv": [5.5, 7, 6, 10.5], "texture": "#g0"}, + "east": {"uv": [7, 5.5, 7.5, 9], "texture": "#g0"}, + "south": {"uv": [0, 7.5, 0.5, 11], "texture": "#g0"}, + "west": {"uv": [0.5, 7.5, 1, 11], "texture": "#g0"}, + "up": {"uv": [10, 9, 9.5, 8.5], "texture": "#g0"}, + "down": {"uv": [9.5, 9.5, 9, 10], "texture": "#g0"} + } + }, + { + "name": "south_west", + "from": [5, 0, 10], + "to": [6, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 10]}, + "faces": { + "north": {"uv": [1, 7.5, 1.5, 11], "texture": "#g0"}, + "east": {"uv": [1.5, 7.5, 2, 11], "texture": "#g0"}, + "south": {"uv": [2, 7.5, 2.5, 11], "texture": "#g0"}, + "west": {"uv": [7.5, 2, 8, 5.5], "texture": "#g0"}, + "up": {"uv": [10, 10, 9.5, 9.5], "texture": "#g0"}, + "down": {"uv": [10.5, 0, 10, 0.5], "texture": "#g0"} + } + }, + { + "name": "north", + "from": [6, 6, 5], + "to": [10, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 5]}, + "faces": { + "north": {"uv": [7.5, 5.5, 9.5, 6], "texture": "#g0"}, + "south": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#g0"}, + "up": {"uv": [9.5, 7, 7.5, 6.5], "texture": "#g0"}, + "down": {"uv": [9.5, 7, 7.5, 7.5], "texture": "#g0"} + } + }, + { + "name": "east", + "from": [10, 6, 6], + "to": [11, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 6, 6]}, + "faces": { + "east": {"uv": [7.5, 7.5, 9.5, 8], "texture": "#g0"}, + "west": {"uv": [8, 0, 10, 0.5], "texture": "#g0"}, + "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#g0"}, + "down": {"uv": [3.5, 7.5, 3, 9.5], "texture": "#g0"} + } + }, + { + "name": "south", + "from": [6, 6, 10], + "to": [10, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 10]}, + "faces": { + "north": {"uv": [8, 0.5, 10, 1], "texture": "#g0"}, + "south": {"uv": [8, 1, 10, 1.5], "texture": "#g0"}, + "up": {"uv": [10, 2, 8, 1.5], "texture": "#g0"}, + "down": {"uv": [10, 2, 8, 2.5], "texture": "#g0"} + } + }, + { + "name": "west", + "from": [5, 6, 6], + "to": [6, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 6, 6]}, + "faces": { + "east": {"uv": [8, 2.5, 10, 3], "texture": "#g0"}, + "west": {"uv": [8, 3, 10, 3.5], "texture": "#g0"}, + "up": {"uv": [4, 9.5, 3.5, 7.5], "texture": "#g0"}, + "down": {"uv": [8.5, 3.5, 8, 5.5], "texture": "#g0"} + } + }, + { + "name": "north", + "from": [6, 0, 5], + "to": [10, 1, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, + "faces": { + "north": {"uv": [7.5, 8, 9.5, 8.5], "texture": "#g0"}, + "south": {"uv": [8.5, 3.5, 10.5, 4], "texture": "#g0"}, + "up": {"uv": [10.5, 4.5, 8.5, 4], "texture": "#g0"}, + "down": {"uv": [10.5, 4.5, 8.5, 5], "texture": "#g0"} + } + }, + { + "name": "east", + "from": [10, 0, 6], + "to": [11, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 6]}, + "faces": { + "east": {"uv": [8.5, 5, 10.5, 5.5], "texture": "#g0"}, + "west": {"uv": [7.5, 8.5, 9.5, 9], "texture": "#g0"}, + "up": {"uv": [6.5, 11, 6, 9], "texture": "#g0"}, + "down": {"uv": [7, 9, 6.5, 11], "texture": "#g0"} + } + }, + { + "name": "south", + "from": [6, 0, 10], + "to": [10, 1, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 10]}, + "faces": { + "north": {"uv": [7, 9, 9, 9.5], "texture": "#g0"}, + "south": {"uv": [9, 9, 11, 9.5], "texture": "#g0"}, + "up": {"uv": [11.5, 6, 9.5, 5.5], "texture": "#g0"}, + "down": {"uv": [11.5, 6, 9.5, 6.5], "texture": "#g0"} + } + }, + { + "name": "west", + "from": [5, 0, 6], + "to": [6, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 6]}, + "faces": { + "east": {"uv": [9.5, 6.5, 11.5, 7], "texture": "#g0"}, + "west": {"uv": [7, 9.5, 9, 10], "texture": "#g0"}, + "up": {"uv": [3, 11.5, 2.5, 9.5], "texture": "#g0"}, + "down": {"uv": [3.5, 9.5, 3, 11.5], "texture": "#g0"} + } + }, + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "up": {"uv": [6, 7, 4, 5], "texture": "#g0"}, + "down": {"uv": [8, 0, 6, 2], "texture": "#g0"} + } + }, + { + "name": "west", + "from": [5, 1, 6], + "to": [6, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 6]}, + "faces": { + "east": {"uv": [0, 0, 2, 2.5], "texture": "#g0"}, + "west": {"uv": [2, 0, 4, 2.5], "texture": "#g0"} + } + }, + { + "name": "east", + "from": [10, 1, 6], + "to": [11, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 6]}, + "faces": { + "east": {"uv": [0, 2.5, 2, 5], "texture": "#g0"}, + "west": {"uv": [2, 2.5, 4, 5], "texture": "#g0"} + } + }, + { + "name": "north", + "from": [6, 1, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 5]}, + "faces": { + "north": {"uv": [4, 0, 6, 2.5], "texture": "#g0"}, + "south": {"uv": [4, 2.5, 6, 5], "texture": "#g0"} + } + }, + { + "name": "south", + "from": [6, 1, 10], + "to": [10, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 10]}, + "faces": { + "north": {"uv": [0, 5, 2, 7.5], "texture": "#g0"}, + "south": {"uv": [2, 5, 4, 7.5], "texture": "#g0"} + } + }, + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + }, + { + "name": "shaft", + "from": [9, 5, 5.5], + "to": [10, 10, 6.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "east": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "south": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "west": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "up": {"uv": [6, 4, 5, 3], "texture": "#u1"}, + "down": {"uv": [6, 3, 5, 4], "texture": "#u1"} + } + }, + { + "name": "top", + "from": [7, 9.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [1, 0, 6, 0], "texture": "#u1"}, + "east": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "south": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "west": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "up": {"uv": [5, 5, 0, 0], "texture": "#u1"}, + "down": {"uv": [5, 0, 0, 5], "texture": "#u1"} + } + }, + { + "name": "north", + "from": [7, 8.5, 3.5], + "to": [12, 9.5, 3.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "south", + "from": [7, 8.5, 8.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "west", + "from": [7, 8.5, 3.5], + "to": [7, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + }, + { + "name": "east", + "from": [12, 8.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 5.25, 1.5], + "scale": [0.67, 0.67, 0.67] + }, + "thirdperson_lefthand": { + "translation": [0, 5.25, 1.5], + "scale": [0.67, 0.67, 0.67] + }, + "firstperson_righthand": { + "translation": [0, 6, 0], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "translation": [0, 6, 0], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 3.5, 0], + "scale": [0.68, 0.68, 0.68] + }, + "gui": { + "rotation": [22.5, -22.5, 0], + "translation": [0, 3.5, 0] + }, + "head": { + "translation": [0, 14.5, 0] + }, + "on_shelf": { + "scale": [1.87, 1.87, 1.87] + } + }, + "groups": [ + { + "name": "edges", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "top_edges", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7] + }, + { + "name": "bottom_edges", + "origin": [8, 8, 8], + "color": 0, + "children": [8, 9, 10, 11] + }, + { + "name": "faces", + "origin": [8, 8, 8], + "color": 0, + "children": [12, 13, 14, 15, 16] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json b/src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json new file mode 100644 index 0000000..1f4b947 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/lemonade_glass_decorated" +} \ No newline at end of file From 911cf98b1a57652f9277621b3e9962164c99bd83 Mon Sep 17 00:00:00 2001 From: Dakota Date: Thu, 28 May 2026 21:03:26 -0500 Subject: [PATCH 52/76] Waterloggable + slight adjustments --- .../lemonmates/AllCreativeModeTabs.java | 8 +++- .../doppelr/lemonmates/block/ModBlocks.java | 3 +- .../block/ModDrinkingGlassBlock.java | 44 ++++++++++++++++--- .../doppelr/lemonmates/block/ModJugBlock.java | 27 ++++++++++-- .../block/entity/ModBlockEntities.java | 9 ---- .../entity/LemonadeglassEntity.java | 40 ----------------- 6 files changed, 70 insertions(+), 61 deletions(-) delete mode 100644 src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index 96dc2d9..df05a30 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -7,6 +7,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.CreativeModeTabs; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredRegister; @@ -16,6 +17,11 @@ public class AllCreativeModeTabs { public static final DeferredRegister CREATIVE_MODE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, LemonMates.MOD_ID); + private static ItemStack lemonadeJugStack(ItemStack stack) { + stack.set(AllDataComponents.CAN_POUR, false); + return stack; + } + public static final DeferredHolder BASE_CREATIVE_TAB = CREATIVE_MODE_TABS.register("base", () -> CreativeModeTab.builder() .title(Component.translatable("itemGroup." + LemonMates.MOD_ID + ".base")) @@ -36,7 +42,7 @@ public class AllCreativeModeTabs { // Misc output.accept(ModBlocks.LEMONADE_GLASS); - output.accept(ModBlocks.TERRACOTTA_LEMONADE_JUG); + output.accept(lemonadeJugStack(ModBlocks.TERRACOTTA_LEMONADE_JUG.toStack())); // Finished Lemonades output.accept(ModItems.CITRON_LEMONADE_BOTTLE); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index 9b4add5..324bbe5 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -10,6 +10,7 @@ import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.properties.BlockSetType; import net.minecraft.world.level.block.state.properties.WoodType; +import net.minecraft.world.level.material.PushReaction; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredRegister; @@ -111,7 +112,7 @@ public class ModBlocks { public static final DeferredBlock LEMONADE_GLASS = registerBlock("lemonade_glass", () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of() - .sound(SoundType.GLASS) + .sound(SoundType.GLASS).pushReaction(PushReaction.DESTROY) )); public static final DeferredBlock TERRACOTTA_LEMONADE_JUG = registerBlockWithoutBlockItem("terracotta_lemonade_jug", diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index 4c55ce1..eb4c499 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -28,13 +28,19 @@ import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.SimpleWaterloggedBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; @@ -42,7 +48,7 @@ import java.util.List; -public class ModDrinkingGlassBlock extends HorizontalDirectionalBlock { +public class ModDrinkingGlassBlock extends HorizontalDirectionalBlock implements SimpleWaterloggedBlock { public static final MapCodec CODEC = simpleCodec(ModDrinkingGlassBlock::new); private static final VoxelShape SHAPE = Block.box(5.0, 0, 5, 11, 7, 11); @@ -52,6 +58,7 @@ public class ModDrinkingGlassBlock extends HorizontalDirectionalBlock { public static final EnumProperty FRUIT_SLICE = AllBlockStateProperties.FRUIT_SLICES; public static final EnumProperty UMBRELLA = AllBlockStateProperties.UMBRELLAS; public static final BooleanProperty ICE_CUBES = AllBlockStateProperties.ICE_CUBES; + public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; protected ModDrinkingGlassBlock(Properties properties) { super(properties); @@ -62,7 +69,22 @@ protected ModDrinkingGlassBlock(Properties properties) { .setValue(STRAW, StrawsVariants.NONE) .setValue(FRUIT_SLICE, FruitSlices.NONE) .setValue(UMBRELLA, UmbrellaVariants.NONE) - .setValue(ICE_CUBES, false)); + .setValue(ICE_CUBES, false) + .setValue(WATERLOGGED, false)); + } + + @Override + protected BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor level, BlockPos currentPos, BlockPos facingPos) { + if (state.getValue(WATERLOGGED)) { + level.scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickDelay(level)); + } + + return super.updateShape(state, facing, facingState, level, currentPos, facingPos); + } + + @Override + protected FluidState getFluidState(BlockState state) { + return state.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : super.getFluidState(state); } public void customConsumptionBehaviours(BlockState state, Player player) {} @@ -248,8 +270,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev return super.useItemOn(stack, state, level, pos, player, hand, hitResult); } - @Override - public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, Player player) { + public void destroyReaction(Level level, BlockPos pos, BlockState state) { if (!level.isClientSide) { ItemStack itemStack = new ItemStack(this); int drinkLevel = state.getValue(DRINK_LEVEL); @@ -273,6 +294,11 @@ public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, itemEntity.setDefaultPickUpDelay(); level.addFreshEntity(itemEntity); } + } + + @Override + public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, Player player) { + this.destroyReaction(level, pos, state); return super.playerWillDestroy(level, pos, state, player); } @@ -280,8 +306,12 @@ public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); - if (stack.has(DataComponents.BLOCK_STATE)) - tooltipComponents.add(Component.literal("Has Decorations Applied").withStyle(ChatFormatting.ITALIC, ChatFormatting.GRAY)); + BlockItemStateProperties dataComponentType = stack.get(DataComponents.BLOCK_STATE); + if (dataComponentType != null) + if ((dataComponentType.get(AllBlockStateProperties.STRAWS) != null && dataComponentType.get(AllBlockStateProperties.STRAWS) != StrawsVariants.NONE) + || (dataComponentType.get(AllBlockStateProperties.FRUIT_SLICES) != null && dataComponentType.get(AllBlockStateProperties.FRUIT_SLICES) != FruitSlices.NONE) + || (dataComponentType.get(AllBlockStateProperties.UMBRELLAS) != null && dataComponentType.get(AllBlockStateProperties.UMBRELLAS) != UmbrellaVariants.NONE)) + tooltipComponents.add(Component.literal("Has Decorations Applied").withStyle(ChatFormatting.ITALIC, ChatFormatting.GRAY)); } @Override @@ -302,6 +332,6 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { @Override protected void createBlockStateDefinition(StateDefinition.Builder builder) { - builder.add(FACING, STRAW, FRUIT_SLICE, UMBRELLA, DRINK_LEVEL, ICE_CUBES, FLUID); + builder.add(FACING, STRAW, FRUIT_SLICE, UMBRELLA, DRINK_LEVEL, ICE_CUBES, FLUID, WATERLOGGED); } } diff --git a/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java index 913d468..d87c368 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java @@ -4,6 +4,7 @@ import net.doppelr.lemonmates.AllDataComponents; import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; import net.minecraft.core.component.DataComponentMap; import net.minecraft.core.component.DataComponents; import net.minecraft.world.entity.item.ItemEntity; @@ -12,24 +13,44 @@ import net.minecraft.world.item.component.BlockItemStateProperties; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SimpleWaterloggedBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class ModJugBlock extends Block { +public class ModJugBlock extends Block implements SimpleWaterloggedBlock { private static final VoxelShape SHAPE = Block.box(5, 0, 5, 11, 10, 11); public static final IntegerProperty JUG_LEVEL = AllBlockStateProperties.JUG_LEVEL; public static final EnumProperty FLUID = AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER; public static final BooleanProperty CAN_POUR = AllBlockStateProperties.CAN_POUR; + public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; public ModJugBlock(Properties properties) { super(properties); - this.registerDefaultState(this.defaultBlockState().setValue(JUG_LEVEL, 0).setValue(FLUID, ApplicableFluidsToFluidContainer.NONE).setValue(CAN_POUR, false)); + this.registerDefaultState(this.defaultBlockState().setValue(JUG_LEVEL, 0).setValue(FLUID, ApplicableFluidsToFluidContainer.NONE).setValue(CAN_POUR, false).setValue(WATERLOGGED, false)); + } + + @Override + protected BlockState updateShape(BlockState state, Direction facing, BlockState facingState, LevelAccessor level, BlockPos currentPos, BlockPos facingPos) { + if (state.getValue(WATERLOGGED)) { + level.scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickDelay(level)); + } + + return super.updateShape(state, facing, facingState, level, currentPos, facingPos); + } + + @Override + protected FluidState getFluidState(BlockState state) { + return state.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : super.getFluidState(state); } @Override @@ -67,6 +88,6 @@ protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, @Override protected void createBlockStateDefinition(StateDefinition.Builder builder) { - builder.add(JUG_LEVEL, FLUID, CAN_POUR); + builder.add(JUG_LEVEL, FLUID, CAN_POUR, WATERLOGGED); } } diff --git a/src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java b/src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java index f6ade35..71507d3 100644 --- a/src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java +++ b/src/main/java/net/doppelr/lemonmates/block/entity/ModBlockEntities.java @@ -2,15 +2,12 @@ import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.block.ModBlocks; -import net.doppelr.lemonmates.entity.LemonadeglassEntity; 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; -import java.util.function.Supplier; - public class ModBlockEntities { public static DeferredRegister> BLOCK_ENTITIES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, LemonMates.MOD_ID); @@ -27,12 +24,6 @@ public class ModBlockEntities { 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 final Supplier> LEMONADE_GLASS_ENTITY = - BLOCK_ENTITIES.register("lemonade_glass_entity", () -> - BlockEntityType.Builder.of(LemonadeglassEntity::new, - ModBlocks.LEMONADE_GLASS.get()).build(null) - ); - public static void register(IEventBus eventBus) { BLOCK_ENTITIES.register(eventBus); } diff --git a/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java b/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java deleted file mode 100644 index ac3324d..0000000 --- a/src/main/java/net/doppelr/lemonmates/entity/LemonadeglassEntity.java +++ /dev/null @@ -1,40 +0,0 @@ -package net.doppelr.lemonmates.entity; - -import net.doppelr.lemonmates.block.entity.ModBlockEntities; -import net.minecraft.core.BlockPos; -import net.minecraft.core.HolderLookup; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.state.BlockState; - -public class LemonadeglassEntity extends BlockEntity { - private int hasSlice; // 0 = none, 1 = orange, 2 = lemon - private String lemonade; // none, citronFull, citronHalf, orangeFull, orangeHalf, raspberryFull, raspberryHalf, summerFull, summerHalf, watermelonFull, watermelonHalf - private int umbrellaMain; // 0 = white, 1 = light gray, 2 = gray, 3 = black, 4 = brown, 5 = red, 6 = orange, 7 = yellow, 8 = lime, 9 = green, 10 = cyan, 11 = light blue, 12 = blue, 13 = purple, 14 = magenta, 15 = pink - private int umbrellaSecondary; // 0 = white, 1 = light gray, 2 = gray, 3 = black, 4 = brown, 5 = red, 6 = orange, 7 = yellow, 8 = lime, 9 = green, 10 = cyan, 11 = light blue, 12 = blue, 13 = purple, 14 = magenta, 15 = pink - private int straw; // 0 = none, 1 = red/white, 2 = rainbow, 3 = trans, 4 = nonbinary, 5 = lesbian, 6 = gay, 7 = genderfluid, 8 = ace, 9 = aro, 10 = agender, 11 = aroace, 12 = bisexual, 13 = pansexual - - public LemonadeglassEntity(BlockPos pos, BlockState state) { - super(ModBlockEntities.LEMONADE_GLASS_ENTITY.get(), pos, state); - } - - @Override - public void loadAdditional(CompoundTag tag, HolderLookup.Provider registries) { - super.loadAdditional(tag, registries); - this.hasSlice = tag.getInt("hasSlice"); - this.lemonade = tag.getString("lemonade"); - this.umbrellaMain = tag.getInt("umbrellaMain"); - this.umbrellaSecondary = tag.getInt("umbrellaSecondary"); - this.straw = tag.getInt("straw"); - } - - @Override - public void saveAdditional(CompoundTag tag, HolderLookup.Provider registries) { - super.saveAdditional(tag, registries); - tag.putInt("hasSlice", this.hasSlice); - tag.putString("lemonade", this.lemonade); - tag.putInt("umbrellaMain", this.umbrellaMain); - tag.putInt("umbrellaSecondary", this.umbrellaSecondary); - tag.putInt("straw", this.straw); - } -} From 44823afa2af9f4d36c0b51df10b912c183a13d5a Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Fri, 29 May 2026 23:24:14 +0200 Subject: [PATCH 53/76] I got a jug of issues --- .../lemonmates/AllCreativeModeTabs.java | 3 +- .../net/doppelr/lemonmates/LemonMates.java | 24 + .../doppelr/lemonmates/block/ModBlocks.java | 14 +- .../datagen/ModBlockLootTableProvider.java | 2 +- .../lemonmates/datagen/ModRecipeProvider.java | 2 +- .../net/doppelr/lemonmates/item/ModItems.java | 5 +- .../blockstates/lemonade_glass_decorated.json | 1122 +++++++++++++++++ ..._jug.json => lemonade_jug_terracotta.json} | 16 +- .../assets/lemonmates/lang/de_de.json | 4 +- .../assets/lemonmates/lang/en_us.json | 6 +- .../models/block/lemonade_jug_terracotta.json | 4 +- ..._jug.json => lemonade_jug_terracotta.json} | 0 12 files changed, 1180 insertions(+), 22 deletions(-) create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json rename src/main/resources/assets/lemonmates/blockstates/{terracotta_lemonade_jug.json => lemonade_jug_terracotta.json} (82%) rename src/main/resources/assets/lemonmates/models/item/{terracotta_lemonade_jug.json => lemonade_jug_terracotta.json} (100%) diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index 6b24e92..8a708cb 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -6,7 +6,6 @@ import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.CreativeModeTabs; import net.minecraft.world.item.ItemStack; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredRegister; @@ -164,7 +163,7 @@ public class AllCreativeModeTabs { // Glass output.accept(ModBlocks.LEMONADE_GLASS); - output.accept(ModBlocks.TERRACOTTA_LEMONADE_JUG); + output.accept(ModBlocks.LEMONADE_JUG_TERRACOTTA); output.accept(ModItems.ICE_CUBES); // Straws diff --git a/src/main/java/net/doppelr/lemonmates/LemonMates.java b/src/main/java/net/doppelr/lemonmates/LemonMates.java index 88ed001..67265bb 100644 --- a/src/main/java/net/doppelr/lemonmates/LemonMates.java +++ b/src/main/java/net/doppelr/lemonmates/LemonMates.java @@ -1,17 +1,27 @@ package net.doppelr.lemonmates; import com.mojang.logging.LogUtils; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.simibubi.create.foundation.item.ItemDescription; +import com.simibubi.create.foundation.item.KineticStats; +import com.simibubi.create.foundation.item.TooltipModifier; +import com.tterrag.registrate.Registrate; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.createmod.catnip.lang.FontHelper; import net.doppelr.lemonmates.block.ModBlocks; import net.doppelr.lemonmates.block.entity.ModBlockEntities; import net.doppelr.lemonmates.datagen.DataGenerators; import net.doppelr.lemonmates.entity.ModEntities; import net.doppelr.lemonmates.fluid.ModFluids; import net.doppelr.lemonmates.item.ModItems; +import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.CreativeModeTab; import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.ModContainer; import net.neoforged.fml.common.Mod; import org.slf4j.Logger; +import org.w3c.dom.DOMImplementationList; @Mod(LemonMates.MOD_ID) public class LemonMates { @@ -32,7 +42,21 @@ public LemonMates(IEventBus modEventBus, ModContainer modContainer) { modEventBus.addListener(DataGenerators::gatherData); } + public static final NonNullSupplier REGISTRATE = + NonNullSupplier.lazy(() -> CreateRegistrate.create(MOD_ID)); + + + static { + REGISTRATE.get().setTooltipModifierFactory(item -> new ItemDescription.Modifier(item, FontHelper.Palette.STANDARD_CREATE)); + } + + public static CreateRegistrate registrate() { + return REGISTRATE.get(); + } + public static ResourceLocation rl(String path){ return ResourceLocation.fromNamespaceAndPath(MOD_ID, path); } + + } diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index b44a981..f23356d 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -1,9 +1,12 @@ package net.doppelr.lemonmates.block; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonNullUnaryOperator; import net.doppelr.lemonmates.AllWoodTypes; import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.item.ModItems; import net.doppelr.lemonmates.worldgen.tree.ModTreeGrowers; +import net.minecraft.client.renderer.RenderType; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.*; @@ -118,8 +121,15 @@ public class ModBlocks { .sound(SoundType.GLASS) )); - public static final DeferredBlock TERRACOTTA_LEMONADE_JUG = registerBlockWithoutBlockItem("terracotta_lemonade_jug", - () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT).noOcclusion())); + //public static final DeferredBlock LEMONADE_JUG_TERRACOTTA = registerBlockWithoutBlockItem("lemonade_jug_terracotta", + // () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT).noOcclusion())); + + public static final BlockEntry LEMONADE_JUG_TERRACOTTA = LemonMates.registrate().block("lemonade_jug_terracotta", Block::new) + .addLayer(() -> RenderType::cutout) + .initialProperties(() -> Blocks.FLOWER_POT) + .properties(BlockBehaviour.Properties::noOcclusion) + .properties((NonNullUnaryOperator) new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))) + .simpleItem().register(); private static DeferredBlock registerBlockWithoutBlockItem(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java index 8b0864a..2c63985 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java @@ -126,7 +126,7 @@ protected void generate() { dropSelf(ModBlocks.RASPBERRY_CRATE.get()); //add(ModBlocks.LEMONADE_GLASS.get(), noDrop()); - //add(ModBlocks.TERRACOTTA_LEMONADE_JUG.get(), noDrop()); + //add(ModBlocks.LEMONADE_JUG_TERRACOTTA.get(), noDrop()); } @Override diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java index 1f43f80..bd7e42d 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java @@ -136,7 +136,7 @@ protected void buildRecipes(RecipeOutput recipeOutput) { .save(recipeOutput); // Lemonade Jug/Glass - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.TERRACOTTA_LEMONADE_JUG.get()) + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.LEMONADE_JUG_TERRACOTTA.get()) .pattern("# #") .pattern("# #") .pattern(" # ") diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index e76765a..5878ea1 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -1,6 +1,7 @@ package net.doppelr.lemonmates.item; import com.simibubi.create.content.processing.sequenced.SequencedAssemblyItem; +import com.tterrag.registrate.util.entry.ItemEntry; import net.doppelr.lemonmates.AllFoodProperties; import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.block.ModBlocks; @@ -191,8 +192,8 @@ public class ModItems { public static final DeferredItem DRINK_UMBRELLA_4 = ITEMS.register("drink_umbrella_4", () -> new Item(new Item.Properties())); - public static final DeferredItem TERRACOTTA_LEMONADE_JUG = ITEMS.register("terracotta_lemonade_jug", - () -> new ModJugItem(ModBlocks.TERRACOTTA_LEMONADE_JUG.get(), new Item.Properties().stacksTo(1))); + public static final DeferredItem LEMONADE_JUG_TERRACOTTA = ITEMS.register("lemonade_jug_terracotta", + () -> new ModJugItem(ModBlocks.LEMONADE_JUG_TERRACOTTA.get(), new Item.Properties().stacksTo(1))); // Serving related public static final DeferredItem ICE_CUBES = ITEMS.register("ice_cubes", diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json new file mode 100644 index 0000000..908bc78 --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json @@ -0,0 +1,1122 @@ +{ + "multipart": [ + { + "when": { + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass" + } + }, + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full" + } + }, + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow" + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full" + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half" + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/lemon_slice" + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/orange_slice" + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1" + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2" + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3" + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4" + } + }, + { + "when": { + "straw": "basic", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_basic" + } + }, + { + "when": { + "straw": "rainbow", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow" + } + }, + { + "when": { + "straw": "trans", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_trans" + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary" + } + }, + { + "when": { + "straw": "lesbian", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian" + } + }, + { + "when": { + "straw": "gay", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_gay" + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid" + } + }, + { + "when": { + "straw": "ace", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_ace" + } + }, + { + "when": { + "straw": "aro", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_aro" + } + }, + { + "when": { + "straw": "aroace", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_aroace" + } + }, + { + "when": { + "straw": "agender", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_agender" + } + }, + { + "when": { + "straw": "bi", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_bi" + } + }, + { + "when": { + "straw": "pan", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_pan" + } + }, + { + "when": { + "straw": "german", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_german" + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual" + } + }, + + + { + "when": { + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "y": 180 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 180 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 180 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 180 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 180 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 180 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 180 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 180 + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 180 + } + }, + { + "when": { + "straw": "basic", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 180 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 180 + } + }, + { + "when": { + "straw": "trans", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 180 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 180 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 180 + } + }, + { + "when": { + "straw": "gay", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 180 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 180 + } + }, + { + "when": { + "straw": "ace", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 180 + } + }, + { + "when": { + "straw": "aro", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 180 + } + }, + { + "when": { + "straw": "aroace", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 180 + } + }, + { + "when": { + "straw": "agender", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 180 + } + }, + { + "when": { + "straw": "bi", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 180 + } + }, + { + "when": { + "straw": "pan", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 180 + } + }, + { + "when": { + "straw": "german", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 180 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 180 + } + }, + + + { + "when": { + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "y": 90 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 90 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 90 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 90 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 90 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 90 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 90 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 90 + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 90 + } + }, + { + "when": { + "straw": "basic", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 90 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 90 + } + }, + { + "when": { + "straw": "trans", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 90 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 90 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 90 + } + }, + { + "when": { + "straw": "gay", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 90 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 90 + } + }, + { + "when": { + "straw": "ace", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 90 + } + }, + { + "when": { + "straw": "aro", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 90 + } + }, + { + "when": { + "straw": "aroace", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 90 + } + }, + { + "when": { + "straw": "agender", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 90 + } + }, + { + "when": { + "straw": "bi", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 90 + } + }, + { + "when": { + "straw": "pan", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 90 + } + }, + { + "when": { + "straw": "german", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 90 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 90 + } + }, + + + { + "when": { + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "y": 270 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 270 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 270 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 270 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 270 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 270 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 270 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 270 + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 270 + } + }, + { + "when": { + "straw": "basic", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 270 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 270 + } + }, + { + "when": { + "straw": "trans", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 270 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 270 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 270 + } + }, + { + "when": { + "straw": "gay", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 270 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 270 + } + }, + { + "when": { + "straw": "ace", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 270 + } + }, + { + "when": { + "straw": "aro", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 270 + } + }, + { + "when": { + "straw": "aroace", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 270 + } + }, + { + "when": { + "straw": "agender", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 270 + } + }, + { + "when": { + "straw": "bi", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 270 + } + }, + { + "when": { + "straw": "pan", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 270 + } + }, + { + "when": { + "straw": "german", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 270 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 270 + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/terracotta_lemonade_jug.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_terracotta.json similarity index 82% rename from src/main/resources/assets/lemonmates/blockstates/terracotta_lemonade_jug.json rename to src/main/resources/assets/lemonmates/blockstates/lemonade_jug_terracotta.json index 5689864..93e203f 100644 --- a/src/main/resources/assets/lemonmates/blockstates/terracotta_lemonade_jug.json +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_terracotta.json @@ -8,7 +8,7 @@ { "when": { "jug_level": "1", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_jug_fluid_1" @@ -17,7 +17,7 @@ { "when": { "jug_level": "2", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_jug_fluid_2" @@ -26,7 +26,7 @@ { "when": { "jug_level": "3", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_jug_fluid_3" @@ -35,7 +35,7 @@ { "when": { "jug_level": "4", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_jug_fluid_4" @@ -44,7 +44,7 @@ { "when": { "jug_level": "5", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_jug_fluid_5" @@ -53,7 +53,7 @@ { "when": { "jug_level": "6", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_jug_fluid_6" @@ -62,7 +62,7 @@ { "when": { "jug_level": "7", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_jug_fluid_7" @@ -71,7 +71,7 @@ { "when": { "jug_level": "8", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_jug_fluid_8" diff --git a/src/main/resources/assets/lemonmates/lang/de_de.json b/src/main/resources/assets/lemonmates/lang/de_de.json index 8f0ead0..97709e6 100644 --- a/src/main/resources/assets/lemonmates/lang/de_de.json +++ b/src/main/resources/assets/lemonmates/lang/de_de.json @@ -99,8 +99,8 @@ "block.lemonmates.lemonade_glass": "Limonadenglass", "block.lemonmates.lemonade_glass_decorated": "Dekoriertes Limonadenglass", - "item.lemonmates.crushed_ice": "Eiswürfel", - "block.lemonmates.terracotta_lemonade_jug": "Porzellanlimonadenkrug", + "item.lemonmates.ice_cubes": "Eiswürfel", + "block.lemonmates.lemonade_jug_terracotta": "Porzellanlimonadenkrug", "item.lemonmates.citron_lemonade_bucket": "Zitronenlimonaden Eimer", "item.lemonmates.orange_lemonade_bucket": "Orangenlimonaden Eimer", diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index a36fb1e..8b7dad4 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -100,7 +100,7 @@ "block.lemonmates.lemonade_glass": "Lemonade Glass", "block.lemonmates.lemonade_glass_decorated": "Decorated Lemonade Glass", "item.lemonmates.ice_cubes": "Ice Cubes", - "block.lemonmates.terracotta_lemonade_jug": "Terracotta Lemonade Jug", + "block.lemonmates.lemonade_jug_terracotta": "Terracotta Lemonade Jug", "item.lemonmates.citron_lemonade_bucket": "Citron Lemonade Bucket", "item.lemonmates.orange_lemonade_bucket": "Orange Lemonade Bucket", @@ -170,5 +170,7 @@ "tag.fluid.lemonmates.lemonades.summermix": "Summer-Mix Lemonade", "tag.fluid.lemonmates.lemonades.watermelon": "Watermelon Lemonade", "tag.fluid.c.lemonades": "Lemonades", - "tag.fluid.c.plastic": "Plastic" + "tag.fluid.c.plastic": "Plastic", + + "item.lemonmates.lemonade_jug_terracotta.tooltip.summary": "This is a _Test_ Tooltip." } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json index 221f178..ba6b810 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json @@ -4,8 +4,8 @@ "render_type": "minecraft:cutout", "texture_size": [32, 32], "textures": { - "jc": "lemonmates:item/lemonade_jug_hardened_clay", - "particle": "lemonmates:item/lemonade_jug_hardened_clay" + "jc": "lemonmates:block/lemonade_jug_hardened_clay", + "particle": "lemonmates:block/lemonade_jug_hardened_clay" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/item/terracotta_lemonade_jug.json b/src/main/resources/assets/lemonmates/models/item/lemonade_jug_terracotta.json similarity index 100% rename from src/main/resources/assets/lemonmates/models/item/terracotta_lemonade_jug.json rename to src/main/resources/assets/lemonmates/models/item/lemonade_jug_terracotta.json From 97f927e4a13c1789bf27eff959740e9def85a1ae Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Fri, 29 May 2026 23:26:56 +0200 Subject: [PATCH 54/76] I got a jug of issues --- src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index fea77ea..6267aff 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -42,7 +42,6 @@ private static ItemStack lemonadeJugStack(ItemStack stack) { // Misc output.accept(ModBlocks.LEMONADE_GLASS); - output.accept(lemonadeJugStack(ModBlocks.TERRACOTTA_LEMONADE_JUG.toStack())); // Finished Lemonades output.accept(ModItems.CITRON_LEMONADE_BOTTLE); @@ -171,7 +170,7 @@ private static ItemStack lemonadeJugStack(ItemStack stack) { // Glass output.accept(ModBlocks.LEMONADE_GLASS); - output.accept(ModBlocks.TERRACOTTA_LEMONADE_JUG); + output.accept(ModBlocks.LEMONADE_JUG_TERRACOTTA); output.accept(ModItems.ICE_CUBES); // Straws From b5160f9e22e868396fa53f26b82e6f120cde63a6 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Fri, 29 May 2026 23:50:24 +0200 Subject: [PATCH 55/76] removed unused imports and files --- .../lemonmates/AllCreativeModeTabs.java | 2 -- .../net/doppelr/lemonmates/LemonMates.java | 6 ----- .../block/ModDrinkingGlassBlock.java | 1 - .../event/LemonadeglassInteractionEvent.java | 24 ------------------- .../net/doppelr/lemonmates/item/ModItems.java | 1 - 5 files changed, 34 deletions(-) delete mode 100644 src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index 6267aff..62d3f59 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -6,8 +6,6 @@ import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.CreativeModeTabs; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredRegister; diff --git a/src/main/java/net/doppelr/lemonmates/LemonMates.java b/src/main/java/net/doppelr/lemonmates/LemonMates.java index 67265bb..110f1a6 100644 --- a/src/main/java/net/doppelr/lemonmates/LemonMates.java +++ b/src/main/java/net/doppelr/lemonmates/LemonMates.java @@ -3,9 +3,6 @@ import com.mojang.logging.LogUtils; import com.simibubi.create.foundation.data.CreateRegistrate; import com.simibubi.create.foundation.item.ItemDescription; -import com.simibubi.create.foundation.item.KineticStats; -import com.simibubi.create.foundation.item.TooltipModifier; -import com.tterrag.registrate.Registrate; import com.tterrag.registrate.util.nullness.NonNullSupplier; import net.createmod.catnip.lang.FontHelper; import net.doppelr.lemonmates.block.ModBlocks; @@ -14,14 +11,11 @@ import net.doppelr.lemonmates.entity.ModEntities; import net.doppelr.lemonmates.fluid.ModFluids; import net.doppelr.lemonmates.item.ModItems; -import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.CreativeModeTab; import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.ModContainer; import net.neoforged.fml.common.Mod; import org.slf4j.Logger; -import org.w3c.dom.DOMImplementationList; @Mod(LemonMates.MOD_ID) public class LemonMates { diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index eb4c499..1cc5ffb 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -38,7 +38,6 @@ import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.block.state.properties.IntegerProperty; -import net.minecraft.world.level.material.Fluid; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.phys.BlockHitResult; diff --git a/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java b/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java deleted file mode 100644 index de13c6b..0000000 --- a/src/main/java/net/doppelr/lemonmates/event/LemonadeglassInteractionEvent.java +++ /dev/null @@ -1,24 +0,0 @@ -package net.doppelr.lemonmates.event; - -public class LemonadeglassInteractionEvent { - // glass is clicked with decoration item - decoration is applied - // glass is click-held with empty hand - lemonade is drank - // glass is click-held with filled jug - lemonade is filled - - // https://docs.neoforged.net/docs/items/interactions - // https://docs.neoforged.net/docs/entities/renderer - // - // custom interaction logic - // if interaction - // get target - // if not glass - // return; - // if applicable item - // apply item to data if not present yet - // consume item once - // update model to reflect changes - // return - // if no item - // reduce lemonade by 1 level if possible - // update model e -} diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index 5878ea1..3945e23 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -1,7 +1,6 @@ package net.doppelr.lemonmates.item; import com.simibubi.create.content.processing.sequenced.SequencedAssemblyItem; -import com.tterrag.registrate.util.entry.ItemEntry; import net.doppelr.lemonmates.AllFoodProperties; import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.block.ModBlocks; From 29e3d008d111799d525f33acfe939d72fb12a80f Mon Sep 17 00:00:00 2001 From: Dakota Date: Sat, 30 May 2026 08:41:14 -0500 Subject: [PATCH 56/76] Adjustments/Fixes + LemonMatesTooltipUtils.java --- .../3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c | 4 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 5 +- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 8 +- .../create/tags/item/upright_on_belt.json | 2 + ..._jug.json => lemonade_jug_terracotta.json} | 4 +- .../loot_table/blocks/lemonade_glass.json | 4 + .../blocks/lemonade_glass_decorated.json | 4 + .../blocks/lemonade_jug_terracotta.json | 4 + ..._jug.json => lemonade_jug_terracotta.json} | 2 +- .../lemonmates/AllCreativeModeTabs.java | 29 +-- .../net/doppelr/lemonmates/LemonMates.java | 18 +- .../lemonmates/LemonMatesTooltipUtils.java | 103 +++++++++ .../doppelr/lemonmates/block/ModBlocks.java | 15 +- .../block/ModDrinkingGlassBlock.java | 208 +++++++----------- .../ApplicableFluidsToFluidContainer.java | 4 +- .../block/properties/StrawsVariants.java | 66 ++++-- .../block/properties/UmbrellaVariants.java | 42 +++- .../datagen/ModBlockLootTableProvider.java | 7 +- .../datagen/ModItemTagProvider.java | 31 +-- .../net/doppelr/lemonmates/item/ModItems.java | 56 ++--- .../doppelr/lemonmates/item/ModJugItem.java | 35 +-- .../assets/lemonmates/lang/en_us.json | 6 +- .../models/block/lemonade_jug_terracotta.json | 4 +- ...d_clay.png => lemonade_jug_terracotta.png} | Bin 24 files changed, 368 insertions(+), 293 deletions(-) rename src/generated/resources/data/lemonmates/advancement/recipes/misc/{terracotta_lemonade_jug.json => lemonade_jug_terracotta.json} (83%) create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_jug_terracotta.json rename src/generated/resources/data/lemonmates/recipe/{terracotta_lemonade_jug.json => lemonade_jug_terracotta.json} (81%) create mode 100644 src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java rename src/main/resources/assets/lemonmates/textures/block/{lemonade_jug_hardened_clay.png => lemonade_jug_terracotta.png} (100%) diff --git a/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c b/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c index 8c80053..518b066 100644 --- a/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c +++ b/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c @@ -1,5 +1,5 @@ -// 1.21.1 2026-05-24T05:53:10.9684448 Tags for minecraft:item mod id lemonmates -c3b5fb89d505d662d95dfee5f9199f6ea85224c5 data/create/tags/item/upright_on_belt.json +// 1.21.1 2026-05-29T19:22:40.1888447 Tags for minecraft:item mod id lemonmates +d231b55caa33415899617007b0dbfbc428a9495d data/create/tags/item/upright_on_belt.json 28511dee5e7f0634f2aece3397d9ffd9274aefed data/c/tags/item/buckets.json 0c38161e712608c74a46b6afa4e53a0a4e1ee80f data/c/tags/item/buckets/plastic.json 82c82b1bb47c267ab2926e6ce0705705f1ae5c7e data/c/tags/item/drinks.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 44fdd9f..5782516 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21.1 2026-05-28T23:38:51.8802081 Loot Tables +// 1.21.1 2026-05-29T19:22:40.1918185 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 @@ -18,6 +18,8 @@ be56f3f3d40997839e2f5cafbdd671ad138bff15 data/lemonmates/loot_table/blocks/citro d4e59033f364cc2b689d470b73733bcad5a931a8 data/lemonmates/loot_table/blocks/citron_wall_sign.json 4098d61de0b4bf5314926c5a4b04f366f2f7f8d2 data/lemonmates/loot_table/blocks/citron_wood.json 52b02e8a86046b0714d06d30e507355d0db80338 data/lemonmates/loot_table/blocks/lemonade_glass.json +6cec54e70429e90771526e7e9654ddf9c135eced data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json +aed3ef01a3de02d9c3c734a23806caf4d1878430 data/lemonmates/loot_table/blocks/lemonade_jug_terracotta.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 @@ -42,4 +44,3 @@ f449a514381baf54e4515a0ca8f4a304d9c2735d data/lemonmates/loot_table/blocks/strip 52a1b6d1cba20cd6b102a26193248df56eb37c52 data/lemonmates/loot_table/blocks/stripped_citron_wood.json 6119e198844f5713fd685fdd8ade49f8c00a7733 data/lemonmates/loot_table/blocks/stripped_orange_log.json 7dfcf28cad578249cb297340014d8229e44ee1c1 data/lemonmates/loot_table/blocks/stripped_orange_wood.json -0c4ae2b05dbe46f34cfe03c0528c2ce346452121 data/lemonmates/loot_table/blocks/terracotta_lemonade_jug.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 6f56d16..d8db6d3 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.21.1 2026-05-28T23:38:51.8963216 Recipes +// 1.21.1 2026-05-29T19:22:40.1918185 Recipes facd248ef881f97de28f9e5e269db79dc09c7fb3 data/lemonmates/advancement/recipes/building_blocks/citron.json 1d7c61d7aa66adee3bb6a9752e28e5b3481ff485 data/lemonmates/advancement/recipes/building_blocks/citron_crate.json 8c180e50e9625c1985dfc40e7be05f0293d92fd2 data/lemonmates/advancement/recipes/building_blocks/citron_planks.json @@ -28,12 +28,12 @@ ed7cc37c657142fcfb7a9f35e05ee108279cba8f data/lemonmates/advancement/recipes/mis 3f7b9d8f197674a62374728056c3fbb0390897b6 data/lemonmates/advancement/recipes/misc/citron_slice.json 8a5ff5088292e7db5904b0488942fcdeb4f3d8b7 data/lemonmates/advancement/recipes/misc/label_empty.json 2ce38d1b0a3191d6ccf0b53638f457b5a8c0f517 data/lemonmates/advancement/recipes/misc/lemonade_glass.json +07794e11bca6b3f5a4541c23ce70e184079ba7f2 data/lemonmates/advancement/recipes/misc/lemonade_jug_terracotta.json 7090289653e8095ab022c12bc87396441acb7b00 data/lemonmates/advancement/recipes/misc/orange_from_crate.json 79dda7e25b11b57791df4af5f50cd05c55a68eb6 data/lemonmates/advancement/recipes/misc/orange_slice.json 02a69065c1431db74b184acb80e738e17de6d632 data/lemonmates/advancement/recipes/misc/preform.json 083334ac302ce3a0a69dc54ede3b36bd5a284ae1 data/lemonmates/advancement/recipes/misc/preform_mold.json e9a2fe0611d96dcfaafadbb8ada78fd10586215a data/lemonmates/advancement/recipes/misc/raspberry.json -28dec962d44773cfc954691c71ed68ac008cdcbe data/lemonmates/advancement/recipes/misc/terracotta_lemonade_jug.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 @@ -71,7 +71,8 @@ a2e9563dd03da6f91007bce9d7f5ca443a86d2be data/lemonmates/recipe/citron_slice.jso 7d7e2f8febe477605eddf1d6883a81ec8e8e7f9e data/lemonmates/recipe/citron_trapdoor.json 8a180511c751f3e23544d072d880c7d0cc60ccec data/lemonmates/recipe/citron_wood.json f37e26b1d661dbf1d288bc4fa2a3d2590aa307d7 data/lemonmates/recipe/label_empty.json -6eb50907c1d53ee5caf1c6799e332f998b5d8b2c data/lemonmates/recipe/lemonade_glass.json +972a1051a558fd53ff3e93e533239e7822f32984 data/lemonmates/recipe/lemonade_glass.json +95577366693e19041ea153ada391de14ccdca07c data/lemonmates/recipe/lemonade_jug_terracotta.json fa5c3be35146baac35c21ac10ea3fce7aa431d80 data/lemonmates/recipe/orange.json 4fee22ae48a9903db8201e411fad82b780879c23 data/lemonmates/recipe/orange_boat.json 446643ff87c3cd0eea22285bb723163ae970c0d4 data/lemonmates/recipe/orange_button.json @@ -96,4 +97,3 @@ de2f1cb106b62ea49608bebd5f9a1671727c86d2 data/lemonmates/recipe/preform_mold.jso 1445516a5fab144d5ab7dfed1ad3de0efa970a3c data/lemonmates/recipe/raspberry_crate.json 145218accb1ca38a0a5f92fa8c36fec665f9fb60 data/lemonmates/recipe/stripped_citron_wood.json 538d2929b9a38901bd7becd5ad38af94afe42e5a data/lemonmates/recipe/stripped_orange_wood.json -39118b7a981c91df62b5dfe84a0878bce90b3851 data/lemonmates/recipe/terracotta_lemonade_jug.json diff --git a/src/generated/resources/data/create/tags/item/upright_on_belt.json b/src/generated/resources/data/create/tags/item/upright_on_belt.json index 17ce063..c0755d0 100644 --- a/src/generated/resources/data/create/tags/item/upright_on_belt.json +++ b/src/generated/resources/data/create/tags/item/upright_on_belt.json @@ -24,6 +24,8 @@ "lemonmates:straw_agender", "lemonmates:straw_bi", "lemonmates:straw_pan", + "lemonmates:straw_german", + "lemonmates:straw_omnisexual", "lemonmates:drink_umbrella_1", "lemonmates:drink_umbrella_2", "lemonmates:drink_umbrella_3", diff --git a/src/generated/resources/data/lemonmates/advancement/recipes/misc/terracotta_lemonade_jug.json b/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_terracotta.json similarity index 83% rename from src/generated/resources/data/lemonmates/advancement/recipes/misc/terracotta_lemonade_jug.json rename to src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_terracotta.json index 5f3dc03..9698b40 100644 --- a/src/generated/resources/data/lemonmates/advancement/recipes/misc/terracotta_lemonade_jug.json +++ b/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_terracotta.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "lemonmates:terracotta_lemonade_jug" + "recipe": "lemonmates:lemonade_jug_terracotta" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "lemonmates:terracotta_lemonade_jug" + "lemonmates:lemonade_jug_terracotta" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json new file mode 100644 index 0000000..9546934 --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:block", + "random_sequence": "lemonmates:blocks/lemonade_glass" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json new file mode 100644 index 0000000..8dd6c16 --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:block", + "random_sequence": "lemonmates:blocks/lemonade_glass_decorated" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_jug_terracotta.json b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_jug_terracotta.json new file mode 100644 index 0000000..388292b --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_jug_terracotta.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:block", + "random_sequence": "lemonmates:blocks/lemonade_jug_terracotta" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/recipe/terracotta_lemonade_jug.json b/src/generated/resources/data/lemonmates/recipe/lemonade_jug_terracotta.json similarity index 81% rename from src/generated/resources/data/lemonmates/recipe/terracotta_lemonade_jug.json rename to src/generated/resources/data/lemonmates/recipe/lemonade_jug_terracotta.json index fa8b5a5..30de5d8 100644 --- a/src/generated/resources/data/lemonmates/recipe/terracotta_lemonade_jug.json +++ b/src/generated/resources/data/lemonmates/recipe/lemonade_jug_terracotta.json @@ -13,6 +13,6 @@ ], "result": { "count": 1, - "id": "lemonmates:terracotta_lemonade_jug" + "id": "lemonmates:lemonade_jug_terracotta" } } \ 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 62d3f59..67e59d1 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -1,6 +1,8 @@ package net.doppelr.lemonmates; import net.doppelr.lemonmates.block.ModBlocks; +import net.doppelr.lemonmates.block.properties.StrawsVariants; +import net.doppelr.lemonmates.block.properties.UmbrellaVariants; import net.doppelr.lemonmates.fluid.ModFluids; import net.doppelr.lemonmates.item.ModItems; import net.minecraft.core.registries.Registries; @@ -40,6 +42,7 @@ private static ItemStack lemonadeJugStack(ItemStack stack) { // Misc output.accept(ModBlocks.LEMONADE_GLASS); + output.accept(lemonadeJugStack(ModItems.LEMONADE_JUG_TERRACOTTA.toStack())); // Finished Lemonades output.accept(ModItems.CITRON_LEMONADE_BOTTLE); @@ -172,27 +175,15 @@ private static ItemStack lemonadeJugStack(ItemStack stack) { output.accept(ModItems.ICE_CUBES); // Straws - output.accept(ModItems.STRAW_BASIC); - output.accept(ModItems.STRAW_RAINBOW); - output.accept(ModItems.STRAW_TRANS); - output.accept(ModItems.STRAW_NONBINARY); - output.accept(ModItems.STRAW_LESBIAN); - output.accept(ModItems.STRAW_GAY); - output.accept(ModItems.STRAW_GENDERFLUID); - output.accept(ModItems.STRAW_ACE); - output.accept(ModItems.STRAW_ARO); - output.accept(ModItems.STRAW_AROACE); - output.accept(ModItems.STRAW_AGENDER); - output.accept(ModItems.STRAW_BI); - output.accept(ModItems.STRAW_PAN); - output.accept(ModItems.STRAW_GERMAN); - output.accept(ModItems.STRAW_OMNISEXUAL); + for (StrawsVariants variants : StrawsVariants.values()) + if (variants.getValue() != 0) + output.accept(variants.getRegisteredItem()); + // Umbrellas - output.accept(ModItems.DRINK_UMBRELLA_1); - output.accept(ModItems.DRINK_UMBRELLA_2); - output.accept(ModItems.DRINK_UMBRELLA_3); - output.accept(ModItems.DRINK_UMBRELLA_4); + for (UmbrellaVariants variants : UmbrellaVariants.values()) + if (variants.getValue() != 0) + output.accept(variants.getRegisteredItem()); // Fruit output.accept(ModItems.CITRON_SLICE); diff --git a/src/main/java/net/doppelr/lemonmates/LemonMates.java b/src/main/java/net/doppelr/lemonmates/LemonMates.java index 110f1a6..2254472 100644 --- a/src/main/java/net/doppelr/lemonmates/LemonMates.java +++ b/src/main/java/net/doppelr/lemonmates/LemonMates.java @@ -1,10 +1,6 @@ package net.doppelr.lemonmates; import com.mojang.logging.LogUtils; -import com.simibubi.create.foundation.data.CreateRegistrate; -import com.simibubi.create.foundation.item.ItemDescription; -import com.tterrag.registrate.util.nullness.NonNullSupplier; -import net.createmod.catnip.lang.FontHelper; import net.doppelr.lemonmates.block.ModBlocks; import net.doppelr.lemonmates.block.entity.ModBlockEntities; import net.doppelr.lemonmates.datagen.DataGenerators; @@ -22,6 +18,7 @@ public class LemonMates { public static final String MOD_ID = "lemonmates"; public static final Logger LOGGER = LogUtils.getLogger(); + public LemonMates(IEventBus modEventBus, ModContainer modContainer) { AllCreativeModeTabs.register(modEventBus); AllDataComponents.register(modEventBus); @@ -36,21 +33,8 @@ public LemonMates(IEventBus modEventBus, ModContainer modContainer) { modEventBus.addListener(DataGenerators::gatherData); } - public static final NonNullSupplier REGISTRATE = - NonNullSupplier.lazy(() -> CreateRegistrate.create(MOD_ID)); - - - static { - REGISTRATE.get().setTooltipModifierFactory(item -> new ItemDescription.Modifier(item, FontHelper.Palette.STANDARD_CREATE)); - } - - public static CreateRegistrate registrate() { - return REGISTRATE.get(); - } - public static ResourceLocation rl(String path){ return ResourceLocation.fromNamespaceAndPath(MOD_ID, path); } - } diff --git a/src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java b/src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java new file mode 100644 index 0000000..acaf17e --- /dev/null +++ b/src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java @@ -0,0 +1,103 @@ +package net.doppelr.lemonmates; + +import net.createmod.catnip.lang.FontHelper; +import net.minecraft.ChatFormatting; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; + +import java.util.List; + +public class LemonMatesTooltipUtils { + + public static void createCustomTooltip(String id, boolean hasConditionalBehaviour, List components) { + createShiftText(components); + if (Screen.hasShiftDown()) { + components.add(empty()); + components.addAll(getBasicSummary(id)); + if (hasConditionalBehaviour) { + createConditionalBehaviourTooltip(id, 1, components); + } + } + } + + public static void createCustomTooltip(String id, boolean hasConditionalBehaviour, List components, Object... args) { + createShiftText(components); + if (Screen.hasShiftDown()) { + components.add(empty()); + components.addAll(getBasicSummary(id)); + if (hasConditionalBehaviour) { + createConditionalBehaviourTooltip(id, 1, components, args); + } + } + } + + public static void createShiftText(List components) { + if (!Screen.hasShiftDown()) + components.add(Component.translatable("create.tooltip.holdForDescription", Component.translatable("create.tooltip.keyShift").withStyle(ChatFormatting.GRAY)).withStyle(ChatFormatting.DARK_GRAY)); + else + components.add(Component.translatable("create.tooltip.holdForDescription", Component.translatable("create.tooltip.keyShift").withStyle(ChatFormatting.WHITE)).withStyle(ChatFormatting.DARK_GRAY)); + } + + public static void add(MutableComponent component, List components) { + add(component, components, true, true, false); + } + + public static void add(MutableComponent component, List components, boolean hasSpaceAbove, boolean hasSpaceBelow, boolean showWithoutShifting) { + if (Screen.hasShiftDown() || showWithoutShifting) { + if (hasSpaceAbove) + components.add(empty()); + components.addAll(createGeneric(component)); + if (hasSpaceBelow) + components.add(empty()); + } + } + + public static List createGeneric(MutableComponent component) { + return textComponentIndentHelper(component, FontHelper.Palette.STANDARD_CREATE, 1); + } + + public static void createAdditionalConditionalBehaviourTooltip(String id, int sequence, List components) { + if (Screen.hasShiftDown()) { + components.addAll(getCondition(id, sequence)); + components.addAll(getBehaviour(id, sequence)); + } + } + + public static void createConditionalBehaviourTooltip(String id, int sequence, List components) { + components.add(empty()); + components.addAll(getCondition(id, sequence)); + components.addAll(getBehaviour(id, sequence)); + } + + public static void createConditionalBehaviourTooltip(String id, int sequence, List components, Object... args) { + components.add(empty()); + components.addAll(getCondition(id, sequence, args)); + components.addAll(getBehaviour(id, sequence)); + } + + public static MutableComponent empty() { + return Component.literal(""); + } + + public static List getBasicSummary(String id) { + return FontHelper.cutTextComponent(Component.translatable(id + ".tooltip.summary"), FontHelper.Palette.STANDARD_CREATE); + } + + public static List getCondition(String id, int sequence) { + return FontHelper.cutTextComponent(Component.translatable(id + ".tooltip.condition" + sequence), FontHelper.Palette.GRAY); + } + + public static List getCondition(String id, int sequence, Object... args) { + return FontHelper.cutTextComponent(Component.translatable(id + ".tooltip.condition" + sequence, args), FontHelper.Palette.GRAY); + } + + public static List getBehaviour(String id, int sequence) { + return textComponentIndentHelper(Component.translatable(id + ".tooltip.behaviour" + sequence), FontHelper.Palette.STANDARD_CREATE, 1); + } + + public static List textComponentIndentHelper(Component component, FontHelper.Palette palette, int indent) { + return FontHelper.cutTextComponent(component, palette.primary(), palette.highlight(), indent); + } + +} diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index 516526c..175f2af 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -5,6 +5,7 @@ import net.doppelr.lemonmates.AllWoodTypes; import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.item.ModItems; +import net.doppelr.lemonmates.item.ModJugItem; import net.doppelr.lemonmates.worldgen.tree.ModTreeGrowers; import net.minecraft.client.renderer.RenderType; import net.minecraft.world.item.BlockItem; @@ -122,15 +123,13 @@ public class ModBlocks { .sound(SoundType.GLASS) )); - //public static final DeferredBlock LEMONADE_JUG_TERRACOTTA = registerBlockWithoutBlockItem("lemonade_jug_terracotta", - // () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT).noOcclusion())); + public static final DeferredBlock LEMONADE_JUG_TERRACOTTA = registerBlockWithoutBlockItem("lemonade_jug_terracotta", + () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT).noOcclusion())); - public static final BlockEntry LEMONADE_JUG_TERRACOTTA = LemonMates.registrate().block("lemonade_jug_terracotta", Block::new) - .addLayer(() -> RenderType::cutout) - .initialProperties(() -> Blocks.FLOWER_POT) - .properties(BlockBehaviour.Properties::noOcclusion) - .properties((NonNullUnaryOperator) new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT))) - .simpleItem().register(); +// public static final BlockEntry LEMONADE_JUG_TERRACOTTA = LemonMates.registrate().block("lemonade_jug_terracotta", ModJugBlock::new) +// .addLayer(() -> RenderType::cutout) +// .initialProperties(() -> Blocks.FLOWER_POT) +// .properties(BlockBehaviour.Properties::noOcclusion).register(); private static DeferredBlock registerBlockWithoutBlockItem(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index 1cc5ffb..3858d51 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -23,6 +23,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.component.BlockItemStateProperties; import net.minecraft.world.item.context.BlockPlaceContext; @@ -104,6 +105,16 @@ protected InteractionResult useWithoutItem(BlockState state, Level level, BlockP return super.useWithoutItem(state, level, pos, player, hitResult); } + private void getDroppedItem(Item item, BlockPos pos, Player player, Level level) { + this.getDroppedItem(item, pos, level); + level.playSound(player, player.getX(), player.getY(), player.getZ(), SoundEvents.SNOW_GOLEM_SHEAR, SoundSource.BLOCKS, 1.0F, 1.0F); + } + + private void getDroppedItem(Item item, BlockPos pos, Level level) { + ItemStack itemStack = new ItemStack(item, 1); + popResource(level, pos, itemStack); + } + @Override protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { if (stack.getItem() instanceof ModJugItem jugItem && Boolean.TRUE.equals(stack.get(AllDataComponents.CAN_POUR))) { @@ -114,155 +125,94 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev newDrinkLevel = 1; int blockDrinkLevel = state.getValue(DRINK_LEVEL) == 1 ? 2 : newDrinkLevel; ApplicableFluidsToFluidContainer pouredFluid = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : state.getValue(FLUID); - level.setBlockAndUpdate(pos, state.setValue(FLUID, pouredFluid) - .setValue(DRINK_LEVEL, blockDrinkLevel)); - jugItem.removeFromJugLevel(stack, newDrinkLevel); + if (state.getValue(FLUID) == ApplicableFluidsToFluidContainer.NONE || state.getValue(DRINK_LEVEL) == 0) { + level.setBlockAndUpdate(pos, state.setValue(FLUID, pouredFluid).setValue(DRINK_LEVEL, blockDrinkLevel)); + jugItem.removeFromJugLevel(stack, player, newDrinkLevel); + } } } else { return ItemInteractionResult.FAIL; } } - if (stack.is(ModItems.STRAW_BASIC)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.BASIC)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_RAINBOW)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.RAINBOW)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_TRANS)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.TRANS)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_NONBINARY)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.NONBINARY)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_LESBIAN)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.LESBIAN)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_GAY)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.GAY)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_GENDERFLUID)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.GENDERFLUID)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_ACE)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.ACE)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_ARO)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.ARO)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_AROACE)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.AROACE)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_AGENDER)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.AGENDER)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_BI)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.BI)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_PAN)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.PAN)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_GERMAN)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.GERMAN)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - if (stack.is(ModItems.STRAW_OMNISEXUAL)) { - level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.OMNISEXUAL)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); + if (stack.is(Items.SHEARS)) { + //BlockPos popPosition = pos.offset(0, 1, 0); + if (state.getValue(AllBlockStateProperties.STRAWS).getValue() != 0) { + this.getDroppedItem(state.getValue(AllBlockStateProperties.STRAWS).getRegisteredItem().get(), pos, player, level); + level.setBlockAndUpdate(pos, state.setValue(AllBlockStateProperties.STRAWS, StrawsVariants.NONE)); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (state.getValue(AllBlockStateProperties.UMBRELLAS).getValue() != 0) { + this.getDroppedItem(state.getValue(AllBlockStateProperties.UMBRELLAS).getRegisteredItem().get(), pos, player, level); + level.setBlockAndUpdate(pos, state.setValue(AllBlockStateProperties.UMBRELLAS, UmbrellaVariants.NONE)); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + FruitSlices sliceValue = state.getValue(AllBlockStateProperties.FRUIT_SLICES); + if (sliceValue != FruitSlices.NONE) { + if (sliceValue == FruitSlices.CITRON) + this.getDroppedItem(ModItems.CITRON_SLICE.get(), pos, player, level); + if (sliceValue == FruitSlices.ORANGE) + this.getDroppedItem(ModItems.ORANGE_SLICE.get(), pos, player, level); + level.setBlockAndUpdate(pos, state.setValue(AllBlockStateProperties.FRUIT_SLICES, FruitSlices.NONE)); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + if (state.getValue(ICE_CUBES)) { + this.getDroppedItem(ModItems.ICE_CUBES.get(), pos, player, level); + level.setBlockAndUpdate(pos, state.setValue(AllBlockStateProperties.ICE_CUBES, false)); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } } - // Each straw follows this same logic, duplicate as necessary + for (StrawsVariants variants : StrawsVariants.values()) + if (variants.getValue() != 0 && stack.getItem() == StrawsVariants.byValue(variants.getValue()).getRegisteredItem().get()) { + if (!player.getAbilities().instabuild) { + stack.shrink(1); + if (state.getValue(AllBlockStateProperties.STRAWS).getValue() != 0) + this.getDroppedItem(state.getValue(AllBlockStateProperties.STRAWS).getRegisteredItem().get(), pos, level); + } + level.setBlockAndUpdate(pos, state.setValue(STRAW, StrawsVariants.byValue(variants.getValue()))); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + for (UmbrellaVariants variants : UmbrellaVariants.values()) + if (variants.getValue() != 0 && stack.getItem() == UmbrellaVariants.byValue(variants.getValue()).getRegisteredItem().get()) { + if (!player.getAbilities().instabuild) { + stack.shrink(1); + if (state.getValue(AllBlockStateProperties.UMBRELLAS).getValue() != 0) + this.getDroppedItem(state.getValue(AllBlockStateProperties.UMBRELLAS).getRegisteredItem().get(), pos, level); + } + level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.byValue(variants.getValue()))); + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + + // Will need adjusting if more slice types are added - suggested approach: Enum registration similar to straws and umbrellas if (stack.is(ModItems.CITRON_SLICE)) { - level.setBlockAndUpdate(pos, state.setValue(FRUIT_SLICE, FruitSlices.CITRON)); - if (!player.getAbilities().instabuild) + if (!player.getAbilities().instabuild) { stack.shrink(1); + if (state.getValue(AllBlockStateProperties.FRUIT_SLICES) != FruitSlices.NONE) + this.getDroppedItem(ModItems.ORANGE_SLICE.get(), pos, level); + } + level.setBlockAndUpdate(pos, state.setValue(FRUIT_SLICE, FruitSlices.CITRON)); return ItemInteractionResult.sidedSuccess(level.isClientSide); } - if (stack.is(ModItems.ORANGE_SLICE)) { - level.setBlockAndUpdate(pos, state.setValue(FRUIT_SLICE, FruitSlices.ORANGE)); - if (!player.getAbilities().instabuild) + if (!player.getAbilities().instabuild) { stack.shrink(1); + if (state.getValue(AllBlockStateProperties.FRUIT_SLICES) != FruitSlices.NONE) + this.getDroppedItem(ModItems.CITRON_SLICE.get(), pos, level); + } + level.setBlockAndUpdate(pos, state.setValue(FRUIT_SLICE, FruitSlices.ORANGE)); return ItemInteractionResult.sidedSuccess(level.isClientSide); } // Each slice follows this same logic, duplicate as necessary - if (stack.is(ModItems.DRINK_UMBRELLA_1)) { - level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.RED_WHITE)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - - if (stack.is(ModItems.DRINK_UMBRELLA_2)) { - level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.YELLOW_WHITE)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - - if (stack.is(ModItems.DRINK_UMBRELLA_3)) { - level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.BLACK_PURPLE)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - - if (stack.is(ModItems.DRINK_UMBRELLA_4)) { - level.setBlockAndUpdate(pos, state.setValue(UMBRELLA, UmbrellaVariants.ORANGE_WHITE)); - if (!player.getAbilities().instabuild) - stack.shrink(1); - return ItemInteractionResult.sidedSuccess(level.isClientSide); - } - // Each umbrella follows this same logic, duplicate as necessary - if (stack.is(ModItems.ICE_CUBES)) { - level.setBlockAndUpdate(pos, state.setValue(ICE_CUBES, true)); - if (!player.getAbilities().instabuild) + if (!player.getAbilities().instabuild) { stack.shrink(1); + if (state.getValue(AllBlockStateProperties.ICE_CUBES)) + this.getDroppedItem(ModItems.ICE_CUBES.get(), pos, level); + } + level.setBlockAndUpdate(pos, state.setValue(ICE_CUBES, true)); return ItemInteractionResult.sidedSuccess(level.isClientSide); } diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java index 95c3f36..fdbc598 100644 --- a/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java +++ b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java @@ -13,8 +13,8 @@ public enum ApplicableFluidsToFluidContainer implements StringRepresentable { NONE, - LEMONADE(new FoodProperties.Builder().effect(() -> new MobEffectInstance(MobEffects.REGENERATION, 200, 2), 1.0F).build()), - CITRON_LEMONADE(new FoodProperties.Builder().effect(() -> new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 200, 2), 1.0F).build()),; + LEMONADE(), + CITRON_LEMONADE(new FoodProperties.Builder().build()),; final FoodProperties properties; public static final Codec CODEC = StringRepresentable.fromEnum(ApplicableFluidsToFluidContainer::values); diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java b/src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java index d8547bc..4494553 100644 --- a/src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java +++ b/src/main/java/net/doppelr/lemonmates/block/properties/StrawsVariants.java @@ -1,31 +1,59 @@ package net.doppelr.lemonmates.block.properties; +import net.doppelr.lemonmates.item.ModItems; +import net.minecraft.util.ByIdMap; import net.minecraft.util.StringRepresentable; +import net.minecraft.world.item.Item; +import net.neoforged.neoforge.registries.DeferredItem; +import org.jetbrains.annotations.NotNull; import java.util.Locale; +import java.util.function.IntFunction; public enum StrawsVariants implements StringRepresentable { - NONE, - BASIC, - RAINBOW, - TRANS, - NONBINARY, - LESBIAN, - GAY, - GENDERFLUID, - ACE, - ARO, - AROACE, - AGENDER, - BI, - PAN, - GERMAN, - OMNISEXUAL,; - - StrawsVariants() {} + NONE(0, false), + BASIC(1, true), + RAINBOW(2, true), + TRANS(3, true), + NONBINARY(4, true), + LESBIAN(5, true), + GAY(6, true), + GENDERFLUID(7, true), + ACE(8, true), + ARO(9, true), + AROACE(10, true), + AGENDER(11, true), + BI(12, true), + PAN(13, true), + GERMAN(14, true), + OMNISEXUAL(15, true),; + private static final IntFunction BY_ID = ByIdMap.continuous(StrawsVariants::getValue, values(), ByIdMap.OutOfBoundsStrategy.ZERO); + + DeferredItem registeredItem; + final int value; + + StrawsVariants(int value, boolean registerItem) { + this.value = value; + if (registerItem) + registeredItem = ModItems.ITEMS.register("straw_" + this.name().toLowerCase(Locale.ROOT), () -> new Item(new Item.Properties())); + } + + public DeferredItem getRegisteredItem() { + return registeredItem; + } + + public int getValue() { + return value; + } + + public static StrawsVariants byValue(int value) { + return BY_ID.apply(value); + } @Override - public String getSerializedName() { + public @NotNull String getSerializedName() { return name().toLowerCase(Locale.ROOT); } + + public static void include() {} } diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java b/src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java index edd2889..ee5eeb7 100644 --- a/src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java +++ b/src/main/java/net/doppelr/lemonmates/block/properties/UmbrellaVariants.java @@ -1,20 +1,48 @@ package net.doppelr.lemonmates.block.properties; +import net.doppelr.lemonmates.item.ModItems; +import net.minecraft.util.ByIdMap; import net.minecraft.util.StringRepresentable; +import net.minecraft.world.item.Item; +import net.neoforged.neoforge.registries.DeferredItem; +import org.jetbrains.annotations.NotNull; import java.util.Locale; +import java.util.function.IntFunction; public enum UmbrellaVariants implements StringRepresentable { - NONE, - RED_WHITE, - YELLOW_WHITE, - BLACK_PURPLE, - ORANGE_WHITE,; + NONE(0, false), + RED_WHITE(1, true), + YELLOW_WHITE(2, true), + BLACK_PURPLE(3, true), + ORANGE_WHITE(4, true),; + private static final IntFunction BY_ID = ByIdMap.continuous(UmbrellaVariants::getValue, values(), ByIdMap.OutOfBoundsStrategy.ZERO); - UmbrellaVariants() {} + DeferredItem registeredItem; + final int value; + + UmbrellaVariants(int value, boolean registerItem) { + this.value = value; + if (registerItem) + registeredItem = ModItems.ITEMS.register("drink_umbrella_" + value, () -> new Item(new Item.Properties())); + } + + public DeferredItem getRegisteredItem() { + return registeredItem; + } + + public int getValue() { + return value; + } + + public static UmbrellaVariants byValue(int value) { + return BY_ID.apply(value); + } @Override - public String getSerializedName() { + public @NotNull String getSerializedName() { return name().toLowerCase(Locale.ROOT); } + + public static void include() {} } diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java index 2c63985..858444e 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java @@ -125,8 +125,11 @@ protected void generate() { dropSelf(ModBlocks.CITRON_CRATE.get()); dropSelf(ModBlocks.RASPBERRY_CRATE.get()); - //add(ModBlocks.LEMONADE_GLASS.get(), noDrop()); - //add(ModBlocks.LEMONADE_JUG_TERRACOTTA.get(), noDrop()); + add(ModBlocks.LEMONADE_GLASS.get(), noDrop()); + add(ModBlocks.LEMONADE_JUG_TERRACOTTA.get(), noDrop()); + + // Temp to fix datagen nagging + add(ModBlocks.LEMONADE_GLASS_DECORATED.get(), noDrop()); } @Override diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java index 8b1d1a9..bcac361 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java @@ -3,6 +3,8 @@ import net.doppelr.lemonmates.AllTags; import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.block.ModBlocks; +import net.doppelr.lemonmates.block.properties.StrawsVariants; +import net.doppelr.lemonmates.block.properties.UmbrellaVariants; import net.doppelr.lemonmates.fluid.ModFluids; import net.doppelr.lemonmates.item.ModItems; import net.minecraft.core.HolderLookup; @@ -107,27 +109,14 @@ protected void addTags(HolderLookup.Provider provider) { ModItems.INCOMPLETE_ORANGE_LEMONADE.get(), ModItems.INCOMPLETE_RASPBERRY_LEMONADE.get(), ModItems.INCOMPLETE_SUMMERMIX_LEMONADE.get(), - ModItems.INCOMPLETE_WATERMELON_LEMONADE.get(), - - ModItems.STRAW_BASIC.get(), - ModItems.STRAW_RAINBOW.get(), - ModItems.STRAW_TRANS.get(), - ModItems.STRAW_NONBINARY.get(), - ModItems.STRAW_LESBIAN.get(), - ModItems.STRAW_GAY.get(), - ModItems.STRAW_GENDERFLUID.get(), - ModItems.STRAW_ACE.get(), - ModItems.STRAW_ARO.get(), - ModItems.STRAW_AROACE.get(), - ModItems.STRAW_AGENDER.get(), - ModItems.STRAW_BI.get(), - ModItems.STRAW_PAN.get(), - - ModItems.DRINK_UMBRELLA_1.get(), - ModItems.DRINK_UMBRELLA_2.get(), - ModItems.DRINK_UMBRELLA_3.get(), - ModItems.DRINK_UMBRELLA_4.get() - ); + ModItems.INCOMPLETE_WATERMELON_LEMONADE.get() + ); + for (StrawsVariants variants : StrawsVariants.values()) + if (variants.getValue() != 0) + tag(com.simibubi.create.AllTags.AllItemTags.UPRIGHT_ON_BELT.tag).add(variants.getRegisteredItem().get()); + for (UmbrellaVariants variants : UmbrellaVariants.values()) + if (variants.getValue() != 0) + tag(com.simibubi.create.AllTags.AllItemTags.UPRIGHT_ON_BELT.tag).add(variants.getRegisteredItem().get()); tag(AllTags.ItemTags.MOLDS).add( ModItems.PREFORM_MOLD.get().asItem(), ModItems.BOTTLE_MOLD.get().asItem(), diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index 3945e23..8a244ab 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -1,10 +1,17 @@ package net.doppelr.lemonmates.item; import com.simibubi.create.content.processing.sequenced.SequencedAssemblyItem; +import com.simibubi.create.foundation.item.ItemDescription; +import com.tterrag.registrate.util.entry.ItemEntry; import net.doppelr.lemonmates.AllFoodProperties; import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.block.ModBlocks; +import net.doppelr.lemonmates.block.ModJugBlock; +import net.doppelr.lemonmates.block.properties.StrawsVariants; +import net.doppelr.lemonmates.block.properties.UmbrellaVariants; import net.doppelr.lemonmates.entity.ModBoatEntity; +import net.minecraft.core.registries.Registries; +import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.HangingSignItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemNameBlockItem; @@ -146,50 +153,13 @@ public class ModItems { // Straws // 2 = rainbow, 3 = trans, 4 = nonbinary, 5 = lesbian, 6 = gay, 7 = genderfluid, 8 = ace, 9 = aro, 10 = agender, 11 = aroace, 12 = bisexual, 13 = pansexual, 14 = Germany - public static final DeferredItem STRAW_BASIC = ITEMS.register("straw_basic", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_RAINBOW = ITEMS.register("straw_rainbow", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_TRANS = ITEMS.register("straw_trans", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_NONBINARY = ITEMS.register("straw_nonbinary", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_LESBIAN = ITEMS.register("straw_lesbian", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_GAY = ITEMS.register("straw_gay", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_GENDERFLUID = ITEMS.register("straw_genderfluid", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_ACE = ITEMS.register("straw_ace", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_ARO = ITEMS.register("straw_aro", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_AROACE = ITEMS.register("straw_aroace", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_AGENDER = ITEMS.register("straw_agender", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_BI = ITEMS.register("straw_bi", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_PAN = ITEMS.register("straw_pan", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_GERMAN = ITEMS.register("straw_german", - () -> new Item(new Item.Properties())); - public static final DeferredItem STRAW_OMNISEXUAL = ITEMS.register("straw_omnisexual", - () -> new Item(new Item.Properties())); + + /** Move registration to enum -> {@link StrawsVariants} **/ // Umbrellas // Red-White - public static final DeferredItem DRINK_UMBRELLA_1 = ITEMS.register("drink_umbrella_1", - () -> new Item(new Item.Properties())); - // Yellow-White - public static final DeferredItem DRINK_UMBRELLA_2 = ITEMS.register("drink_umbrella_2", - () -> new Item(new Item.Properties())); - // Black-Purple - public static final DeferredItem DRINK_UMBRELLA_3 = ITEMS.register("drink_umbrella_3", - () -> new Item(new Item.Properties())); - // Orange-White - public static final DeferredItem DRINK_UMBRELLA_4 = ITEMS.register("drink_umbrella_4", - () -> new Item(new Item.Properties())); + + /** Move registration to enum -> {@link UmbrellaVariants} **/ public static final DeferredItem LEMONADE_JUG_TERRACOTTA = ITEMS.register("lemonade_jug_terracotta", () -> new ModJugItem(ModBlocks.LEMONADE_JUG_TERRACOTTA.get(), new Item.Properties().stacksTo(1))); @@ -199,6 +169,8 @@ public class ModItems { () -> new Item(new Item.Properties())); public static void register(IEventBus eventBus) { - ITEMS.register(eventBus); + StrawsVariants.include(); + UmbrellaVariants.include(); + ITEMS.register(eventBus); } } diff --git a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java index 7568004..a70e730 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java @@ -2,9 +2,9 @@ import net.doppelr.lemonmates.AllBlockStateProperties; import net.doppelr.lemonmates.AllDataComponents; +import net.doppelr.lemonmates.LemonMatesTooltipUtils; import net.doppelr.lemonmates.block.ModDrinkingGlassBlock; import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; -import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; @@ -27,6 +27,7 @@ public class ModJugItem extends BlockItem { public ModJugItem(Block block, Properties properties) { super(block, properties); + } public void setPourAbility(ItemStack stack, boolean pour) { @@ -46,27 +47,34 @@ public void addToJugLevel(ItemStack stack, int increment) { stack.set(AllDataComponents.JUG_LEVEL, stack.get(AllDataComponents.JUG_LEVEL) + increment); } - public void removeFromJugLevel(ItemStack stack, int decrement) { - if (stack.get(AllDataComponents.JUG_LEVEL) != null) { - int f = stack.get(AllDataComponents.JUG_LEVEL) - decrement; - if (f >= 0 && f <= 8) - stack.set(AllDataComponents.JUG_LEVEL, stack.get(AllDataComponents.JUG_LEVEL) - decrement); - } + public void removeFromJugLevel(ItemStack stack, Player player, int decrement) { + if (!player.getAbilities().instabuild) + if (stack.get(AllDataComponents.JUG_LEVEL) != null) { + int f = stack.get(AllDataComponents.JUG_LEVEL) - decrement; + if (f >= 0 && f <= 8) + stack.set(AllDataComponents.JUG_LEVEL, stack.get(AllDataComponents.JUG_LEVEL) - decrement); + } } - public void jugLevelHandling(ItemStack stack, ApplicableFluidsToFluidContainer fluid) { + public void jugLevelHandling(ItemStack stack, Player player, ApplicableFluidsToFluidContainer fluid) { if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != fluid) this.setContainedFluid(stack, fluid); if (stack.get(AllDataComponents.JUG_LEVEL) == null || stack.get(AllDataComponents.JUG_LEVEL) == 0) { this.setJugLevel(stack, 4); + if (!player.getAbilities().instabuild) + player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); } else if (stack.get(AllDataComponents.JUG_LEVEL) <= 4) { this.addToJugLevel(stack, 4); + if (!player.getAbilities().instabuild) + player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); } else if (stack.get(AllDataComponents.JUG_LEVEL) < 8) { int incrementJugLevel = 4; if (stack.get(AllDataComponents.JUG_LEVEL) > 4) incrementJugLevel = 8 - stack.get(AllDataComponents.JUG_LEVEL); this.addToJugLevel(stack, incrementJugLevel); + if (!player.getAbilities().instabuild) + player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); } } @@ -106,9 +114,9 @@ public InteractionResult useOn(UseOnContext context) { } else if (Boolean.FALSE.equals(stack.get(AllDataComponents.CAN_POUR))) { if (stack.get(AllDataComponents.JUG_LEVEL) == null || stack.get(AllDataComponents.JUG_LEVEL) <= 4) { if (offHandStack.is(ModItems.SUMMERMIX_LEMONADE_BOTTLE)) - this.jugLevelHandling(stack, ApplicableFluidsToFluidContainer.LEMONADE); + this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.LEMONADE); if (offHandStack.is(ModItems.CITRON_LEMONADE_BOTTLE)) - this.jugLevelHandling(stack, ApplicableFluidsToFluidContainer.CITRON_LEMONADE); + this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.CITRON_LEMONADE); } } } @@ -118,8 +126,9 @@ public InteractionResult useOn(UseOnContext context) { @Override public void appendHoverText(ItemStack stack, @NotNull TooltipContext context, @NotNull List tooltipComponents, @NotNull TooltipFlag tooltipFlag) { - if (stack.get(AllDataComponents.CAN_POUR) != null) { - tooltipComponents.add(Component.literal("Can Pour: " + stack.get(AllDataComponents.CAN_POUR)).withStyle(ChatFormatting.DARK_GREEN)); - } + String id = "block.lemonmates.lemonade_jug_terracotta"; + boolean pour = stack.get(AllDataComponents.CAN_POUR) != null ? stack.get(AllDataComponents.CAN_POUR) : false; + LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour); + LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 2, tooltipComponents); } } diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index 8b7dad4..bacc04a 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -172,5 +172,9 @@ "tag.fluid.c.lemonades": "Lemonades", "tag.fluid.c.plastic": "Plastic", - "item.lemonmates.lemonade_jug_terracotta.tooltip.summary": "This is a _Test_ Tooltip." + "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "A way to store your fluids _more aesthetically._", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_When Shift+R-Clicking with empty offhand_ (Able to pour: %1$s)", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Switch pouring functionality to either be _priority or secondary._", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_When R-Clicking onto a Lemonade Glass_", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour2": "Pours the _fluid contained within_ into the glass." } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json index ba6b810..a9edd47 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json @@ -4,8 +4,8 @@ "render_type": "minecraft:cutout", "texture_size": [32, 32], "textures": { - "jc": "lemonmates:block/lemonade_jug_hardened_clay", - "particle": "lemonmates:block/lemonade_jug_hardened_clay" + "jc": "lemonmates:block/lemonade_jug_terracotta", + "particle": "lemonmates:block/lemonade_jug_terracotta" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/textures/block/lemonade_jug_hardened_clay.png b/src/main/resources/assets/lemonmates/textures/block/lemonade_jug_terracotta.png similarity index 100% rename from src/main/resources/assets/lemonmates/textures/block/lemonade_jug_hardened_clay.png rename to src/main/resources/assets/lemonmates/textures/block/lemonade_jug_terracotta.png From 51f8aea11423af77fd558fa2c704942ab74c55b3 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sat, 30 May 2026 22:44:01 +0200 Subject: [PATCH 57/76] manual data gen again? - added remaining lemonade fluid levels for jugs and glasses - added remaining lemonades as valid for jug --- .../ApplicableFluidsToFluidContainer.java | 7 +- .../doppelr/lemonmates/item/ModJugItem.java | 11 +- .../blockstates/lemonade_glass.json | 310 +++++++++++++++-- .../blockstates/lemonade_jug_terracotta.json | 312 +++++++++++++++++- .../assets/lemonmates/lang/en_us.json | 8 +- .../block/{ => jug}/lemonade_jug_fluid_1.json | 0 .../jug/lemonade_jug_fluid_1_orange.json | 30 ++ .../jug/lemonade_jug_fluid_1_raspberry.json | 30 ++ .../jug/lemonade_jug_fluid_1_summermix.json | 30 ++ .../jug/lemonade_jug_fluid_1_watermelon.json | 30 ++ .../block/{ => jug}/lemonade_jug_fluid_2.json | 0 .../jug/lemonade_jug_fluid_2_orange.json | 30 ++ .../jug/lemonade_jug_fluid_2_raspberry.json | 30 ++ .../jug/lemonade_jug_fluid_2_summermix.json | 30 ++ .../jug/lemonade_jug_fluid_2_watermelon.json | 30 ++ .../block/{ => jug}/lemonade_jug_fluid_3.json | 0 .../jug/lemonade_jug_fluid_3_orange.json | 30 ++ .../jug/lemonade_jug_fluid_3_raspberry.json | 30 ++ .../jug/lemonade_jug_fluid_3_summermix.json | 30 ++ .../jug/lemonade_jug_fluid_3_watermelon.json | 30 ++ .../block/{ => jug}/lemonade_jug_fluid_4.json | 0 .../jug/lemonade_jug_fluid_4_orange.json | 30 ++ .../jug/lemonade_jug_fluid_4_raspberry.json | 30 ++ .../jug/lemonade_jug_fluid_4_summermix.json | 30 ++ .../jug/lemonade_jug_fluid_4_watermelon.json | 30 ++ .../block/{ => jug}/lemonade_jug_fluid_5.json | 0 .../jug/lemonade_jug_fluid_5_orange.json | 30 ++ .../jug/lemonade_jug_fluid_5_raspberry.json | 30 ++ .../jug/lemonade_jug_fluid_5_summermix.json | 30 ++ .../jug/lemonade_jug_fluid_5_watermelon.json | 30 ++ .../block/{ => jug}/lemonade_jug_fluid_6.json | 0 .../jug/lemonade_jug_fluid_6_orange.json | 44 +++ .../jug/lemonade_jug_fluid_6_raspberry.json | 44 +++ .../jug/lemonade_jug_fluid_6_summermix.json | 44 +++ .../jug/lemonade_jug_fluid_6_watermelon.json | 44 +++ .../block/{ => jug}/lemonade_jug_fluid_7.json | 0 .../jug/lemonade_jug_fluid_7_orange.json | 44 +++ .../jug/lemonade_jug_fluid_7_raspberry.json | 44 +++ .../jug/lemonade_jug_fluid_7_summermix.json | 44 +++ .../jug/lemonade_jug_fluid_7_watermelon.json | 44 +++ .../block/{ => jug}/lemonade_jug_fluid_8.json | 0 .../jug/lemonade_jug_fluid_8_orange.json | 44 +++ .../jug/lemonade_jug_fluid_8_raspberry.json | 44 +++ .../jug/lemonade_jug_fluid_8_summermix.json | 44 +++ .../jug/lemonade_jug_fluid_8_watermelon.json | 44 +++ ... => lemonade_glass_fluid_full_orange.json} | 2 +- .../lemonade_glass_fluid_full_raspberry.json | 29 ++ .../lemonade_glass_fluid_full_summermix.json | 29 ++ .../lemonade_glass_fluid_full_watermelon.json | 29 ++ ... => lemonade_glass_fluid_half_orange.json} | 2 +- .../lemonade_glass_fluid_half_raspberry.json | 29 ++ .../lemonade_glass_fluid_half_summermix.json | 29 ++ .../lemonade_glass_fluid_half_watermelon.json | 29 ++ .../textures/block/lemonade_glass_fluid.png | Bin 201 -> 575 bytes .../block/lemonade_glass_fluid_orange.png | Bin 0 -> 592 bytes .../block/lemonade_glass_fluid_raspberry.png | Bin 0 -> 595 bytes .../block/lemonade_glass_fluid_summermix.png | Bin 0 -> 601 bytes .../block/lemonade_glass_fluid_watermelon.png | Bin 0 -> 583 bytes .../block/lemonade_glass_fluid_yellow.png | Bin 187 -> 0 bytes 59 files changed, 1910 insertions(+), 44 deletions(-) rename src/main/resources/assets/lemonmates/models/block/{ => jug}/lemonade_jug_fluid_1.json (100%) create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_orange.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_raspberry.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_summermix.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_watermelon.json rename src/main/resources/assets/lemonmates/models/block/{ => jug}/lemonade_jug_fluid_2.json (100%) create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_orange.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_raspberry.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_summermix.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_watermelon.json rename src/main/resources/assets/lemonmates/models/block/{ => jug}/lemonade_jug_fluid_3.json (100%) create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_orange.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_raspberry.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_summermix.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_watermelon.json rename src/main/resources/assets/lemonmates/models/block/{ => jug}/lemonade_jug_fluid_4.json (100%) create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_orange.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_raspberry.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_summermix.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_watermelon.json rename src/main/resources/assets/lemonmates/models/block/{ => jug}/lemonade_jug_fluid_5.json (100%) create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_orange.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_raspberry.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_summermix.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_watermelon.json rename src/main/resources/assets/lemonmates/models/block/{ => jug}/lemonade_jug_fluid_6.json (100%) create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_orange.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_raspberry.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_summermix.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_watermelon.json rename src/main/resources/assets/lemonmates/models/block/{ => jug}/lemonade_jug_fluid_7.json (100%) create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_orange.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_raspberry.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_summermix.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_watermelon.json rename src/main/resources/assets/lemonmates/models/block/{ => jug}/lemonade_jug_fluid_8.json (100%) create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_orange.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_raspberry.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_summermix.json create mode 100644 src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_watermelon.json rename src/main/resources/assets/lemonmates/models/block/{lemonade_glass_fluid_full_yellow.json => lemonade_glass_fluid_full_orange.json} (92%) create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_raspberry.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_summermix.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_watermelon.json rename src/main/resources/assets/lemonmates/models/block/{lemonade_glass_fluid_half_yellow.json => lemonade_glass_fluid_half_orange.json} (92%) create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_raspberry.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_summermix.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_watermelon.json create mode 100644 src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid_orange.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid_raspberry.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid_summermix.png create mode 100644 src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid_watermelon.png delete mode 100644 src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid_yellow.png diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java index fdbc598..dc4e117 100644 --- a/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java +++ b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java @@ -5,15 +5,16 @@ import net.createmod.catnip.codecs.stream.CatnipStreamCodecBuilders; import net.minecraft.network.codec.StreamCodec; import net.minecraft.util.StringRepresentable; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.food.FoodProperties; import java.util.Locale; public enum ApplicableFluidsToFluidContainer implements StringRepresentable { NONE, - LEMONADE(), + SUMMERMIX_LEMONADE(new FoodProperties.Builder().build()), + ORANGE_LEMONADE(new FoodProperties.Builder().build()), + RASPBERRY_LEMONADE(new FoodProperties.Builder().build()), + WATERMELON_LEMONADE(new FoodProperties.Builder().build()), CITRON_LEMONADE(new FoodProperties.Builder().build()),; final FoodProperties properties; diff --git a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java index a70e730..1c0e8bc 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java @@ -114,9 +114,15 @@ public InteractionResult useOn(UseOnContext context) { } else if (Boolean.FALSE.equals(stack.get(AllDataComponents.CAN_POUR))) { if (stack.get(AllDataComponents.JUG_LEVEL) == null || stack.get(AllDataComponents.JUG_LEVEL) <= 4) { if (offHandStack.is(ModItems.SUMMERMIX_LEMONADE_BOTTLE)) - this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.LEMONADE); + this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.SUMMERMIX_LEMONADE); if (offHandStack.is(ModItems.CITRON_LEMONADE_BOTTLE)) this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.CITRON_LEMONADE); + if (offHandStack.is(ModItems.ORANGE_LEMONADE_BOTTLE)) + this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.ORANGE_LEMONADE); + if (offHandStack.is(ModItems.RASPBERRY_LEMONADE_BOTTLE)) + this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.RASPBERRY_LEMONADE); + if (offHandStack.is(ModItems.WATERMELON_LEMONADE_BOTTLE)) + this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.WATERMELON_LEMONADE); } } } @@ -128,7 +134,8 @@ public InteractionResult useOn(UseOnContext context) { public void appendHoverText(ItemStack stack, @NotNull TooltipContext context, @NotNull List tooltipComponents, @NotNull TooltipFlag tooltipFlag) { String id = "block.lemonmates.lemonade_jug_terracotta"; boolean pour = stack.get(AllDataComponents.CAN_POUR) != null ? stack.get(AllDataComponents.CAN_POUR) : false; - LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour); + //String currentfluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != ApplicableFluidsToFluidContainer.NONE ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE ; + LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour );// , currentfluid); LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 2, tooltipComponents); } } diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json index 908bc78..dfb6ea3 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json @@ -12,7 +12,7 @@ "when": { "drink_level": "1", "facing": "north", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_glass_fluid_half" @@ -22,7 +22,7 @@ "when": { "drink_level": "2", "facing": "north", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_glass_fluid_full" @@ -32,20 +32,80 @@ "when": { "drink_level": "1", "facing": "north", - "fluid": "citron_lemonade" + "fluid": "orange_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_yellow" + "model": "lemonmates:block/lemonade_glass_fluid_half_orange" } }, { "when": { "drink_level": "2", "facing": "north", - "fluid": "citron_lemonade" + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_orange" + } + }, + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_summermix" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_summermix" + } + }, + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry" + } + }, + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "watermelon_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_yellow" + "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon" } }, { @@ -97,7 +157,7 @@ }, { "when": { - "umbrella": "yellow_white", + "umbrella": "orange_white", "facing": "north" }, "apply": { @@ -272,7 +332,7 @@ "when": { "drink_level": "1", "facing": "south", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_glass_fluid_half", @@ -283,7 +343,7 @@ "when": { "drink_level": "2", "facing": "south", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_glass_fluid_full", @@ -294,10 +354,10 @@ "when": { "drink_level": "1", "facing": "south", - "fluid": "citron_lemonade" + "fluid": "orange_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "model": "lemonmates:block/lemonade_glass_fluid_half_orange", "y": 180 } }, @@ -305,10 +365,76 @@ "when": { "drink_level": "2", "facing": "south", - "fluid": "citron_lemonade" + "fluid": "orange_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "model": "lemonmates:block/lemonade_glass_fluid_full_orange", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", "y": 180 } }, @@ -386,7 +512,7 @@ }, { "when": { - "umbrella": "orange_white", + "umbrella": "yellow_white", "facing": "south" }, "apply": { @@ -559,7 +685,7 @@ "when": { "drink_level": "1", "facing": "east", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_glass_fluid_half", @@ -570,7 +696,7 @@ "when": { "drink_level": "2", "facing": "east", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_glass_fluid_full", @@ -581,10 +707,10 @@ "when": { "drink_level": "1", "facing": "east", - "fluid": "citron_lemonade" + "fluid": "orange_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "model": "lemonmates:block/lemonade_glass_fluid_half_orange", "y": 90 } }, @@ -592,10 +718,76 @@ "when": { "drink_level": "2", "facing": "east", - "fluid": "citron_lemonade" + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_orange", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "raspberry_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", "y": 90 } }, @@ -846,7 +1038,7 @@ "when": { "drink_level": "1", "facing": "west", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_glass_fluid_half", @@ -857,7 +1049,7 @@ "when": { "drink_level": "2", "facing": "west", - "fluid": "lemonade" + "fluid": "citron_lemonade" }, "apply": { "model": "lemonmates:block/lemonade_glass_fluid_full", @@ -868,10 +1060,10 @@ "when": { "drink_level": "1", "facing": "west", - "fluid": "citron_lemonade" + "fluid": "orange_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", + "model": "lemonmates:block/lemonade_glass_fluid_half_orange", "y": 270 } }, @@ -879,10 +1071,76 @@ "when": { "drink_level": "2", "facing": "west", - "fluid": "citron_lemonade" + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_orange", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "watermelon_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", + "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", "y": 270 } }, diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_terracotta.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_terracotta.json index 93e203f..0b85292 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_terracotta.json +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_terracotta.json @@ -11,7 +11,7 @@ "fluid": "citron_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_jug_fluid_1" + "model": "lemonmates:block/jug/lemonade_jug_fluid_1" } }, { @@ -20,7 +20,7 @@ "fluid": "citron_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_jug_fluid_2" + "model": "lemonmates:block/jug/lemonade_jug_fluid_2" } }, { @@ -29,7 +29,7 @@ "fluid": "citron_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_jug_fluid_3" + "model": "lemonmates:block/jug/lemonade_jug_fluid_3" } }, { @@ -38,7 +38,7 @@ "fluid": "citron_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_jug_fluid_4" + "model": "lemonmates:block/jug/lemonade_jug_fluid_4" } }, { @@ -47,7 +47,7 @@ "fluid": "citron_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_jug_fluid_5" + "model": "lemonmates:block/jug/lemonade_jug_fluid_5" } }, { @@ -56,7 +56,7 @@ "fluid": "citron_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_jug_fluid_6" + "model": "lemonmates:block/jug/lemonade_jug_fluid_6" } }, { @@ -65,7 +65,7 @@ "fluid": "citron_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_jug_fluid_7" + "model": "lemonmates:block/jug/lemonade_jug_fluid_7" } }, { @@ -74,7 +74,303 @@ "fluid": "citron_lemonade" }, "apply": { - "model": "lemonmates:block/lemonade_jug_fluid_8" + "model": "lemonmates:block/jug/lemonade_jug_fluid_8" + } + }, + + + { + "when": { + "jug_level": "1", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_1_orange" + } + }, + { + "when": { + "jug_level": "2", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_2_orange" + } + }, + { + "when": { + "jug_level": "3", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_3_orange" + } + }, + { + "when": { + "jug_level": "4", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_4_orange" + } + }, + { + "when": { + "jug_level": "5", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_5_orange" + } + }, + { + "when": { + "jug_level": "6", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_6_orange" + } + }, + { + "when": { + "jug_level": "7", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_7_orange" + } + }, + { + "when": { + "jug_level": "8", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_8_orange" + } + }, + + + { + "when": { + "jug_level": "1", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_1_raspberry" + } + }, + { + "when": { + "jug_level": "2", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_2_raspberry" + } + }, + { + "when": { + "jug_level": "3", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_3_raspberry" + } + }, + { + "when": { + "jug_level": "4", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_4_raspberry" + } + }, + { + "when": { + "jug_level": "5", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_5_raspberry" + } + }, + { + "when": { + "jug_level": "6", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_6_raspberry" + } + }, + { + "when": { + "jug_level": "7", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_7_raspberry" + } + }, + { + "when": { + "jug_level": "8", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_8_raspberry" + } + }, + + + { + "when": { + "jug_level": "1", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_1_summermix" + } + }, + { + "when": { + "jug_level": "2", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_2_summermix" + } + }, + { + "when": { + "jug_level": "3", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_3_summermix" + } + }, + { + "when": { + "jug_level": "4", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_4_summermix" + } + }, + { + "when": { + "jug_level": "5", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_5_summermix" + } + }, + { + "when": { + "jug_level": "6", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_6_summermix" + } + }, + { + "when": { + "jug_level": "7", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_7_summermix" + } + }, + { + "when": { + "jug_level": "8", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_8_summermix" + } + }, + + + { + "when": { + "jug_level": "1", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_1_watermelon" + } + }, + { + "when": { + "jug_level": "2", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_2_watermelon" + } + }, + { + "when": { + "jug_level": "3", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_3_watermelon" + } + }, + { + "when": { + "jug_level": "4", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_4_watermelon" + } + }, + { + "when": { + "jug_level": "5", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_5_watermelon" + } + }, + { + "when": { + "jug_level": "6", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_6_watermelon" + } + }, + { + "when": { + "jug_level": "7", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_7_watermelon" + } + }, + { + "when": { + "jug_level": "8", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_8_watermelon" } } ] diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index bacc04a..fca917f 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -173,8 +173,10 @@ "tag.fluid.c.plastic": "Plastic", "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "A way to store your fluids _more aesthetically._", - "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_When Shift+R-Clicking with empty offhand_ (Able to pour: %1$s)", - "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Switch pouring functionality to either be _priority or secondary._", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_When Shift+R-Clicking with empty offhand_", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Toggle pouring functionality to either be _active or not._ *(Currently: %1$s)*", "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_When R-Clicking onto a Lemonade Glass_", - "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour2": "Pours the _fluid contained within_ into the glass." + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour2": "Pours the _fluid contained within_ into the glass.", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition3": "_When R-Clicking in air with Lemonade Bottle in offhand_", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour3": "Pours the _fluid contained within_ into the jug. (Currently: %2$s)" } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1.json similarity index 100% rename from src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_1.json rename to src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1.json diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_orange.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_orange.json new file mode 100644 index 0000000..8ff7969 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_orange.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j1": "lemonmates:block/lemonade_glass_fluid_orange", + "particle": "lemonmates:block/lemonade_glass_fluid_orange" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "east": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "south": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "west": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#j1"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#j1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_raspberry.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_raspberry.json new file mode 100644 index 0000000..b1d2b0e --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_raspberry.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j1": "lemonmates:block/lemonade_glass_fluid_raspberry", + "particle": "lemonmates:block/lemonade_glass_fluid_raspberry" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "east": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "south": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "west": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#j1"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#j1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_summermix.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_summermix.json new file mode 100644 index 0000000..0d2198f --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_summermix.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j1": "lemonmates:block/lemonade_glass_fluid_summermix", + "particle": "lemonmates:block/lemonade_glass_fluid_summermix" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "east": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "south": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "west": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#j1"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#j1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_watermelon.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_watermelon.json new file mode 100644 index 0000000..0d815d0 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_1_watermelon.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j1": "lemonmates:block/lemonade_glass_fluid_watermelon", + "particle": "lemonmates:block/lemonade_glass_fluid_watermelon" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "east": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "south": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "west": {"uv": [0, 1, 4, 2], "texture": "#j1"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#j1"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#j1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2.json similarity index 100% rename from src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_2.json rename to src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2.json diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_orange.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_orange.json new file mode 100644 index 0000000..225d948 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_orange.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j2": "lemonmates:block/lemonade_glass_fluid_orange", + "particle": "lemonmates:block/lemonade_glass_fluid_orange" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#j2"}, + "east": {"uv": [0, 2, 4, 4], "texture": "#j2"}, + "south": {"uv": [0, 5, 4, 7], "texture": "#j2"}, + "west": {"uv": [0, 7, 4, 9], "texture": "#j2"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#j2"}, + "down": {"uv": [4, 5, 8, 9], "texture": "#j2"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_raspberry.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_raspberry.json new file mode 100644 index 0000000..afa65f2 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_raspberry.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j2": "lemonmates:block/lemonade_glass_fluid_raspberry", + "particle": "lemonmates:block/lemonade_glass_fluid_raspberry" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#j2"}, + "east": {"uv": [0, 2, 4, 4], "texture": "#j2"}, + "south": {"uv": [0, 5, 4, 7], "texture": "#j2"}, + "west": {"uv": [0, 7, 4, 9], "texture": "#j2"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#j2"}, + "down": {"uv": [4, 5, 8, 9], "texture": "#j2"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_summermix.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_summermix.json new file mode 100644 index 0000000..ecc52ac --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_summermix.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j2": "lemonmates:block/lemonade_glass_fluid_summermix", + "particle": "lemonmates:block/lemonade_glass_fluid_summermix" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#j2"}, + "east": {"uv": [0, 2, 4, 4], "texture": "#j2"}, + "south": {"uv": [0, 5, 4, 7], "texture": "#j2"}, + "west": {"uv": [0, 7, 4, 9], "texture": "#j2"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#j2"}, + "down": {"uv": [4, 5, 8, 9], "texture": "#j2"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_watermelon.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_watermelon.json new file mode 100644 index 0000000..06172d1 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_2_watermelon.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j2": "lemonmates:block/lemonade_glass_fluid_watermelon", + "particle": "lemonmates:block/lemonade_glass_fluid_watermelon" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#j2"}, + "east": {"uv": [0, 2, 4, 4], "texture": "#j2"}, + "south": {"uv": [0, 5, 4, 7], "texture": "#j2"}, + "west": {"uv": [0, 7, 4, 9], "texture": "#j2"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#j2"}, + "down": {"uv": [4, 5, 8, 9], "texture": "#j2"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3.json similarity index 100% rename from src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_3.json rename to src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3.json diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_orange.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_orange.json new file mode 100644 index 0000000..165b856 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_orange.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j3": "lemonmates:block/lemonade_glass_fluid_orange", + "particle": "lemonmates:block/lemonade_glass_fluid_orange" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 3], "texture": "#j3"}, + "east": {"uv": [0, 5, 4, 8], "texture": "#j3"}, + "south": {"uv": [4, 4, 8, 7], "texture": "#j3"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#j3"}, + "up": {"uv": [4, 5, 8, 9], "texture": "#j3"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#j3"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_raspberry.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_raspberry.json new file mode 100644 index 0000000..ec33963 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_raspberry.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j3": "lemonmates:block/lemonade_glass_fluid_raspberry", + "particle": "lemonmates:block/lemonade_glass_fluid_raspberry" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 3], "texture": "#j3"}, + "east": {"uv": [0, 5, 4, 8], "texture": "#j3"}, + "south": {"uv": [4, 4, 8, 7], "texture": "#j3"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#j3"}, + "up": {"uv": [4, 5, 8, 9], "texture": "#j3"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#j3"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_summermix.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_summermix.json new file mode 100644 index 0000000..2a1c90d --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_summermix.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j3": "lemonmates:block/lemonade_glass_fluid_summermix", + "particle": "lemonmates:block/lemonade_glass_fluid_summermix" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 3], "texture": "#j3"}, + "east": {"uv": [0, 5, 4, 8], "texture": "#j3"}, + "south": {"uv": [4, 4, 8, 7], "texture": "#j3"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#j3"}, + "up": {"uv": [4, 5, 8, 9], "texture": "#j3"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#j3"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_watermelon.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_watermelon.json new file mode 100644 index 0000000..066720d --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_3_watermelon.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j3": "lemonmates:block/lemonade_glass_fluid_watermelon", + "particle": "lemonmates:block/lemonade_glass_fluid_watermelon" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 3], "texture": "#j3"}, + "east": {"uv": [0, 5, 4, 8], "texture": "#j3"}, + "south": {"uv": [4, 4, 8, 7], "texture": "#j3"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#j3"}, + "up": {"uv": [4, 5, 8, 9], "texture": "#j3"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#j3"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4.json similarity index 100% rename from src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_4.json rename to src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4.json diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_orange.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_orange.json new file mode 100644 index 0000000..801e284 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_orange.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j4": "lemonmates:block/lemonade_glass_fluid_orange", + "particle": "lemonmates:block/lemonade_glass_fluid_orange" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 5, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#j4"}, + "east": {"uv": [0, 4, 4, 8], "texture": "#j4"}, + "south": {"uv": [0, 4, 4, 8], "texture": "#j4"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#j4"}, + "up": {"uv": [8, 4, 4, 0], "texture": "#j4"}, + "down": {"uv": [8, 4, 4, 8], "texture": "#j4"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_raspberry.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_raspberry.json new file mode 100644 index 0000000..c450ddb --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_raspberry.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j4": "lemonmates:block/lemonade_glass_fluid_raspberry", + "particle": "lemonmates:block/lemonade_glass_fluid_raspberry" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 5, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#j4"}, + "east": {"uv": [0, 4, 4, 8], "texture": "#j4"}, + "south": {"uv": [0, 4, 4, 8], "texture": "#j4"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#j4"}, + "up": {"uv": [8, 4, 4, 0], "texture": "#j4"}, + "down": {"uv": [8, 4, 4, 8], "texture": "#j4"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_summermix.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_summermix.json new file mode 100644 index 0000000..e53552f --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_summermix.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j4": "lemonmates:block/lemonade_glass_fluid_summermix", + "particle": "lemonmates:block/lemonade_glass_fluid_summermix" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 5, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#j4"}, + "east": {"uv": [0, 4, 4, 8], "texture": "#j4"}, + "south": {"uv": [0, 4, 4, 8], "texture": "#j4"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#j4"}, + "up": {"uv": [8, 4, 4, 0], "texture": "#j4"}, + "down": {"uv": [8, 4, 4, 8], "texture": "#j4"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_watermelon.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_watermelon.json new file mode 100644 index 0000000..6c0953e --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_4_watermelon.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j4": "lemonmates:block/lemonade_glass_fluid_watermelon", + "particle": "lemonmates:block/lemonade_glass_fluid_watermelon" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 5, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#j4"}, + "east": {"uv": [0, 4, 4, 8], "texture": "#j4"}, + "south": {"uv": [0, 4, 4, 8], "texture": "#j4"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#j4"}, + "up": {"uv": [8, 4, 4, 0], "texture": "#j4"}, + "down": {"uv": [8, 4, 4, 8], "texture": "#j4"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5.json similarity index 100% rename from src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_5.json rename to src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5.json diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_orange.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_orange.json new file mode 100644 index 0000000..75d64b9 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_orange.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j5": "lemonmates:block/lemonade_glass_fluid_orange", + "particle": "lemonmates:block/lemonade_glass_fluid_orange" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j5"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j5"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j5"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j5"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j5"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j5"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_raspberry.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_raspberry.json new file mode 100644 index 0000000..375ed99 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_raspberry.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j5": "lemonmates:block/lemonade_glass_fluid_raspberry", + "particle": "lemonmates:block/lemonade_glass_fluid_raspberry" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j5"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j5"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j5"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j5"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j5"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j5"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_summermix.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_summermix.json new file mode 100644 index 0000000..e2fb760 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_summermix.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j5": "lemonmates:block/lemonade_glass_fluid_summermix", + "particle": "lemonmates:block/lemonade_glass_fluid_summermix" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j5"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j5"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j5"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j5"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j5"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j5"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_watermelon.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_watermelon.json new file mode 100644 index 0000000..b2ca4e6 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_5_watermelon.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j5": "lemonmates:block/lemonade_glass_fluid_watermelon", + "particle": "lemonmates:block/lemonade_glass_fluid_watermelon" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j5"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j5"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j5"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j5"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j5"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j5"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6.json similarity index 100% rename from src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_6.json rename to src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6.json diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_orange.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_orange.json new file mode 100644 index 0000000..a43593f --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_orange.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j6": "lemonmates:block/lemonade_glass_fluid_orange", + "particle": "lemonmates:block/lemonade_glass_fluid_orange" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j6"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j6"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j6"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j6"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j6"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j6"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 7, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "east": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "south": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "west": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#j6"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j6"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_raspberry.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_raspberry.json new file mode 100644 index 0000000..245238d --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_raspberry.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j6": "lemonmates:block/lemonade_glass_fluid_raspberry", + "particle": "lemonmates:block/lemonade_glass_fluid_raspberry" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j6"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j6"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j6"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j6"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j6"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j6"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 7, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "east": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "south": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "west": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#j6"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j6"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_summermix.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_summermix.json new file mode 100644 index 0000000..bb5a166 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_summermix.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j6": "lemonmates:block/lemonade_glass_fluid_summermix", + "particle": "lemonmates:block/lemonade_glass_fluid_summermix" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j6"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j6"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j6"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j6"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j6"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j6"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 7, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "east": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "south": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "west": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#j6"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j6"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_watermelon.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_watermelon.json new file mode 100644 index 0000000..6936276 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_6_watermelon.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j6": "lemonmates:block/lemonade_glass_fluid_watermelon", + "particle": "lemonmates:block/lemonade_glass_fluid_watermelon" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j6"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j6"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j6"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j6"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j6"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j6"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 7, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "east": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "south": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "west": {"uv": [0, 1, 2, 2], "texture": "#j6"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#j6"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j6"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7.json similarity index 100% rename from src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_7.json rename to src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7.json diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_orange.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_orange.json new file mode 100644 index 0000000..8e7b89f --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_orange.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j7": "lemonmates:block/lemonade_glass_fluid_orange", + "particle": "lemonmates:block/lemonade_glass_fluid_orange" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j7"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j7"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j7"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j7"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j7"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j7"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 8, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 4], "texture": "#j7"}, + "east": {"uv": [0, 2, 2, 4], "texture": "#j7"}, + "south": {"uv": [4, 2, 6, 4], "texture": "#j7"}, + "west": {"uv": [4, 0, 6, 2], "texture": "#j7"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#j7"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j7"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_raspberry.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_raspberry.json new file mode 100644 index 0000000..dff4110 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_raspberry.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j7": "lemonmates:block/lemonade_glass_fluid_raspberry", + "particle": "lemonmates:block/lemonade_glass_fluid_raspberry" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j7"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j7"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j7"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j7"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j7"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j7"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 8, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 4], "texture": "#j7"}, + "east": {"uv": [0, 2, 2, 4], "texture": "#j7"}, + "south": {"uv": [4, 2, 6, 4], "texture": "#j7"}, + "west": {"uv": [4, 0, 6, 2], "texture": "#j7"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#j7"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j7"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_summermix.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_summermix.json new file mode 100644 index 0000000..2b45e48 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_summermix.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j7": "lemonmates:block/lemonade_glass_fluid_summermix", + "particle": "lemonmates:block/lemonade_glass_fluid_summermix" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j7"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j7"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j7"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j7"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j7"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j7"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 8, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 4], "texture": "#j7"}, + "east": {"uv": [0, 2, 2, 4], "texture": "#j7"}, + "south": {"uv": [4, 2, 6, 4], "texture": "#j7"}, + "west": {"uv": [4, 0, 6, 2], "texture": "#j7"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#j7"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j7"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_watermelon.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_watermelon.json new file mode 100644 index 0000000..555aff7 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_7_watermelon.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j7": "lemonmates:block/lemonade_glass_fluid_watermelon", + "particle": "lemonmates:block/lemonade_glass_fluid_watermelon" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j7"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j7"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j7"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j7"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j7"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j7"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 8, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 4], "texture": "#j7"}, + "east": {"uv": [0, 2, 2, 4], "texture": "#j7"}, + "south": {"uv": [4, 2, 6, 4], "texture": "#j7"}, + "west": {"uv": [4, 0, 6, 2], "texture": "#j7"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#j7"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j7"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8.json similarity index 100% rename from src/main/resources/assets/lemonmates/models/block/lemonade_jug_fluid_8.json rename to src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8.json diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_orange.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_orange.json new file mode 100644 index 0000000..8d50867 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_orange.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j8": "lemonmates:block/lemonade_glass_fluid_orange", + "particle": "lemonmates:block/lemonade_glass_fluid_orange" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j8"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j8"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j8"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j8"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j8"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j8"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 5], "texture": "#j8"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#j8"}, + "south": {"uv": [6, 0, 8, 3], "texture": "#j8"}, + "west": {"uv": [4, 0, 6, 3], "texture": "#j8"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#j8"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j8"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_raspberry.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_raspberry.json new file mode 100644 index 0000000..edeee34 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_raspberry.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j8": "lemonmates:block/lemonade_glass_fluid_raspberry", + "particle": "lemonmates:block/lemonade_glass_fluid_raspberry" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j8"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j8"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j8"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j8"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j8"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j8"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 5], "texture": "#j8"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#j8"}, + "south": {"uv": [6, 0, 8, 3], "texture": "#j8"}, + "west": {"uv": [4, 0, 6, 3], "texture": "#j8"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#j8"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j8"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_summermix.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_summermix.json new file mode 100644 index 0000000..6bb0b87 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_summermix.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j8": "lemonmates:block/lemonade_glass_fluid_summermix", + "particle": "lemonmates:block/lemonade_glass_fluid_summermix" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j8"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j8"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j8"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j8"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j8"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j8"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 5], "texture": "#j8"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#j8"}, + "south": {"uv": [6, 0, 8, 3], "texture": "#j8"}, + "west": {"uv": [4, 0, 6, 3], "texture": "#j8"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#j8"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j8"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_watermelon.json b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_watermelon.json new file mode 100644 index 0000000..69a8761 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/jug/lemonade_jug_fluid_8_watermelon.json @@ -0,0 +1,44 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "j8": "lemonmates:block/lemonade_glass_fluid_watermelon", + "particle": "lemonmates:block/lemonade_glass_fluid_watermelon" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 5], "texture": "#j8"}, + "east": {"uv": [0, 0, 4, 5], "texture": "#j8"}, + "south": {"uv": [4, 0, 8, 5], "texture": "#j8"}, + "west": {"uv": [4, 0, 8, 5], "texture": "#j8"}, + "up": {"uv": [4, 9, 0, 5], "texture": "#j8"}, + "down": {"uv": [8, 5, 4, 9], "texture": "#j8"} + } + }, + { + "name": "fluid", + "from": [7, 6, 7], + "to": [9, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [2, 2, 4, 5], "texture": "#j8"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#j8"}, + "south": {"uv": [6, 0, 8, 3], "texture": "#j8"}, + "west": {"uv": [4, 0, 6, 3], "texture": "#j8"}, + "up": {"uv": [2, 0, 4, 2], "texture": "#j8"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#j8"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_yellow.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_orange.json similarity index 92% rename from src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_yellow.json rename to src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_orange.json index be11598..84ace78 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_yellow.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_orange.json @@ -3,7 +3,7 @@ "credit": "Made with Blockbench", "render_type": "minecraft:translucent", "textures": { - "f0": "lemonmates:block/lemonade_glass_fluid_yellow", + "f0": "lemonmates:block/lemonade_glass_fluid_orange", "particle": "lemonmates:item/empty" }, "elements": [ diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_raspberry.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_raspberry.json new file mode 100644 index 0000000..030b79e --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_raspberry.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f0": "lemonmates:block/lemonade_glass_fluid_raspberry", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f0"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f0"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f0"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f0"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f0"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_summermix.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_summermix.json new file mode 100644 index 0000000..e7b03a0 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_summermix.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f0": "lemonmates:block/lemonade_glass_fluid_summermix", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f0"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f0"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f0"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f0"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f0"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_watermelon.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_watermelon.json new file mode 100644 index 0000000..7c108f2 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_watermelon.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f0": "lemonmates:block/lemonade_glass_fluid", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 6, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f0"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f0"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f0"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f0"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f0"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f0"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_yellow.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_orange.json similarity index 92% rename from src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_yellow.json rename to src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_orange.json index 6f66483..92d5470 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_yellow.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_orange.json @@ -3,7 +3,7 @@ "credit": "Made with Blockbench", "render_type": "minecraft:translucent", "textures": { - "f1": "lemonmates:block/lemonade_glass_fluid_yellow", + "f1": "lemonmates:block/lemonade_glass_fluid_orange", "particle": "lemonmates:item/empty" }, "elements": [ diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_raspberry.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_raspberry.json new file mode 100644 index 0000000..e8a61a2 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_raspberry.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f1": "lemonmates:block/lemonade_glass_fluid_raspberry", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f1"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f1"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f1"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f1"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f1"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_summermix.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_summermix.json new file mode 100644 index 0000000..fcce1fc --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_summermix.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f1": "lemonmates:block/lemonade_glass_fluid_summermix", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f1"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f1"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f1"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f1"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f1"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_watermelon.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_watermelon.json new file mode 100644 index 0000000..216e820 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_half_watermelon.json @@ -0,0 +1,29 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", + "textures": { + "f1": "lemonmates:block/lemonade_glass_fluid_watermelon", + "particle": "lemonmates:item/empty" + }, + "elements": [ + { + "name": "fluid", + "from": [6, 1, 6], + "to": [10, 4, 10], + "faces": { + "north": {"uv": [4, 0, 8, 3], "texture": "#f1"}, + "east": {"uv": [4, 3, 8, 6], "texture": "#f1"}, + "south": {"uv": [4, 6, 8, 9], "texture": "#f1"}, + "west": {"uv": [0, 8, 4, 11], "texture": "#f1"}, + "up": {"uv": [4, 4, 0, 0], "texture": "#f1"}, + "down": {"uv": [4, 4, 0, 8], "texture": "#f1"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid.png b/src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid.png index 25772d795fedcd0de396d757634504b88df3aed0..015f92498b93ce93c27ba9220846ef591793383a 100644 GIT binary patch literal 575 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwqd5M)wk+q8+Ibo@t(*S_~XO4l9EcBP##8vBNsjj`CB!B*J~hei?D!Hj!6wK@!*cPIrcQ@{BN-T(VF*LrvU lglF-q;^zDb`TxiAfcoRV*`jAE5A}e8z|+;wWt~$(69AN$t#beX delta 160 zcmV;R0AK&V1jzxAF@J+eL_t(IjqQ@L4!|G?M6aeS{EmzNzxz8ZH?$LkI7mBn>01mW zcY5G4=e$TlRY4LYAtC?(k{Dwg*w9>LW+4_4klg8l({FZ>pWZJG%q)r=AxC-q0!Kt5 zQbk)Ec^0Z#8+e3u18!CttW$rxg_ftD#a>sOW)>on=)G@0P8k{D=L2rNb!vRKZ$3%@ O0000l)b+Rds5-g2c($c+@v@7zg|8NIi%uwiSjW-M ztn=mD#+KvZO0`y=9n4>ZJWAGacfR29^;y2T-@nkHoMRBjpfjGBWve1*&F@|8kX zZPH8J-0Z~E>UY`y;j-}ivpJ$wZ#3K61g$%=o2Tv5lHPz*2IUU}WiolT|Gg!?fBQ#k zr$v#$M;&sjg~c}LOZQ%D%W_)c`u0kvZ^_d}mpf-8)zVg3oqF9BcYF7?2Y>6c=KkMn z>1tB9Y*V4!^^^SiXYJ1!9(?fNc8W*<%+ZIu6K@1v&9oS_K{6Hiw^mvv4FO#qge BtqlMG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid_raspberry.png b/src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid_raspberry.png new file mode 100644 index 0000000000000000000000000000000000000000..b0ea621d521c8e3485dc62b459dfcae8fadc9c10 GIT binary patch literal 595 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwqd5M)wk+q8+Ibo@t(*S_~XO4l9EcBP#&% zp~i->-|1}i#TgumEg~l$u-xaj7Qd`;w9N6OdTip`cW3Ubefn;V=j|608DcUTkF7Pl zalKmNgVg>HKQ;<#%es1NWEHM(`5?)B?@>eV{pU$%HeFs}Tx(^`F=O#p>n#rpH0<2p zy?Db_+a(cnO6lCCIZ;|%=NDQ_-%-o|$3COw@bz_vo(eJU65?C6@`IO5O!uMwt(sH# zLvMUI#a5J~S-4nRSo7jigKe_zhksn!Yx-F>D>P=O5x3D%nX069zJclG%PO~t+WnN% zPu#E3cxV3oW%BCl-Yv{lub*>2BT@VDs~wxN9G}$xlX)Qhv@cQBhSQ=96fB;uelF{r G5}E*0ytUc@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid_summermix.png b/src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid_summermix.png new file mode 100644 index 0000000000000000000000000000000000000000..abec6c93b82be4f696c2f18eca8902cec9a6426a GIT binary patch literal 601 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwqd5M)wk+q8+Ibo@t(*S_~XO4l9EcBP#OIULKS6GilfD%#xftO)f8LqwJTeY?x7SRk~zuWcYT)lUl7>L8hBqIC>RR?qxf= z@xyvFu zoA$`vcC)p=D|Wct;aG(g>mAv+TbqBo?Pb5Dv$OS=c=7+|=Nau7o?B(e2E9s;1O<+# LtDnm{r-UW|xNokv literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid_watermelon.png b/src/main/resources/assets/lemonmates/textures/block/lemonade_glass_fluid_watermelon.png new file mode 100644 index 0000000000000000000000000000000000000000..8d3a3c2866b93bc75dd7a5ae4b8d3770123ccee9 GIT binary patch literal 583 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkF1yemk zJwqd5M)wk+q8+Ibo@t(*S_~XO4l9EcBP#RH7{cyYq<$U3fQ0H zKe4>>j6JIor&3acymfy_FH6zIk5huVs%E7wU$v|1&ZfD`YCAj_^4?K zc^!FR@GPV&q^Wa-?4OF*6MUO@?eafxIW*<*j;_VCCRr@$cy6LPjus)lW!w)M g3L1Kuq!<}KpEjC!J#E)RpaU2@UHx3vIVCg!02-=3>;M1& From 6edafbf3b55e41084e6d63e64561caf0a022f692 Mon Sep 17 00:00:00 2001 From: Dakota Date: Sat, 30 May 2026 19:35:26 -0500 Subject: [PATCH 58/76] Tooltip/QOL Adjustments --- .../lemonmates/LemonMatesTooltipUtils.java | 33 +- .../block/ModDrinkingGlassBlock.java | 2 + .../ApplicableFluidsToFluidContainer.java | 3 +- .../doppelr/lemonmates/item/ModJugItem.java | 13 +- .../blockstates/lemonade_glass_decorated.json | 1122 ----------------- .../assets/lemonmates/lang/en_us.json | 13 +- 6 files changed, 31 insertions(+), 1155 deletions(-) delete mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json diff --git a/src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java b/src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java index acaf17e..43781f4 100644 --- a/src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java +++ b/src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java @@ -10,17 +10,6 @@ public class LemonMatesTooltipUtils { - public static void createCustomTooltip(String id, boolean hasConditionalBehaviour, List components) { - createShiftText(components); - if (Screen.hasShiftDown()) { - components.add(empty()); - components.addAll(getBasicSummary(id)); - if (hasConditionalBehaviour) { - createConditionalBehaviourTooltip(id, 1, components); - } - } - } - public static void createCustomTooltip(String id, boolean hasConditionalBehaviour, List components, Object... args) { createShiftText(components); if (Screen.hasShiftDown()) { @@ -57,23 +46,17 @@ public static List createGeneric(MutableComponent component) { return textComponentIndentHelper(component, FontHelper.Palette.STANDARD_CREATE, 1); } - public static void createAdditionalConditionalBehaviourTooltip(String id, int sequence, List components) { + public static void createAdditionalConditionalBehaviourTooltip(String id, int sequence, List components, Object... args) { if (Screen.hasShiftDown()) { - components.addAll(getCondition(id, sequence)); - components.addAll(getBehaviour(id, sequence)); + components.addAll(getCondition(id, sequence, args)); + components.addAll(getBehaviour(id, sequence, args)); } } - public static void createConditionalBehaviourTooltip(String id, int sequence, List components) { - components.add(empty()); - components.addAll(getCondition(id, sequence)); - components.addAll(getBehaviour(id, sequence)); - } - public static void createConditionalBehaviourTooltip(String id, int sequence, List components, Object... args) { components.add(empty()); components.addAll(getCondition(id, sequence, args)); - components.addAll(getBehaviour(id, sequence)); + components.addAll(getBehaviour(id, sequence, args)); } public static MutableComponent empty() { @@ -84,16 +67,12 @@ public static List getBasicSummary(String id) { return FontHelper.cutTextComponent(Component.translatable(id + ".tooltip.summary"), FontHelper.Palette.STANDARD_CREATE); } - public static List getCondition(String id, int sequence) { - return FontHelper.cutTextComponent(Component.translatable(id + ".tooltip.condition" + sequence), FontHelper.Palette.GRAY); - } - public static List getCondition(String id, int sequence, Object... args) { return FontHelper.cutTextComponent(Component.translatable(id + ".tooltip.condition" + sequence, args), FontHelper.Palette.GRAY); } - public static List getBehaviour(String id, int sequence) { - return textComponentIndentHelper(Component.translatable(id + ".tooltip.behaviour" + sequence), FontHelper.Palette.STANDARD_CREATE, 1); + public static List getBehaviour(String id, int sequence, Object... args) { + return textComponentIndentHelper(Component.translatable(id + ".tooltip.behaviour" + sequence, args), FontHelper.Palette.STANDARD_CREATE, 1); } public static List textComponentIndentHelper(Component component, FontHelper.Palette palette, int indent) { diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index 3858d51..9d022ee 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -128,6 +128,8 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev if (state.getValue(FLUID) == ApplicableFluidsToFluidContainer.NONE || state.getValue(DRINK_LEVEL) == 0) { level.setBlockAndUpdate(pos, state.setValue(FLUID, pouredFluid).setValue(DRINK_LEVEL, blockDrinkLevel)); jugItem.removeFromJugLevel(stack, player, newDrinkLevel); + if (stack.get(AllDataComponents.JUG_LEVEL) > 0) + level.playSound(player, pos, SoundEvents.BOTTLE_EMPTY, SoundSource.BLOCKS, 1.0F, 1.0F); } } } else { diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java index dc4e117..6a8fad0 100644 --- a/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java +++ b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java @@ -6,6 +6,7 @@ import net.minecraft.network.codec.StreamCodec; import net.minecraft.util.StringRepresentable; import net.minecraft.world.food.FoodProperties; +import org.jetbrains.annotations.NotNull; import java.util.Locale; @@ -34,7 +35,7 @@ public FoodProperties getProperties() { } @Override - public String getSerializedName() { + public @NotNull String getSerializedName() { return name().toLowerCase(Locale.ROOT); } } diff --git a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java index 1c0e8bc..5e92c88 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java @@ -7,6 +7,8 @@ import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.InteractionResultHolder; @@ -23,6 +25,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; +import java.util.Locale; public class ModJugItem extends BlockItem { public ModJugItem(Block block, Properties properties) { @@ -57,15 +60,18 @@ public void removeFromJugLevel(ItemStack stack, Player player, int decrement) { } public void jugLevelHandling(ItemStack stack, Player player, ApplicableFluidsToFluidContainer fluid) { + Level level = player.level(); if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != fluid) this.setContainedFluid(stack, fluid); if (stack.get(AllDataComponents.JUG_LEVEL) == null || stack.get(AllDataComponents.JUG_LEVEL) == 0) { this.setJugLevel(stack, 4); + level.playSound(player, player.blockPosition(), SoundEvents.BOTTLE_FILL, SoundSource.PLAYERS, 1.0F, 1.0F); if (!player.getAbilities().instabuild) player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); } else if (stack.get(AllDataComponents.JUG_LEVEL) <= 4) { this.addToJugLevel(stack, 4); + level.playSound(player, player.blockPosition(), SoundEvents.BOTTLE_FILL, SoundSource.PLAYERS, 1.0F, 1.0F); if (!player.getAbilities().instabuild) player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); } else if (stack.get(AllDataComponents.JUG_LEVEL) < 8) { @@ -73,6 +79,7 @@ public void jugLevelHandling(ItemStack stack, Player player, ApplicableFluidsToF if (stack.get(AllDataComponents.JUG_LEVEL) > 4) incrementJugLevel = 8 - stack.get(AllDataComponents.JUG_LEVEL); this.addToJugLevel(stack, incrementJugLevel); + level.playSound(player, player.blockPosition(), SoundEvents.BOTTLE_FILL, SoundSource.PLAYERS, 1.0F, 1.0F); if (!player.getAbilities().instabuild) player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); } @@ -134,8 +141,10 @@ public InteractionResult useOn(UseOnContext context) { public void appendHoverText(ItemStack stack, @NotNull TooltipContext context, @NotNull List tooltipComponents, @NotNull TooltipFlag tooltipFlag) { String id = "block.lemonmates.lemonade_jug_terracotta"; boolean pour = stack.get(AllDataComponents.CAN_POUR) != null ? stack.get(AllDataComponents.CAN_POUR) : false; - //String currentfluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != ApplicableFluidsToFluidContainer.NONE ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE ; - LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour );// , currentfluid); + ApplicableFluidsToFluidContainer applicableFluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE; + Component fluid = Component.translatable("jugFluid.lemonmates." + applicableFluid.getSerializedName()); + LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour, fluid); LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 2, tooltipComponents); + LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 3, tooltipComponents, fluid); } } diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json deleted file mode 100644 index 908bc78..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json +++ /dev/null @@ -1,1122 +0,0 @@ -{ - "multipart": [ - { - "when": { - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_yellow" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_yellow" - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full" - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half" - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/lemon_slice" - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/orange_slice" - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1" - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2" - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3" - } - }, - { - "when": { - "umbrella": "orange_white", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4" - } - }, - { - "when": { - "straw": "basic", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_basic" - } - }, - { - "when": { - "straw": "rainbow", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow" - } - }, - { - "when": { - "straw": "trans", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_trans" - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary" - } - }, - { - "when": { - "straw": "lesbian", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian" - } - }, - { - "when": { - "straw": "gay", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_gay" - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid" - } - }, - { - "when": { - "straw": "ace", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_ace" - } - }, - { - "when": { - "straw": "aro", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_aro" - } - }, - { - "when": { - "straw": "aroace", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_aroace" - } - }, - { - "when": { - "straw": "agender", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_agender" - } - }, - { - "when": { - "straw": "bi", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_bi" - } - }, - { - "when": { - "straw": "pan", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_pan" - } - }, - { - "when": { - "straw": "german", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_german" - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual" - } - }, - - - { - "when": { - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", - "y": 180 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full", - "y": 180 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half", - "y": 180 - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/lemon_slice", - "y": 180 - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/orange_slice", - "y": 180 - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1", - "y": 180 - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2", - "y": 180 - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3", - "y": 180 - } - }, - { - "when": { - "umbrella": "orange_white", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4", - "y": 180 - } - }, - { - "when": { - "straw": "basic", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_basic", - "y": 180 - } - }, - { - "when": { - "straw": "rainbow", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow", - "y": 180 - } - }, - { - "when": { - "straw": "trans", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_trans", - "y": 180 - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary", - "y": 180 - } - }, - { - "when": { - "straw": "lesbian", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian", - "y": 180 - } - }, - { - "when": { - "straw": "gay", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_gay", - "y": 180 - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid", - "y": 180 - } - }, - { - "when": { - "straw": "ace", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_ace", - "y": 180 - } - }, - { - "when": { - "straw": "aro", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_aro", - "y": 180 - } - }, - { - "when": { - "straw": "aroace", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_aroace", - "y": 180 - } - }, - { - "when": { - "straw": "agender", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_agender", - "y": 180 - } - }, - { - "when": { - "straw": "bi", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_bi", - "y": 180 - } - }, - { - "when": { - "straw": "pan", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_pan", - "y": 180 - } - }, - { - "when": { - "straw": "german", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_german", - "y": 180 - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual", - "y": 180 - } - }, - - - { - "when": { - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", - "y": 90 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full", - "y": 90 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half", - "y": 90 - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/lemon_slice", - "y": 90 - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/orange_slice", - "y": 90 - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1", - "y": 90 - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2", - "y": 90 - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3", - "y": 90 - } - }, - { - "when": { - "umbrella": "orange_white", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4", - "y": 90 - } - }, - { - "when": { - "straw": "basic", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_basic", - "y": 90 - } - }, - { - "when": { - "straw": "rainbow", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow", - "y": 90 - } - }, - { - "when": { - "straw": "trans", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_trans", - "y": 90 - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary", - "y": 90 - } - }, - { - "when": { - "straw": "lesbian", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian", - "y": 90 - } - }, - { - "when": { - "straw": "gay", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_gay", - "y": 90 - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid", - "y": 90 - } - }, - { - "when": { - "straw": "ace", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_ace", - "y": 90 - } - }, - { - "when": { - "straw": "aro", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_aro", - "y": 90 - } - }, - { - "when": { - "straw": "aroace", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_aroace", - "y": 90 - } - }, - { - "when": { - "straw": "agender", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_agender", - "y": 90 - } - }, - { - "when": { - "straw": "bi", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_bi", - "y": 90 - } - }, - { - "when": { - "straw": "pan", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_pan", - "y": 90 - } - }, - { - "when": { - "straw": "german", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_german", - "y": 90 - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual", - "y": 90 - } - }, - - - { - "when": { - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_yellow", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_yellow", - "y": 270 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full", - "y": 270 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half", - "y": 270 - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/lemon_slice", - "y": 270 - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/orange_slice", - "y": 270 - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1", - "y": 270 - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2", - "y": 270 - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3", - "y": 270 - } - }, - { - "when": { - "umbrella": "orange_white", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4", - "y": 270 - } - }, - { - "when": { - "straw": "basic", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_basic", - "y": 270 - } - }, - { - "when": { - "straw": "rainbow", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow", - "y": 270 - } - }, - { - "when": { - "straw": "trans", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_trans", - "y": 270 - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary", - "y": 270 - } - }, - { - "when": { - "straw": "lesbian", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian", - "y": 270 - } - }, - { - "when": { - "straw": "gay", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_gay", - "y": 270 - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid", - "y": 270 - } - }, - { - "when": { - "straw": "ace", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_ace", - "y": 270 - } - }, - { - "when": { - "straw": "aro", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_aro", - "y": 270 - } - }, - { - "when": { - "straw": "aroace", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_aroace", - "y": 270 - } - }, - { - "when": { - "straw": "agender", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_agender", - "y": 270 - } - }, - { - "when": { - "straw": "bi", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_bi", - "y": 270 - } - }, - { - "when": { - "straw": "pan", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_pan", - "y": 270 - } - }, - { - "when": { - "straw": "german", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_german", - "y": 270 - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual", - "y": 270 - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index fca917f..16712e4 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -172,11 +172,18 @@ "tag.fluid.c.lemonades": "Lemonades", "tag.fluid.c.plastic": "Plastic", + "jugFluid.lemonmates.none": "None", + "jugFluid.lemonmates.citron_lemonade": "Citron Lemonade", + "jugFluid.lemonmates.orange_lemonade": "Orange Lemonade", + "jugFluid.lemonmates.raspberry_lemonade": "Raspberry Lemonade", + "jugFluid.lemonmates.summermix_lemonade": "Summer-Mix Lemonade", + "jugFluid.lemonmates.watermelon_lemonade": "Watermelon Lemonade", + "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "A way to store your fluids _more aesthetically._", - "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_When Shift+R-Clicking with empty offhand_", - "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Toggle pouring functionality to either be _active or not._ *(Currently: %1$s)*", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_When Shift+R-Clicking with empty offhand_ (Currently able to pour: %1$s)", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Toggle pouring functionality to either be _active or not._ (Currently Pouring: %2$s)", "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_When R-Clicking onto a Lemonade Glass_", "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour2": "Pours the _fluid contained within_ into the glass.", "block.lemonmates.lemonade_jug_terracotta.tooltip.condition3": "_When R-Clicking in air with Lemonade Bottle in offhand_", - "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour3": "Pours the _fluid contained within_ into the jug. (Currently: %2$s)" + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour3": "Pours the _fluid contained within_ into the jug. (Currently Pouring: %1$s)" } \ No newline at end of file From b7daa8ba8c728788269640942297e24b9c655b78 Mon Sep 17 00:00:00 2001 From: Dakota Date: Sat, 30 May 2026 19:41:21 -0500 Subject: [PATCH 59/76] Jug adjustment --- src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index 67e59d1..00ff0fa 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -171,7 +171,7 @@ private static ItemStack lemonadeJugStack(ItemStack stack) { // Glass output.accept(ModBlocks.LEMONADE_GLASS); - output.accept(ModBlocks.LEMONADE_JUG_TERRACOTTA); + output.accept(lemonadeJugStack(ModItems.LEMONADE_JUG_TERRACOTTA.toStack())); output.accept(ModItems.ICE_CUBES); // Straws From 317d99197a2faa8fd572e66c411ac92457b37582 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 31 May 2026 13:00:04 +0200 Subject: [PATCH 60/76] attempt to fix memory stuff --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 0be4c23..d773657 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ # Sets default memory used for gradle commands. Can be overridden by user or command line properties. -org.gradle.jvmargs=-Xmx4G +org.gradle.jvmargs=-Xmx8G org.gradle.daemon=true org.gradle.parallel=true org.gradle.caching=true From e0c23098ffdadbec83ecc679ecbbd9c63d45195d Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 31 May 2026 13:01:34 +0200 Subject: [PATCH 61/76] add glass jug, ice cube item model, fix some console spam --- .../doppelr/lemonmates/block/ModBlocks.java | 6 +- .../net/doppelr/lemonmates/item/ModItems.java | 3 +- .../blockstates/lemonade_glass.json | 2 +- .../blockstates/lemonade_glass_decorated.json | 1380 +++++++++++++++++ .../blockstates/lemonade_jug_glass.json | 377 +++++ .../models/block/lemonade_jug_glass.json | 221 +++ .../lemonmates/models/item/ice_cubes.json | 91 +- .../models/item/lemonade_jug_glass.json | 3 + .../textures/block/lemonade_jug_glass.png | Bin 0 -> 341 bytes 9 files changed, 2076 insertions(+), 7 deletions(-) create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json create mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json create mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json create mode 100644 src/main/resources/assets/lemonmates/models/item/lemonade_jug_glass.json create mode 100644 src/main/resources/assets/lemonmates/textures/block/lemonade_jug_glass.png diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index 175f2af..07567ec 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -125,11 +125,9 @@ public class ModBlocks { public static final DeferredBlock LEMONADE_JUG_TERRACOTTA = registerBlockWithoutBlockItem("lemonade_jug_terracotta", () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT).noOcclusion())); + public static final DeferredBlock LEMONADE_JUG_GLASS = registerBlockWithoutBlockItem("lemonade_jug_glass", + () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT).noOcclusion().sound(SoundType.GLASS))); -// public static final BlockEntry LEMONADE_JUG_TERRACOTTA = LemonMates.registrate().block("lemonade_jug_terracotta", ModJugBlock::new) -// .addLayer(() -> RenderType::cutout) -// .initialProperties(() -> Blocks.FLOWER_POT) -// .properties(BlockBehaviour.Properties::noOcclusion).register(); private static DeferredBlock registerBlockWithoutBlockItem(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index 8a244ab..db46a61 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -163,8 +163,9 @@ public class ModItems { public static final DeferredItem LEMONADE_JUG_TERRACOTTA = ITEMS.register("lemonade_jug_terracotta", () -> new ModJugItem(ModBlocks.LEMONADE_JUG_TERRACOTTA.get(), new Item.Properties().stacksTo(1))); + public static final DeferredItem LEMONADE_JUG_GLASS = ITEMS.register("lemonade_jug_glass", + () -> new ModJugItem(ModBlocks.LEMONADE_JUG_GLASS.get(), new Item.Properties().stacksTo(1))); - // Serving related public static final DeferredItem ICE_CUBES = ITEMS.register("ice_cubes", () -> new Item(new Item.Properties())); diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json index dfb6ea3..66d2f6f 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json @@ -157,7 +157,7 @@ }, { "when": { - "umbrella": "orange_white", + "umbrella": "yellow_white", "facing": "north" }, "apply": { diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json new file mode 100644 index 0000000..66d2f6f --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json @@ -0,0 +1,1380 @@ +{ + "multipart": [ + { + "when": { + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass" + } + }, + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full" + } + }, + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_orange" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_orange" + } + }, + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_summermix" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_summermix" + } + }, + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry" + } + }, + { + "when": { + "drink_level": "1", + "facing": "north", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon" + } + }, + { + "when": { + "drink_level": "2", + "facing": "north", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon" + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full" + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half" + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/lemon_slice" + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/orange_slice" + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1" + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2" + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3" + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4" + } + }, + { + "when": { + "straw": "basic", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_basic" + } + }, + { + "when": { + "straw": "rainbow", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow" + } + }, + { + "when": { + "straw": "trans", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_trans" + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary" + } + }, + { + "when": { + "straw": "lesbian", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian" + } + }, + { + "when": { + "straw": "gay", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_gay" + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid" + } + }, + { + "when": { + "straw": "ace", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_ace" + } + }, + { + "when": { + "straw": "aro", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_aro" + } + }, + { + "when": { + "straw": "aroace", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_aroace" + } + }, + { + "when": { + "straw": "agender", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_agender" + } + }, + { + "when": { + "straw": "bi", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_bi" + } + }, + { + "when": { + "straw": "pan", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_pan" + } + }, + { + "when": { + "straw": "german", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_german" + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual" + } + }, + + + { + "when": { + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_orange", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_orange", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", + "y": 180 + } + }, + { + "when": { + "drink_level": "1", + "facing": "south", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", + "y": 180 + } + }, + { + "when": { + "drink_level": "2", + "facing": "south", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", + "y": 180 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 180 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 180 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 180 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 180 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 180 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 180 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 180 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 180 + } + }, + { + "when": { + "straw": "basic", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 180 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 180 + } + }, + { + "when": { + "straw": "trans", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 180 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 180 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 180 + } + }, + { + "when": { + "straw": "gay", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 180 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 180 + } + }, + { + "when": { + "straw": "ace", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 180 + } + }, + { + "when": { + "straw": "aro", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 180 + } + }, + { + "when": { + "straw": "aroace", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 180 + } + }, + { + "when": { + "straw": "agender", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 180 + } + }, + { + "when": { + "straw": "bi", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 180 + } + }, + { + "when": { + "straw": "pan", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 180 + } + }, + { + "when": { + "straw": "german", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 180 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 180 + } + }, + + + { + "when": { + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_orange", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_orange", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", + "y": 90 + } + }, + { + "when": { + "drink_level": "1", + "facing": "east", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", + "y": 90 + } + }, + { + "when": { + "drink_level": "2", + "facing": "east", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", + "y": 90 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 90 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 90 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 90 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 90 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 90 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 90 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 90 + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 90 + } + }, + { + "when": { + "straw": "basic", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 90 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 90 + } + }, + { + "when": { + "straw": "trans", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 90 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 90 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 90 + } + }, + { + "when": { + "straw": "gay", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 90 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 90 + } + }, + { + "when": { + "straw": "ace", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 90 + } + }, + { + "when": { + "straw": "aro", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 90 + } + }, + { + "when": { + "straw": "aroace", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 90 + } + }, + { + "when": { + "straw": "agender", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 90 + } + }, + { + "when": { + "straw": "bi", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 90 + } + }, + { + "when": { + "straw": "pan", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 90 + } + }, + { + "when": { + "straw": "german", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 90 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 90 + } + }, + + + { + "when": { + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_orange", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_orange", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", + "y": 270 + } + }, + { + "when": { + "drink_level": "1", + "facing": "west", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", + "y": 270 + } + }, + { + "when": { + "drink_level": "2", + "facing": "west", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", + "y": 270 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "2", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/ice_cube_full", + "y": 270 + } + }, + { + "when": { + "has_ice": "true", + "drink_level": "1", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/ice_cube_half", + "y": 270 + } + }, + { + "when": { + "fruit_slice": "citron", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/lemon_slice", + "y": 270 + } + }, + { + "when": { + "fruit_slice": "orange", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/orange_slice", + "y": 270 + } + }, + { + "when": { + "umbrella": "red_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_1", + "y": 270 + } + }, + { + "when": { + "umbrella": "yellow_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_2", + "y": 270 + } + }, + { + "when": { + "umbrella": "black_purple", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_3", + "y": 270 + } + }, + { + "when": { + "umbrella": "orange_white", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/drink_umbrella_4", + "y": 270 + } + }, + { + "when": { + "straw": "basic", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_basic", + "y": 270 + } + }, + { + "when": { + "straw": "rainbow", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_rainbow", + "y": 270 + } + }, + { + "when": { + "straw": "trans", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_trans", + "y": 270 + } + }, + { + "when": { + "straw": "nonbinary", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_nonbinary", + "y": 270 + } + }, + { + "when": { + "straw": "lesbian", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_lesbian", + "y": 270 + } + }, + { + "when": { + "straw": "gay", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_gay", + "y": 270 + } + }, + { + "when": { + "straw": "genderfluid", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_genderfluid", + "y": 270 + } + }, + { + "when": { + "straw": "ace", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_ace", + "y": 270 + } + }, + { + "when": { + "straw": "aro", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_aro", + "y": 270 + } + }, + { + "when": { + "straw": "aroace", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_aroace", + "y": 270 + } + }, + { + "when": { + "straw": "agender", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_agender", + "y": 270 + } + }, + { + "when": { + "straw": "bi", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_bi", + "y": 270 + } + }, + { + "when": { + "straw": "pan", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_pan", + "y": 270 + } + }, + { + "when": { + "straw": "german", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_german", + "y": 270 + } + }, + { + "when": { + "straw": "omnisexual", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/straw_omnisexual", + "y": 270 + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json new file mode 100644 index 0000000..0b85292 --- /dev/null +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json @@ -0,0 +1,377 @@ +{ + "multipart": [ + { + "apply": { + "model": "lemonmates:block/lemonade_jug_terracotta" + } + }, + { + "when": { + "jug_level": "1", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_1" + } + }, + { + "when": { + "jug_level": "2", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_2" + } + }, + { + "when": { + "jug_level": "3", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_3" + } + }, + { + "when": { + "jug_level": "4", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_4" + } + }, + { + "when": { + "jug_level": "5", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_5" + } + }, + { + "when": { + "jug_level": "6", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_6" + } + }, + { + "when": { + "jug_level": "7", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_7" + } + }, + { + "when": { + "jug_level": "8", + "fluid": "citron_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_8" + } + }, + + + { + "when": { + "jug_level": "1", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_1_orange" + } + }, + { + "when": { + "jug_level": "2", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_2_orange" + } + }, + { + "when": { + "jug_level": "3", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_3_orange" + } + }, + { + "when": { + "jug_level": "4", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_4_orange" + } + }, + { + "when": { + "jug_level": "5", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_5_orange" + } + }, + { + "when": { + "jug_level": "6", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_6_orange" + } + }, + { + "when": { + "jug_level": "7", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_7_orange" + } + }, + { + "when": { + "jug_level": "8", + "fluid": "orange_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_8_orange" + } + }, + + + { + "when": { + "jug_level": "1", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_1_raspberry" + } + }, + { + "when": { + "jug_level": "2", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_2_raspberry" + } + }, + { + "when": { + "jug_level": "3", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_3_raspberry" + } + }, + { + "when": { + "jug_level": "4", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_4_raspberry" + } + }, + { + "when": { + "jug_level": "5", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_5_raspberry" + } + }, + { + "when": { + "jug_level": "6", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_6_raspberry" + } + }, + { + "when": { + "jug_level": "7", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_7_raspberry" + } + }, + { + "when": { + "jug_level": "8", + "fluid": "raspberry_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_8_raspberry" + } + }, + + + { + "when": { + "jug_level": "1", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_1_summermix" + } + }, + { + "when": { + "jug_level": "2", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_2_summermix" + } + }, + { + "when": { + "jug_level": "3", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_3_summermix" + } + }, + { + "when": { + "jug_level": "4", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_4_summermix" + } + }, + { + "when": { + "jug_level": "5", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_5_summermix" + } + }, + { + "when": { + "jug_level": "6", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_6_summermix" + } + }, + { + "when": { + "jug_level": "7", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_7_summermix" + } + }, + { + "when": { + "jug_level": "8", + "fluid": "summermix_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_8_summermix" + } + }, + + + { + "when": { + "jug_level": "1", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_1_watermelon" + } + }, + { + "when": { + "jug_level": "2", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_2_watermelon" + } + }, + { + "when": { + "jug_level": "3", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_3_watermelon" + } + }, + { + "when": { + "jug_level": "4", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_4_watermelon" + } + }, + { + "when": { + "jug_level": "5", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_5_watermelon" + } + }, + { + "when": { + "jug_level": "6", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_6_watermelon" + } + }, + { + "when": { + "jug_level": "7", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_7_watermelon" + } + }, + { + "when": { + "jug_level": "8", + "fluid": "watermelon_lemonade" + }, + "apply": { + "model": "lemonmates:block/jug/lemonade_jug_fluid_8_watermelon" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json new file mode 100644 index 0000000..508e281 --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json @@ -0,0 +1,221 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "jg": "item/lemonade_jug_glass", + "particle": "item/lemonade_jug_glass" + }, + "elements": [ + { + "name": "handle", + "from": [8, 3, 2], + "to": [8, 8, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 3]}, + "faces": { + "north": {"uv": [0, 0, 0, 2.5], "texture": "#jg"}, + "east": {"uv": [3, 9, 5, 11.5], "texture": "#jg"}, + "south": {"uv": [0, 0, 0, 2.5], "texture": "#jg"}, + "west": {"uv": [5, 9, 7, 11.5], "texture": "#jg"}, + "up": {"uv": [0, 2, 0, 0], "texture": "#jg"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#jg"} + } + }, + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, + "faces": { + "north": {"uv": [5, 4, 7, 4.5], "texture": "#jg"}, + "east": {"uv": [3, 4, 5, 4.5], "texture": "#jg"}, + "south": {"uv": [5, 8.5, 7, 9], "texture": "#jg"}, + "west": {"uv": [3, 8.5, 5, 9], "texture": "#jg"}, + "up": {"uv": [12, 4, 10, 2], "texture": "#jg"}, + "down": {"uv": [2.5, 3.5, 0.5, 5.5], "texture": "#jg"} + } + }, + { + "name": "top", + "from": [10, 9, 5], + "to": [11, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 9, 5]}, + "faces": { + "north": {"uv": [2.5, 7, 3, 7.5], "texture": "#jg"}, + "east": {"uv": [0, 6, 3, 6.5], "texture": "#jg"}, + "south": {"uv": [0, 7.5, 0.5, 8], "texture": "#jg"}, + "west": {"uv": [0, 8.5, 3, 9], "texture": "#jg"}, + "up": {"uv": [0.5, 9, 0, 6], "texture": "#jg"}, + "down": {"uv": [3, 6, 2.5, 9], "texture": "#jg"} + } + }, + { + "name": "top", + "from": [5, 9, 5], + "to": [6, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 9, 5]}, + "faces": { + "north": {"uv": [1.5, 6, 2, 6.5], "texture": "#jg"}, + "east": {"uv": [0, 6, 3, 6.5], "texture": "#jg"}, + "south": {"uv": [0.5, 8.5, 1, 9], "texture": "#jg"}, + "west": {"uv": [0, 8.5, 3, 9], "texture": "#jg"}, + "up": {"uv": [0.5, 9, 0, 6], "texture": "#jg"}, + "down": {"uv": [3, 6, 2.5, 9], "texture": "#jg"} + } + }, + { + "name": "top", + "from": [6, 9, 5], + "to": [10, 10, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 5]}, + "faces": { + "north": {"uv": [2.5, 6.5, 3, 8.5], "rotation": 90, "texture": "#jg"}, + "south": {"uv": [0, 6.5, 0.5, 8.5], "rotation": 90, "texture": "#jg"}, + "up": {"uv": [2.5, 6.5, 0.5, 6], "texture": "#jg"}, + "down": {"uv": [2.5, 8.5, 0.5, 9], "texture": "#jg"} + } + }, + { + "name": "top", + "from": [6, 9, 10], + "to": [10, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 10]}, + "faces": { + "north": {"uv": [2.5, 6.5, 3, 8.5], "rotation": 90, "texture": "#jg"}, + "south": {"uv": [0, 6.5, 0.5, 8.5], "rotation": 90, "texture": "#jg"}, + "up": {"uv": [2.5, 9, 0.5, 8.5], "texture": "#jg"}, + "down": {"uv": [2.5, 6, 0.5, 6.5], "texture": "#jg"} + } + }, + { + "from": [6, 6, 6], + "to": [10, 9, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 6]}, + "faces": { + "north": {"uv": [3, 0.5, 5, 2], "texture": "#jg"}, + "east": {"uv": [4.5, 5, 5, 6.5], "texture": "#jg"}, + "south": {"uv": [5, 0.5, 7, 2], "texture": "#jg"}, + "west": {"uv": [3, 5, 3.5, 6.5], "texture": "#jg"}, + "up": {"uv": [5, 0.5, 3, 0], "texture": "#jg"}, + "down": {"uv": [5, 2, 3, 2.5], "texture": "#jg"} + } + }, + { + "from": [6, 6, 9], + "to": [10, 9, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 9]}, + "faces": { + "north": {"uv": [3, 5, 5, 6.5], "texture": "#jg"}, + "east": {"uv": [5, 0.5, 5.5, 2], "texture": "#jg"}, + "south": {"uv": [5, 5, 7, 6.5], "texture": "#jg"}, + "west": {"uv": [6.5, 0.5, 7, 2], "texture": "#jg"}, + "up": {"uv": [7, 5, 5, 4.5], "texture": "#jg"}, + "down": {"uv": [7, 6.5, 5, 7], "texture": "#jg"} + } + }, + { + "from": [6, 6, 7], + "to": [7, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 8]}, + "faces": { + "east": {"uv": [5.5, 5, 6.5, 6.5], "texture": "#jg"}, + "west": {"uv": [3.5, 5, 4.5, 6.5], "texture": "#jg"}, + "up": {"uv": [6.5, 5, 5.5, 4.5], "rotation": 90, "texture": "#jg"}, + "down": {"uv": [3.5, 7, 4.5, 6.5], "rotation": 90, "texture": "#jg"} + } + }, + { + "from": [9, 6, 7], + "to": [10, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 8]}, + "faces": { + "east": {"uv": [3.5, 5, 4.5, 6.5], "texture": "#jg"}, + "west": {"uv": [5.5, 5, 6.5, 6.5], "texture": "#jg"}, + "up": {"uv": [4.5, 5, 3.5, 4.5], "rotation": 90, "texture": "#jg"}, + "down": {"uv": [5.5, 7, 6.5, 6.5], "rotation": 90, "texture": "#jg"} + } + }, + { + "name": "body", + "from": [10, 1, 5], + "to": [11, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 5]}, + "faces": { + "north": {"uv": [9.5, 5.5, 10, 8], "texture": "#jg"}, + "east": {"uv": [7, 8, 10, 10.5], "texture": "#jg"}, + "south": {"uv": [7, 5.5, 7.5, 8], "texture": "#jg"}, + "west": {"uv": [0, 9, 3, 11.5], "texture": "#jg"}, + "up": {"uv": [0.5, 3, 0, 0], "texture": "#jg"}, + "down": {"uv": [3, 0, 2.5, 3], "texture": "#jg"} + } + }, + { + "name": "body", + "from": [5, 1, 5], + "to": [6, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 1, 5]}, + "faces": { + "north": {"uv": [9.5, 8, 10, 10.5], "texture": "#jg"}, + "east": {"uv": [7, 3, 10, 5.5], "texture": "#jg"}, + "south": {"uv": [7, 8, 7.5, 10.5], "texture": "#jg"}, + "west": {"uv": [7, 5.5, 10, 8], "texture": "#jg"}, + "up": {"uv": [3, 3, 2.5, 0], "texture": "#jg"}, + "down": {"uv": [0.5, 0, 0, 3], "texture": "#jg"} + } + }, + { + "name": "body", + "from": [6, 1, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 1, 5]}, + "faces": { + "north": {"uv": [7.5, 5.5, 9.5, 8], "texture": "#jg"}, + "south": {"uv": [7.5, 3, 9.5, 5.5], "texture": "#jg"}, + "up": {"uv": [2.5, 3, 0.5, 2.5], "texture": "#jg"}, + "down": {"uv": [0.5, 0, 2.5, 0.5], "texture": "#jg"} + } + }, + { + "name": "body", + "from": [6, 1, 10], + "to": [10, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 1, 10]}, + "faces": { + "north": {"uv": [0.5, 9, 2.5, 11.5], "texture": "#jg"}, + "south": {"uv": [7.5, 5.5, 9.5, 8], "texture": "#jg"}, + "up": {"uv": [2.5, 0.5, 0.5, 0], "texture": "#jg"}, + "down": {"uv": [2.5, 2.5, 0.5, 3], "texture": "#jg"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + }, + "groups": [ + 0, + 1, + { + "name": "lip", + "origin": [8, 8, 8], + "scope": 0, + "color": 0, + "children": [2, 3, 4, 5] + }, + { + "name": "neck", + "origin": [8, 8, 8], + "scope": 0, + "color": 0, + "children": [6, 7, 8, 9] + }, + { + "name": "body", + "origin": [8, 8, 8], + "scope": 0, + "color": 0, + "children": [10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/ice_cubes.json b/src/main/resources/assets/lemonmates/models/item/ice_cubes.json index 3eafef8..118852c 100644 --- a/src/main/resources/assets/lemonmates/models/item/ice_cubes.json +++ b/src/main/resources/assets/lemonmates/models/item/ice_cubes.json @@ -1,3 +1,92 @@ { - "parent": "lemonmates:block/ice_cubes" + "format_version": "1.21.6", + "credit": "Made with Blockbench", + "textures": { + "0": "item/ice_cube", + "particle": "item/ice_cube" + }, + "elements": [ + { + "name": "ice_cube_1", + "from": [7, 0, 7], + "to": [8.25, 1.25, 8.25], + "rotation": {"angle": 0, "axis": "z", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_top", + "from": [8.5, 0, 7.75], + "to": [9.5, 1, 8.75], + "rotation": {"angle": 0, "axis": "y", "origin": [8.5, 0, 7.75]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "ice_cube_3", + "from": [8.25, 1, 7.5], + "to": [9.25, 2, 8.5], + "rotation": {"angle": 0, "axis": "x", "origin": [8.25, 1, 7.5]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 16, 1], + "scale": [2, 2, 2] + }, + "thirdperson_lefthand": { + "translation": [0, 16, 1], + "scale": [2, 2, 2] + }, + "firstperson_righthand": { + "rotation": [0, -45, 0], + "translation": [0, 18, 0], + "scale": [2, 2, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -45, 0], + "translation": [0, 18, 0], + "scale": [2, 2, 2] + }, + "ground": { + "translation": [0, 10, 0], + "scale": [2, 2, 2] + }, + "gui": { + "rotation": [26, 20, 0], + "translation": [0, 12.25, 0], + "scale": [2, 2, 2] + }, + "head": { + "translation": [0, 22.4, -4.4], + "scale": [2, 2, 2] + }, + "fixed": { + "translation": [-0.5, 13, 0], + "scale": [2, 2, 2] + }, + "on_shelf": { + "scale": [2, 2, 2] + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/lemonade_jug_glass.json b/src/main/resources/assets/lemonmates/models/item/lemonade_jug_glass.json new file mode 100644 index 0000000..2012bdb --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/item/lemonade_jug_glass.json @@ -0,0 +1,3 @@ +{ + "parent": "lemonmates:block/lemonade_jug_glass" +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/textures/block/lemonade_jug_glass.png b/src/main/resources/assets/lemonmates/textures/block/lemonade_jug_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..4cfa3cd429a92a2ce4e8ecf1b3c47ad53ce881e2 GIT binary patch literal 341 zcmV-b0jmCqP)Px$4@pEpR9J=WRKX3yAPh8BXMiF4VU_HYC;PBUJ{cleBK?5mI)E`yRh2ji5km~e zaYk+Dalt@XZItByN9dQ(_Rs?v=VF>CCJ?a#fJ3n(^EA%oi3#B3wXkrBAkGsLD4l>V zTp|eDd0e=01fHSyq_0ITZ^?|`Ks`WF>w#u)1UL`ms=(K(sn9)D%Z9KcPdEU0wY~$b zz=||gfnuCWRbf>ct-#-!P)5LN^U)F{axuRDuBW&a-6rhyfCqq=r0%5zI1hA#D?<*^ zcrK9h!^#jZWVKN=MjJzqGEsrsN$^HdB^rl3hYZ-P!0jZZh0t8L39$mnlWga4rM^cY nYeK7yN^STJ5)%^>6F Date: Sun, 31 May 2026 13:02:03 +0200 Subject: [PATCH 62/76] translation & tooltip updates --- .../assets/lemonmates/lang/de_de.json | 20 ++++++++++++++++++- .../assets/lemonmates/lang/en_us.json | 13 +++++++----- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/main/resources/assets/lemonmates/lang/de_de.json b/src/main/resources/assets/lemonmates/lang/de_de.json index 97709e6..f53d8e2 100644 --- a/src/main/resources/assets/lemonmates/lang/de_de.json +++ b/src/main/resources/assets/lemonmates/lang/de_de.json @@ -101,6 +101,7 @@ "block.lemonmates.lemonade_glass_decorated": "Dekoriertes Limonadenglass", "item.lemonmates.ice_cubes": "Eiswürfel", "block.lemonmates.lemonade_jug_terracotta": "Porzellanlimonadenkrug", + "block.lemonmates.lemonade_jug_glass": "Glaslimonadenkrug", "item.lemonmates.citron_lemonade_bucket": "Zitronenlimonaden Eimer", "item.lemonmates.orange_lemonade_bucket": "Orangenlimonaden Eimer", @@ -163,6 +164,8 @@ "tag.item.lemonmates.labels.complete": "Fertige Etiketten", "tag.item.lemonmates.molds": "Förmlinge", "tag.item.c.buckets.plastic": "Plastikeimer", + "tag.item.lemonmates.valid_jug_fluids": "Mögliche Krug Flüssigkeiten", + "tag.fluid.lemonmates.lemonades": "Limonaden", "tag.fluid.lemonmates.lemonades.citron": "Zitronenlimonaden", "tag.fluid.lemonmates.lemonades.orange": "Orangenlimonaden", @@ -170,5 +173,20 @@ "tag.fluid.lemonmates.lemonades.summermix": "Summer-Mix-Limonaden", "tag.fluid.lemonmates.lemonades.watermelon": "Wassermeloneblimonaden", "tag.fluid.c.lemonades": "Limonaden", - "tag.fluid.c.plastic": "Plastik" + "tag.fluid.c.plastic": "Plastik", + + "jugFluid.lemonmates.none": "Keine", + "jugFluid.lemonmates.citron_lemonade": "Zitronenlimonade", + "jugFluid.lemonmates.orange_lemonade": "Orangenlimonade", + "jugFluid.lemonmates.raspberry_lemonade": "Himbeerbrause", + "jugFluid.lemonmates.summermix_lemonade": "Summer-Mix-Limonade", + "jugFluid.lemonmates.watermelon_lemonade": "Wassermelonenlimonade", + + "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "Ein Weg, um deine Flüssigkeiten _asthetischer_ zu lagern. Genug Platz, um _8 Gläser_ komplett zu füllen.", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_Wenn während Schleichen genutzt mit leerer sekundärer Hand_ (Ausschenkbar: %1$s)", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Wechselt die Ausschenkenfunktion zu _aktiv oder nicht._ (Aktuelle Flüssigkeit: %2$s)", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_Wenn genutzt auf ein Limonadenglas_", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour2": "Schenkt die _Flüssigkeit vom Krug_ in das Glas.", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition3": "_Wenn genutzt in die Luft mit Limonadenflasche in sekundärer Hand_", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour3": "Füllt die _Flüssigkeit der Flasche_ in den Krug." } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index 16712e4..262485c 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -101,6 +101,7 @@ "block.lemonmates.lemonade_glass_decorated": "Decorated Lemonade Glass", "item.lemonmates.ice_cubes": "Ice Cubes", "block.lemonmates.lemonade_jug_terracotta": "Terracotta Lemonade Jug", + "block.lemonmates.lemonade_jug_glass": "Glass Lemonade Jug", "item.lemonmates.citron_lemonade_bucket": "Citron Lemonade Bucket", "item.lemonmates.orange_lemonade_bucket": "Orange Lemonade Bucket", @@ -163,6 +164,8 @@ "tag.item.lemonmates.labels.complete": "Complete Labels", "tag.item.lemonmates.molds": "Molds", "tag.item.c.buckets.plastic": "Plastic Buckets", + "tag.item.lemonmates.valid_jug_fluids": "Valid Jug Fluids", + "tag.fluid.lemonmates.lemonades": "Lemonades", "tag.fluid.lemonmates.lemonades.citron": "Citron Lemonade", "tag.fluid.lemonmates.lemonades.orange": "Orange Lemonade", @@ -179,11 +182,11 @@ "jugFluid.lemonmates.summermix_lemonade": "Summer-Mix Lemonade", "jugFluid.lemonmates.watermelon_lemonade": "Watermelon Lemonade", - "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "A way to store your fluids _more aesthetically._", - "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_When Shift+R-Clicking with empty offhand_ (Currently able to pour: %1$s)", + "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "A way to store your fluids _more aesthetically._ Holds enough fluid to fill _8 glasses_.", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_When used while sneaking with empty offhand_ (Currently able to pour: %1$s)", "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Toggle pouring functionality to either be _active or not._ (Currently Pouring: %2$s)", - "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_When R-Clicking onto a Lemonade Glass_", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_When used onto a Lemonade Glass_", "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour2": "Pours the _fluid contained within_ into the glass.", - "block.lemonmates.lemonade_jug_terracotta.tooltip.condition3": "_When R-Clicking in air with Lemonade Bottle in offhand_", - "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour3": "Pours the _fluid contained within_ into the jug. (Currently Pouring: %1$s)" + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition3": "_When used in air with Lemonade Bottle in offhand_", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour3": "Pours the _fluid contained within_ into the jug." } \ No newline at end of file From 2d8077dcf7523ce6ae01d8a840ac90562b9fe369 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 31 May 2026 13:02:20 +0200 Subject: [PATCH 63/76] prepare datagen --- src/main/java/net/doppelr/lemonmates/AllTags.java | 1 + .../lemonmates/datagen/ModBlockLootTableProvider.java | 1 + .../doppelr/lemonmates/datagen/ModItemTagProvider.java | 7 +++++++ .../doppelr/lemonmates/datagen/ModRecipeProvider.java | 9 +++++++++ 4 files changed, 18 insertions(+) diff --git a/src/main/java/net/doppelr/lemonmates/AllTags.java b/src/main/java/net/doppelr/lemonmates/AllTags.java index 1586d77..4dea992 100644 --- a/src/main/java/net/doppelr/lemonmates/AllTags.java +++ b/src/main/java/net/doppelr/lemonmates/AllTags.java @@ -41,6 +41,7 @@ public static class ItemTags { public static final TagKey C_PLATES_IRON = createTag("c", "plates/iron"); public static final TagKey C_BUCKETS = createTag("c", "buckets"); public static final TagKey C_BUCKETS_PLASTIC = createTag("c", "buckets/plastic"); + public static final TagKey VALID_JUG_FLUIDS = createTag("valid_jug_fluids"); private static TagKey createTag(String name) { return net.minecraft.tags.ItemTags.create(LemonMates.rl(name)); diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java index 858444e..24886de 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java @@ -127,6 +127,7 @@ protected void generate() { add(ModBlocks.LEMONADE_GLASS.get(), noDrop()); add(ModBlocks.LEMONADE_JUG_TERRACOTTA.get(), noDrop()); + add(ModBlocks.LEMONADE_JUG_GLASS.get(), noDrop()); // Temp to fix datagen nagging add(ModBlocks.LEMONADE_GLASS_DECORATED.get(), noDrop()); diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java index bcac361..6b30580 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModItemTagProvider.java @@ -241,5 +241,12 @@ protected void addTags(HolderLookup.Provider provider) { tag(Tags.Items.FOODS_BERRY).add( ModItems.RASPBERRY.get() ); + tag(AllTags.ItemTags.VALID_JUG_FLUIDS).add( + ModItems.CITRON_LEMONADE_BOTTLE.get(), + ModItems.ORANGE_LEMONADE_BOTTLE.get(), + ModItems.RASPBERRY_LEMONADE_BOTTLE.get(), + ModItems.SUMMERMIX_LEMONADE_BOTTLE.get(), + ModItems.WATERMELON_LEMONADE_BOTTLE.get() + ); } } diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java index bd7e42d..2014280 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java @@ -153,6 +153,15 @@ protected void buildRecipes(RecipeOutput recipeOutput) { .unlockedBy("has_glass", has(Tags.Items.GLASS_BLOCKS)) .save(recipeOutput); + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.LEMONADE_JUG_GLASS.get()) + .pattern("# #") + .pattern("# #") + .pattern(" B ") + .define('#', Tags.Items.GLASS_PANES) + .define('B', Tags.Items.GLASS_BLOCKS) + .unlockedBy("has_glass", has(Tags.Items.GLASS_BLOCKS)) + .save(recipeOutput); + // get Molds back ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ModItems.PREFORM.get(), 1) .requires(ModItems.PREFORM_MOLD_WITH_PREFORM.get()).unlockedBy("has_preform_mold", has(ModItems.PREFORM_MOLD)).save(recipeOutput); From 59ff96ee35fbf7353d902ae0ff475c10dc876378 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 31 May 2026 13:02:28 +0200 Subject: [PATCH 64/76] run datagen --- .../3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c | 3 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 3 +- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 4 ++- .../recipes/misc/lemonade_jug_glass.json | 32 +++++++++++++++++++ .../loot_table/blocks/lemonade_jug_glass.json | 4 +++ .../lemonmates/recipe/lemonade_jug_glass.json | 21 ++++++++++++ .../tags/item/valid_jug_fluids.json | 9 ++++++ 7 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_glass.json create mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_jug_glass.json create mode 100644 src/generated/resources/data/lemonmates/recipe/lemonade_jug_glass.json create mode 100644 src/generated/resources/data/lemonmates/tags/item/valid_jug_fluids.json diff --git a/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c b/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c index 518b066..cd5bd0a 100644 --- a/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c +++ b/src/generated/resources/.cache/3b3e690e31dfaa5a9fbd882cfd19f4a91b4da31c @@ -1,4 +1,4 @@ -// 1.21.1 2026-05-29T19:22:40.1888447 Tags for minecraft:item mod id lemonmates +// 1.21.1 2026-05-31T12:41:06.4494528 Tags for minecraft:item mod id lemonmates d231b55caa33415899617007b0dbfbc428a9495d data/create/tags/item/upright_on_belt.json 28511dee5e7f0634f2aece3397d9ffd9274aefed data/c/tags/item/buckets.json 0c38161e712608c74a46b6afa4e53a0a4e1ee80f data/c/tags/item/buckets/plastic.json @@ -29,6 +29,7 @@ ab47338f4cdfbb68da84ee8510e2299be37cee7c data/lemonmates/tags/item/lemonades/wat c2d6df006213f6f11da02a126a9085174bdf79c2 data/lemonmates/tags/item/lemonade_label_dyes.json fd5305c3bcf6d2b679026c1150927257ab94efd4 data/lemonmates/tags/item/molds.json 13d4e7735ae53dea526fe61eb36457db27667dcc data/lemonmates/tags/item/orange_logs.json +1ab77e801535128837c77874c3e3646399eaaf81 data/lemonmates/tags/item/valid_jug_fluids.json d0b542ced152991bf8d748ba08b40773b7e2f64a data/minecraft/tags/item/boats.json b92aa03b0d1f07b8052b054d181ecd3ca3de3b9b data/minecraft/tags/item/chest_boats.json 4b2c7e1c50af5d63714df2c3a463f8d6298a4fb6 data/minecraft/tags/item/leaves.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 5782516..838620e 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21.1 2026-05-29T19:22:40.1918185 Loot Tables +// 1.21.1 2026-05-31T12:41:06.4543352 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 @@ -19,6 +19,7 @@ d4e59033f364cc2b689d470b73733bcad5a931a8 data/lemonmates/loot_table/blocks/citro 4098d61de0b4bf5314926c5a4b04f366f2f7f8d2 data/lemonmates/loot_table/blocks/citron_wood.json 52b02e8a86046b0714d06d30e507355d0db80338 data/lemonmates/loot_table/blocks/lemonade_glass.json 6cec54e70429e90771526e7e9654ddf9c135eced data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json +823beb259369acb4fdd376e070194ff9e62c9466 data/lemonmates/loot_table/blocks/lemonade_jug_glass.json aed3ef01a3de02d9c3c734a23806caf4d1878430 data/lemonmates/loot_table/blocks/lemonade_jug_terracotta.json f904d74cc3fafb07d9e23051af019f5edaebaeae data/lemonmates/loot_table/blocks/orange_button.json 8c2027370536a83e1ebc819a9b0d034c20326f33 data/lemonmates/loot_table/blocks/orange_crate.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index d8db6d3..7caef74 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.21.1 2026-05-29T19:22:40.1918185 Recipes +// 1.21.1 2026-05-31T12:41:06.4572641 Recipes facd248ef881f97de28f9e5e269db79dc09c7fb3 data/lemonmates/advancement/recipes/building_blocks/citron.json 1d7c61d7aa66adee3bb6a9752e28e5b3481ff485 data/lemonmates/advancement/recipes/building_blocks/citron_crate.json 8c180e50e9625c1985dfc40e7be05f0293d92fd2 data/lemonmates/advancement/recipes/building_blocks/citron_planks.json @@ -28,6 +28,7 @@ ed7cc37c657142fcfb7a9f35e05ee108279cba8f data/lemonmates/advancement/recipes/mis 3f7b9d8f197674a62374728056c3fbb0390897b6 data/lemonmates/advancement/recipes/misc/citron_slice.json 8a5ff5088292e7db5904b0488942fcdeb4f3d8b7 data/lemonmates/advancement/recipes/misc/label_empty.json 2ce38d1b0a3191d6ccf0b53638f457b5a8c0f517 data/lemonmates/advancement/recipes/misc/lemonade_glass.json +42bd069b3e8b34bf2504b8845a13f913b13a3212 data/lemonmates/advancement/recipes/misc/lemonade_jug_glass.json 07794e11bca6b3f5a4541c23ce70e184079ba7f2 data/lemonmates/advancement/recipes/misc/lemonade_jug_terracotta.json 7090289653e8095ab022c12bc87396441acb7b00 data/lemonmates/advancement/recipes/misc/orange_from_crate.json 79dda7e25b11b57791df4af5f50cd05c55a68eb6 data/lemonmates/advancement/recipes/misc/orange_slice.json @@ -72,6 +73,7 @@ a2e9563dd03da6f91007bce9d7f5ca443a86d2be data/lemonmates/recipe/citron_slice.jso 8a180511c751f3e23544d072d880c7d0cc60ccec data/lemonmates/recipe/citron_wood.json f37e26b1d661dbf1d288bc4fa2a3d2590aa307d7 data/lemonmates/recipe/label_empty.json 972a1051a558fd53ff3e93e533239e7822f32984 data/lemonmates/recipe/lemonade_glass.json +cc2f7168aee3730ff80483f5ad8eeb6f43c83dec data/lemonmates/recipe/lemonade_jug_glass.json 95577366693e19041ea153ada391de14ccdca07c data/lemonmates/recipe/lemonade_jug_terracotta.json fa5c3be35146baac35c21ac10ea3fce7aa431d80 data/lemonmates/recipe/orange.json 4fee22ae48a9903db8201e411fad82b780879c23 data/lemonmates/recipe/orange_boat.json diff --git a/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_glass.json b/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_glass.json new file mode 100644 index 0000000..7055116 --- /dev/null +++ b/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_glass.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glass": { + "conditions": { + "items": [ + { + "items": "#c:glass_blocks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "lemonmates:lemonade_jug_glass" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_glass" + ] + ], + "rewards": { + "recipes": [ + "lemonmates:lemonade_jug_glass" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_jug_glass.json b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_jug_glass.json new file mode 100644 index 0000000..477c4db --- /dev/null +++ b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_jug_glass.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:block", + "random_sequence": "lemonmates:blocks/lemonade_jug_glass" +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/recipe/lemonade_jug_glass.json b/src/generated/resources/data/lemonmates/recipe/lemonade_jug_glass.json new file mode 100644 index 0000000..e8baee9 --- /dev/null +++ b/src/generated/resources/data/lemonmates/recipe/lemonade_jug_glass.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:glass_panes" + }, + "B": { + "tag": "c:glass_blocks" + } + }, + "pattern": [ + "# #", + "# #", + " B " + ], + "result": { + "count": 1, + "id": "lemonmates:lemonade_jug_glass" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/tags/item/valid_jug_fluids.json b/src/generated/resources/data/lemonmates/tags/item/valid_jug_fluids.json new file mode 100644 index 0000000..d0fb410 --- /dev/null +++ b/src/generated/resources/data/lemonmates/tags/item/valid_jug_fluids.json @@ -0,0 +1,9 @@ +{ + "values": [ + "lemonmates:citron_lemonade_bottle", + "lemonmates:orange_lemonade_bottle", + "lemonmates:raspberry_lemonade_bottle", + "lemonmates:summermix_lemonade_bottle", + "lemonmates:watermelon_lemonade_bottle" + ] +} \ No newline at end of file From 54e31d116b6a58c4e2c43bef0f5782c0e7676b14 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 31 May 2026 17:38:32 +0200 Subject: [PATCH 65/76] change creative tab icon to use an item instead of glass block entity --- .../blocks/lemonade_glass_decorated.json | 4 - .../lemonmates/AllCreativeModeTabs.java | 3 +- .../doppelr/lemonmates/block/ModBlocks.java | 4 - .../datagen/ModBlockLootTableProvider.java | 3 - .../net/doppelr/lemonmates/item/ModItems.java | 2 + .../doppelr/lemonmates/item/ModJugItem.java | 5 +- .../blockstates/lemonade_glass_decorated.json | 1380 ----------------- .../block/lemonade_glass_decorated.json | 424 ----- 8 files changed, 7 insertions(+), 1818 deletions(-) delete mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json delete mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json deleted file mode 100644 index 8dd6c16..0000000 --- a/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "minecraft:block", - "random_sequence": "lemonmates:blocks/lemonade_glass_decorated" -} \ 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 00ff0fa..60e5a6a 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -166,12 +166,13 @@ private static ItemStack lemonadeJugStack(ItemStack stack) { () -> CreativeModeTab.builder() .title(Component.translatable("itemGroup." + LemonMates.MOD_ID + ".serving")) .withTabsBefore(AllCreativeModeTabs.PROCESSING_CREATIVE_TAB.getKey()) - .icon(() -> new ItemStack(ModBlocks.LEMONADE_GLASS_DECORATED.get())) + .icon(() -> new ItemStack(ModItems.LEMONADE_GLASS_DECORATED.get())) .displayItems((params, output) -> { // Glass output.accept(ModBlocks.LEMONADE_GLASS); output.accept(lemonadeJugStack(ModItems.LEMONADE_JUG_TERRACOTTA.toStack())); + output.accept(lemonadeJugStack(ModItems.LEMONADE_JUG_GLASS.toStack())); output.accept(ModItems.ICE_CUBES); // Straws diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index 07567ec..e687395 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -118,10 +118,6 @@ public class ModBlocks { () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of() .sound(SoundType.GLASS).pushReaction(PushReaction.DESTROY) )); - public static final DeferredBlock LEMONADE_GLASS_DECORATED = registerBlock("lemonade_glass_decorated", - () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of() - .sound(SoundType.GLASS) - )); public static final DeferredBlock LEMONADE_JUG_TERRACOTTA = registerBlockWithoutBlockItem("lemonade_jug_terracotta", () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT).noOcclusion())); diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java index 24886de..7bdc33b 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java @@ -128,9 +128,6 @@ protected void generate() { add(ModBlocks.LEMONADE_GLASS.get(), noDrop()); add(ModBlocks.LEMONADE_JUG_TERRACOTTA.get(), noDrop()); add(ModBlocks.LEMONADE_JUG_GLASS.get(), noDrop()); - - // Temp to fix datagen nagging - add(ModBlocks.LEMONADE_GLASS_DECORATED.get(), noDrop()); } @Override diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index db46a61..3ef8fb9 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -168,6 +168,8 @@ public class ModItems { public static final DeferredItem ICE_CUBES = ITEMS.register("ice_cubes", () -> new Item(new Item.Properties())); + public static final DeferredItem LEMONADE_GLASS_DECORATED = ITEMS.register("lemonade_glass_decorated", + () -> new Item(new Item.Properties())); public static void register(IEventBus eventBus) { StrawsVariants.include(); diff --git a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java index 5e92c88..776049c 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java @@ -142,9 +142,10 @@ public void appendHoverText(ItemStack stack, @NotNull TooltipContext context, @N String id = "block.lemonmates.lemonade_jug_terracotta"; boolean pour = stack.get(AllDataComponents.CAN_POUR) != null ? stack.get(AllDataComponents.CAN_POUR) : false; ApplicableFluidsToFluidContainer applicableFluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE; + int level = stack.get(AllDataComponents.JUG_LEVEL) != null ? stack.get(AllDataComponents.JUG_LEVEL): 0; Component fluid = Component.translatable("jugFluid.lemonmates." + applicableFluid.getSerializedName()); LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour, fluid); - LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 2, tooltipComponents); - LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 3, tooltipComponents, fluid); + LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 2, tooltipComponents, pour, fluid, level); + LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 3, tooltipComponents, fluid, level); } } diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json deleted file mode 100644 index 66d2f6f..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json +++ /dev/null @@ -1,1380 +0,0 @@ -{ - "multipart": [ - { - "when": { - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_orange" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_orange" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_summermix" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_summermix" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon" - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full" - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half" - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/lemon_slice" - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/orange_slice" - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1" - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2" - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3" - } - }, - { - "when": { - "umbrella": "orange_white", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4" - } - }, - { - "when": { - "straw": "basic", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_basic" - } - }, - { - "when": { - "straw": "rainbow", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow" - } - }, - { - "when": { - "straw": "trans", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_trans" - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary" - } - }, - { - "when": { - "straw": "lesbian", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian" - } - }, - { - "when": { - "straw": "gay", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_gay" - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid" - } - }, - { - "when": { - "straw": "ace", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_ace" - } - }, - { - "when": { - "straw": "aro", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_aro" - } - }, - { - "when": { - "straw": "aroace", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_aroace" - } - }, - { - "when": { - "straw": "agender", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_agender" - } - }, - { - "when": { - "straw": "bi", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_bi" - } - }, - { - "when": { - "straw": "pan", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_pan" - } - }, - { - "when": { - "straw": "german", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_german" - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual" - } - }, - - - { - "when": { - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_orange", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_orange", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", - "y": 180 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full", - "y": 180 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half", - "y": 180 - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/lemon_slice", - "y": 180 - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/orange_slice", - "y": 180 - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1", - "y": 180 - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2", - "y": 180 - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3", - "y": 180 - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4", - "y": 180 - } - }, - { - "when": { - "straw": "basic", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_basic", - "y": 180 - } - }, - { - "when": { - "straw": "rainbow", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow", - "y": 180 - } - }, - { - "when": { - "straw": "trans", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_trans", - "y": 180 - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary", - "y": 180 - } - }, - { - "when": { - "straw": "lesbian", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian", - "y": 180 - } - }, - { - "when": { - "straw": "gay", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_gay", - "y": 180 - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid", - "y": 180 - } - }, - { - "when": { - "straw": "ace", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_ace", - "y": 180 - } - }, - { - "when": { - "straw": "aro", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_aro", - "y": 180 - } - }, - { - "when": { - "straw": "aroace", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_aroace", - "y": 180 - } - }, - { - "when": { - "straw": "agender", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_agender", - "y": 180 - } - }, - { - "when": { - "straw": "bi", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_bi", - "y": 180 - } - }, - { - "when": { - "straw": "pan", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_pan", - "y": 180 - } - }, - { - "when": { - "straw": "german", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_german", - "y": 180 - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual", - "y": 180 - } - }, - - - { - "when": { - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_orange", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_orange", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", - "y": 90 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full", - "y": 90 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half", - "y": 90 - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/lemon_slice", - "y": 90 - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/orange_slice", - "y": 90 - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1", - "y": 90 - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2", - "y": 90 - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3", - "y": 90 - } - }, - { - "when": { - "umbrella": "orange_white", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4", - "y": 90 - } - }, - { - "when": { - "straw": "basic", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_basic", - "y": 90 - } - }, - { - "when": { - "straw": "rainbow", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow", - "y": 90 - } - }, - { - "when": { - "straw": "trans", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_trans", - "y": 90 - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary", - "y": 90 - } - }, - { - "when": { - "straw": "lesbian", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian", - "y": 90 - } - }, - { - "when": { - "straw": "gay", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_gay", - "y": 90 - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid", - "y": 90 - } - }, - { - "when": { - "straw": "ace", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_ace", - "y": 90 - } - }, - { - "when": { - "straw": "aro", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_aro", - "y": 90 - } - }, - { - "when": { - "straw": "aroace", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_aroace", - "y": 90 - } - }, - { - "when": { - "straw": "agender", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_agender", - "y": 90 - } - }, - { - "when": { - "straw": "bi", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_bi", - "y": 90 - } - }, - { - "when": { - "straw": "pan", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_pan", - "y": 90 - } - }, - { - "when": { - "straw": "german", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_german", - "y": 90 - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual", - "y": 90 - } - }, - - - { - "when": { - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_orange", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_orange", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", - "y": 270 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full", - "y": 270 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half", - "y": 270 - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/lemon_slice", - "y": 270 - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/orange_slice", - "y": 270 - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1", - "y": 270 - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2", - "y": 270 - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3", - "y": 270 - } - }, - { - "when": { - "umbrella": "orange_white", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4", - "y": 270 - } - }, - { - "when": { - "straw": "basic", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_basic", - "y": 270 - } - }, - { - "when": { - "straw": "rainbow", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow", - "y": 270 - } - }, - { - "when": { - "straw": "trans", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_trans", - "y": 270 - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary", - "y": 270 - } - }, - { - "when": { - "straw": "lesbian", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian", - "y": 270 - } - }, - { - "when": { - "straw": "gay", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_gay", - "y": 270 - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid", - "y": 270 - } - }, - { - "when": { - "straw": "ace", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_ace", - "y": 270 - } - }, - { - "when": { - "straw": "aro", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_aro", - "y": 270 - } - }, - { - "when": { - "straw": "aroace", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_aroace", - "y": 270 - } - }, - { - "when": { - "straw": "agender", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_agender", - "y": 270 - } - }, - { - "when": { - "straw": "bi", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_bi", - "y": 270 - } - }, - { - "when": { - "straw": "pan", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_pan", - "y": 270 - } - }, - { - "when": { - "straw": "german", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_german", - "y": 270 - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual", - "y": 270 - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json deleted file mode 100644 index 8921785..0000000 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json +++ /dev/null @@ -1,424 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "texture_size": [32, 32], - "render_type": "minecraft:translucent", - "textures": { - "g0": "lemonmates:item/lemonade_glass", - "particle": "lemonmates:item/lemonade_glass", - "s50": "lemonmates:block/flag_color/red", - "s51": "lemonmates:block/flag_color/white", - "s52": "lemonmates:block/flag_color/red", - "s53": "lemonmates:block/flag_color/white", - "s54": "lemonmates:block/flag_color/red", - "u1": "lemonmates:block/drink_umbrella_1" - }, - "elements": [ - { - "name": "north_west", - "from": [5, 0, 5], - "to": [6, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 5]}, - "faces": { - "north": {"uv": [6, 2, 6.5, 5.5], "texture": "#g0"}, - "east": {"uv": [6, 5.5, 6.5, 9], "texture": "#g0"}, - "south": {"uv": [6.5, 2, 7, 5.5], "texture": "#g0"}, - "west": {"uv": [6.5, 5.5, 7, 9], "texture": "#g0"}, - "up": {"uv": [4, 10, 3.5, 9.5], "texture": "#g0"}, - "down": {"uv": [10, 7, 9.5, 7.5], "texture": "#g0"} - } - }, - { - "name": "north_east", - "from": [10, 0, 5], - "to": [11, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 5]}, - "faces": { - "north": {"uv": [7, 2, 7.5, 5.5], "texture": "#g0"}, - "east": {"uv": [4, 7, 4.5, 10.5], "texture": "#g0"}, - "south": {"uv": [4.5, 7, 5, 10.5], "texture": "#g0"}, - "west": {"uv": [5, 7, 5.5, 10.5], "texture": "#g0"}, - "up": {"uv": [10, 8, 9.5, 7.5], "texture": "#g0"}, - "down": {"uv": [10, 8, 9.5, 8.5], "texture": "#g0"} - } - }, - { - "name": "south_east", - "from": [10, 0, 10], - "to": [11, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 10]}, - "faces": { - "north": {"uv": [5.5, 7, 6, 10.5], "texture": "#g0"}, - "east": {"uv": [7, 5.5, 7.5, 9], "texture": "#g0"}, - "south": {"uv": [0, 7.5, 0.5, 11], "texture": "#g0"}, - "west": {"uv": [0.5, 7.5, 1, 11], "texture": "#g0"}, - "up": {"uv": [10, 9, 9.5, 8.5], "texture": "#g0"}, - "down": {"uv": [9.5, 9.5, 9, 10], "texture": "#g0"} - } - }, - { - "name": "south_west", - "from": [5, 0, 10], - "to": [6, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 10]}, - "faces": { - "north": {"uv": [1, 7.5, 1.5, 11], "texture": "#g0"}, - "east": {"uv": [1.5, 7.5, 2, 11], "texture": "#g0"}, - "south": {"uv": [2, 7.5, 2.5, 11], "texture": "#g0"}, - "west": {"uv": [7.5, 2, 8, 5.5], "texture": "#g0"}, - "up": {"uv": [10, 10, 9.5, 9.5], "texture": "#g0"}, - "down": {"uv": [10.5, 0, 10, 0.5], "texture": "#g0"} - } - }, - { - "name": "north", - "from": [6, 6, 5], - "to": [10, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 5]}, - "faces": { - "north": {"uv": [7.5, 5.5, 9.5, 6], "texture": "#g0"}, - "south": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#g0"}, - "up": {"uv": [9.5, 7, 7.5, 6.5], "texture": "#g0"}, - "down": {"uv": [9.5, 7, 7.5, 7.5], "texture": "#g0"} - } - }, - { - "name": "east", - "from": [10, 6, 6], - "to": [11, 7, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 6, 6]}, - "faces": { - "east": {"uv": [7.5, 7.5, 9.5, 8], "texture": "#g0"}, - "west": {"uv": [8, 0, 10, 0.5], "texture": "#g0"}, - "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#g0"}, - "down": {"uv": [3.5, 7.5, 3, 9.5], "texture": "#g0"} - } - }, - { - "name": "south", - "from": [6, 6, 10], - "to": [10, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 10]}, - "faces": { - "north": {"uv": [8, 0.5, 10, 1], "texture": "#g0"}, - "south": {"uv": [8, 1, 10, 1.5], "texture": "#g0"}, - "up": {"uv": [10, 2, 8, 1.5], "texture": "#g0"}, - "down": {"uv": [10, 2, 8, 2.5], "texture": "#g0"} - } - }, - { - "name": "west", - "from": [5, 6, 6], - "to": [6, 7, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 6, 6]}, - "faces": { - "east": {"uv": [8, 2.5, 10, 3], "texture": "#g0"}, - "west": {"uv": [8, 3, 10, 3.5], "texture": "#g0"}, - "up": {"uv": [4, 9.5, 3.5, 7.5], "texture": "#g0"}, - "down": {"uv": [8.5, 3.5, 8, 5.5], "texture": "#g0"} - } - }, - { - "name": "north", - "from": [6, 0, 5], - "to": [10, 1, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, - "faces": { - "north": {"uv": [7.5, 8, 9.5, 8.5], "texture": "#g0"}, - "south": {"uv": [8.5, 3.5, 10.5, 4], "texture": "#g0"}, - "up": {"uv": [10.5, 4.5, 8.5, 4], "texture": "#g0"}, - "down": {"uv": [10.5, 4.5, 8.5, 5], "texture": "#g0"} - } - }, - { - "name": "east", - "from": [10, 0, 6], - "to": [11, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 6]}, - "faces": { - "east": {"uv": [8.5, 5, 10.5, 5.5], "texture": "#g0"}, - "west": {"uv": [7.5, 8.5, 9.5, 9], "texture": "#g0"}, - "up": {"uv": [6.5, 11, 6, 9], "texture": "#g0"}, - "down": {"uv": [7, 9, 6.5, 11], "texture": "#g0"} - } - }, - { - "name": "south", - "from": [6, 0, 10], - "to": [10, 1, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 10]}, - "faces": { - "north": {"uv": [7, 9, 9, 9.5], "texture": "#g0"}, - "south": {"uv": [9, 9, 11, 9.5], "texture": "#g0"}, - "up": {"uv": [11.5, 6, 9.5, 5.5], "texture": "#g0"}, - "down": {"uv": [11.5, 6, 9.5, 6.5], "texture": "#g0"} - } - }, - { - "name": "west", - "from": [5, 0, 6], - "to": [6, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 6]}, - "faces": { - "east": {"uv": [9.5, 6.5, 11.5, 7], "texture": "#g0"}, - "west": {"uv": [7, 9.5, 9, 10], "texture": "#g0"}, - "up": {"uv": [3, 11.5, 2.5, 9.5], "texture": "#g0"}, - "down": {"uv": [3.5, 9.5, 3, 11.5], "texture": "#g0"} - } - }, - { - "name": "bottom", - "from": [6, 0, 6], - "to": [10, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, - "faces": { - "up": {"uv": [6, 7, 4, 5], "texture": "#g0"}, - "down": {"uv": [8, 0, 6, 2], "texture": "#g0"} - } - }, - { - "name": "west", - "from": [5, 1, 6], - "to": [6, 6, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 6]}, - "faces": { - "east": {"uv": [0, 0, 2, 2.5], "texture": "#g0"}, - "west": {"uv": [2, 0, 4, 2.5], "texture": "#g0"} - } - }, - { - "name": "east", - "from": [10, 1, 6], - "to": [11, 6, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 6]}, - "faces": { - "east": {"uv": [0, 2.5, 2, 5], "texture": "#g0"}, - "west": {"uv": [2, 2.5, 4, 5], "texture": "#g0"} - } - }, - { - "name": "north", - "from": [6, 1, 5], - "to": [10, 6, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 5]}, - "faces": { - "north": {"uv": [4, 0, 6, 2.5], "texture": "#g0"}, - "south": {"uv": [4, 2.5, 6, 5], "texture": "#g0"} - } - }, - { - "name": "south", - "from": [6, 1, 10], - "to": [10, 6, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 10]}, - "faces": { - "north": {"uv": [0, 5, 2, 7.5], "texture": "#g0"}, - "south": {"uv": [2, 5, 4, 7.5], "texture": "#g0"} - } - }, - { - "name": "bottom", - "from": [8, 1, 9], - "to": [9, 2.8, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, - "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, - "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, - "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, - "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} - } - }, - { - "name": "middle_bottom", - "from": [8, 2.8, 9], - "to": [9, 4.6, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, - "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, - "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, - "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} - } - }, - { - "name": "middle", - "from": [8, 4.6, 9], - "to": [9, 6.4, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, - "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, - "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, - "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} - } - }, - { - "name": "middle_top", - "from": [8, 6.4, 9], - "to": [9, 8.2, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, - "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, - "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, - "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} - } - }, - { - "name": "top", - "from": [8, 8.2, 9], - "to": [9, 10, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, - "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, - "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, - "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, - "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} - } - }, - { - "name": "shaft", - "from": [9, 5, 5.5], - "to": [10, 10, 6.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, - "east": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, - "south": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, - "west": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, - "up": {"uv": [6, 4, 5, 3], "texture": "#u1"}, - "down": {"uv": [6, 3, 5, 4], "texture": "#u1"} - } - }, - { - "name": "top", - "from": [7, 9.5, 3.5], - "to": [12, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [1, 0, 6, 0], "texture": "#u1"}, - "east": {"uv": [0, 0, 5, 0], "texture": "#u1"}, - "south": {"uv": [0, 0, 5, 0], "texture": "#u1"}, - "west": {"uv": [0, 0, 5, 0], "texture": "#u1"}, - "up": {"uv": [5, 5, 0, 0], "texture": "#u1"}, - "down": {"uv": [5, 0, 0, 5], "texture": "#u1"} - } - }, - { - "name": "north", - "from": [7, 8.5, 3.5], - "to": [12, 9.5, 3.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [5, 0, 10, 1], "texture": "#u1"}, - "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, - "south": {"uv": [10, 0, 5, 1], "texture": "#u1"}, - "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, - "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, - "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} - } - }, - { - "name": "south", - "from": [7, 8.5, 8.5], - "to": [12, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [10, 0, 5, 1], "texture": "#u1"}, - "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, - "south": {"uv": [5, 0, 10, 1], "texture": "#u1"}, - "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, - "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, - "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} - } - }, - { - "name": "west", - "from": [7, 8.5, 3.5], - "to": [7, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, - "east": {"uv": [10, 1, 5, 2], "texture": "#u1"}, - "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, - "west": {"uv": [5, 1, 10, 2], "texture": "#u1"}, - "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, - "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} - } - }, - { - "name": "east", - "from": [12, 8.5, 3.5], - "to": [12, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, - "east": {"uv": [5, 1, 10, 2], "texture": "#u1"}, - "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, - "west": {"uv": [10, 1, 5, 2], "texture": "#u1"}, - "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, - "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} - } - } - ], - "display": { - "thirdperson_righthand": { - "translation": [0, 5.25, 1.5], - "scale": [0.67, 0.67, 0.67] - }, - "thirdperson_lefthand": { - "translation": [0, 5.25, 1.5], - "scale": [0.67, 0.67, 0.67] - }, - "firstperson_righthand": { - "translation": [0, 6, 0], - "scale": [0.8, 0.8, 0.8] - }, - "firstperson_lefthand": { - "translation": [0, 6, 0], - "scale": [0.8, 0.8, 0.8] - }, - "ground": { - "translation": [0, 3.5, 0], - "scale": [0.68, 0.68, 0.68] - }, - "gui": { - "rotation": [22.5, -22.5, 0], - "translation": [0, 3.5, 0] - }, - "head": { - "translation": [0, 14.5, 0] - }, - "on_shelf": { - "scale": [1.87, 1.87, 1.87] - } - }, - "groups": [ - { - "name": "edges", - "origin": [8, 8, 8], - "color": 0, - "children": [0, 1, 2, 3] - }, - { - "name": "top_edges", - "origin": [8, 8, 8], - "color": 0, - "children": [4, 5, 6, 7] - }, - { - "name": "bottom_edges", - "origin": [8, 8, 8], - "color": 0, - "children": [8, 9, 10, 11] - }, - { - "name": "faces", - "origin": [8, 8, 8], - "color": 0, - "children": [12, 13, 14, 15, 16] - } - ] -} \ No newline at end of file From b7bc35a988494358495b7aa0c8e6436a49eba671 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 31 May 2026 17:38:54 +0200 Subject: [PATCH 66/76] quark compatibility for direct chest boat crafting --- .../citron_chest_boat_direct.json | 27 +++++++++++++++++++ .../orange_chest_boat_direct.json | 27 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 src/main/resources/data/lemonmates/recipe/shaped/quark_compat/citron_chest_boat_direct.json create mode 100644 src/main/resources/data/lemonmates/recipe/shaped/quark_compat/orange_chest_boat_direct.json diff --git a/src/main/resources/data/lemonmates/recipe/shaped/quark_compat/citron_chest_boat_direct.json b/src/main/resources/data/lemonmates/recipe/shaped/quark_compat/citron_chest_boat_direct.json new file mode 100644 index 0000000..48a4187 --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/shaped/quark_compat/citron_chest_boat_direct.json @@ -0,0 +1,27 @@ +{ + "neoforge:conditions": [ + { + "type": "zeta:flag", + "flag": "direct_chest_boat" + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "group": "direct_chest_boat", + "key": { + "#": { + "item": "lemonmates:citron_planks" + }, + "X": { + "tag": "c:chests/wooden" + } + }, + "pattern": [ + "#X#", + "###" + ], + "result": { + "count": 1, + "id": "lemonmates:citron_chest_boat" + } +} \ No newline at end of file diff --git a/src/main/resources/data/lemonmates/recipe/shaped/quark_compat/orange_chest_boat_direct.json b/src/main/resources/data/lemonmates/recipe/shaped/quark_compat/orange_chest_boat_direct.json new file mode 100644 index 0000000..22c195b --- /dev/null +++ b/src/main/resources/data/lemonmates/recipe/shaped/quark_compat/orange_chest_boat_direct.json @@ -0,0 +1,27 @@ +{ + "neoforge:conditions": [ + { + "type": "zeta:flag", + "flag": "direct_chest_boat" + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "group": "direct_chest_boat", + "key": { + "#": { + "item": "lemonmates:orange_planks" + }, + "X": { + "tag": "c:chests/wooden" + } + }, + "pattern": [ + "#X#", + "###" + ], + "result": { + "count": 1, + "id": "lemonmates:orange_chest_boat" + } +} \ No newline at end of file From 29e625c55364a9bff45c4890d944459d26e03cb0 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 31 May 2026 17:39:23 +0200 Subject: [PATCH 67/76] model fixes --- .../models/block/ice_cube_full.json | 38 +- .../models/block/ice_cube_half.json | 62 +-- .../lemonade_glass_fluid_full_watermelon.json | 2 +- .../models/block/lemonade_jug_glass.json | 4 +- .../lemonmates/models/item/ice_cubes.json | 41 +- .../models/item/lemonade_glass_decorated.json | 423 +++++++++++++++++- 6 files changed, 496 insertions(+), 74 deletions(-) diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json b/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json index 75ff90d..3772c9e 100644 --- a/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json +++ b/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json @@ -2,7 +2,7 @@ "format_version": "1.9.0", "credit": "Made with Blockbench", "textures": { - "0": "minecraft:block/ice", + "if": "minecraft:block/ice", "particle": "minecraft:block/ice" }, "elements": [ @@ -12,12 +12,12 @@ "to": [7.75, 7, 7.5], "rotation": {"angle": -22.5, "axis": "z", "origin": [7.5, 5.75, 8]}, "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + "north": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#if"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#if"} } }, { @@ -26,12 +26,12 @@ "to": [9.5, 6.17493, 7.2], "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 5, 8]}, "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + "north": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#if"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#if"} } }, { @@ -40,12 +40,12 @@ "to": [9.25, 7, 8.25], "rotation": {"angle": -22.5, "axis": "y", "origin": [8.25, 6, 7.25]}, "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + "north": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#if"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#if"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#if"} } } ], diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json b/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json index 523d281..7ba73e2 100644 --- a/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json +++ b/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json @@ -2,7 +2,7 @@ "format_version": "1.9.0", "credit": "Made with Blockbench", "textures": { - "0": "minecraft:block/ice", + "ih": "minecraft:block/ice", "particle": "minecraft:block/ice" }, "elements": [ @@ -12,12 +12,12 @@ "to": [7.75, 5, 7.5], "rotation": {"angle": -22.5, "axis": "z", "origin": [7.5, 3.75, 8]}, "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + "north": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ih"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ih"} } }, { @@ -26,12 +26,12 @@ "to": [7.75, 4.75, 10], "rotation": {"angle": -22.5, "axis": "y", "origin": [7.75, 3.75, 9.75]}, "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + "north": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ih"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ih"} } }, { @@ -40,12 +40,12 @@ "to": [9.5, 4.17493, 7.11575], "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 3, 8]}, "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + "north": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ih"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ih"} } }, { @@ -54,12 +54,12 @@ "to": [9.25, 5.5, 7.25], "rotation": {"angle": 22.5, "axis": "z", "origin": [8.25, 4.5, 6.25]}, "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + "north": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ih"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ih"} } }, { @@ -68,12 +68,12 @@ "to": [7.44901, 5.2374, 8.70269], "rotation": {"angle": -45, "axis": "z", "origin": [6.44028, 4.22711, 0]}, "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + "north": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ih"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ih"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ih"} } } ], diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_watermelon.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_watermelon.json index 7c108f2..eb701e8 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_watermelon.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_fluid_full_watermelon.json @@ -3,7 +3,7 @@ "credit": "Made with Blockbench", "render_type": "minecraft:translucent", "textures": { - "f0": "lemonmates:block/lemonade_glass_fluid", + "f0": "lemonmates:block/lemonade_glass_fluid_watermelon", "particle": "lemonmates:item/empty" }, "elements": [ diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json index 508e281..033e50b 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json @@ -3,8 +3,8 @@ "credit": "Made with Blockbench", "texture_size": [32, 32], "textures": { - "jg": "item/lemonade_jug_glass", - "particle": "item/lemonade_jug_glass" + "jg": "block/lemonade_jug_glass", + "particle": "block/lemonade_jug_glass" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/item/ice_cubes.json b/src/main/resources/assets/lemonmates/models/item/ice_cubes.json index 118852c..3338a99 100644 --- a/src/main/resources/assets/lemonmates/models/item/ice_cubes.json +++ b/src/main/resources/assets/lemonmates/models/item/ice_cubes.json @@ -1,9 +1,10 @@ { "format_version": "1.21.6", "credit": "Made with Blockbench", + "render_type": "minecraft:noOcclusion", "textures": { - "0": "item/ice_cube", - "particle": "item/ice_cube" + "ii": "block/ice_cubes", + "particle": "block/ice_cubes" }, "elements": [ { @@ -12,12 +13,12 @@ "to": [8.25, 1.25, 8.25], "rotation": {"angle": 0, "axis": "z", "origin": [7, 0, 7]}, "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + "north": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ii"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ii"} } }, { @@ -26,12 +27,12 @@ "to": [9.5, 1, 8.75], "rotation": {"angle": 0, "axis": "y", "origin": [8.5, 0, 7.75]}, "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + "north": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ii"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ii"} } }, { @@ -40,12 +41,12 @@ "to": [9.25, 2, 8.5], "rotation": {"angle": 0, "axis": "x", "origin": [8.25, 1, 7.5]}, "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#0"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#0"} + "north": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ii"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ii"} } } ], diff --git a/src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json b/src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json index 1f4b947..8921785 100644 --- a/src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json +++ b/src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json @@ -1,3 +1,424 @@ { - "parent": "lemonmates:block/lemonade_glass_decorated" + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "render_type": "minecraft:translucent", + "textures": { + "g0": "lemonmates:item/lemonade_glass", + "particle": "lemonmates:item/lemonade_glass", + "s50": "lemonmates:block/flag_color/red", + "s51": "lemonmates:block/flag_color/white", + "s52": "lemonmates:block/flag_color/red", + "s53": "lemonmates:block/flag_color/white", + "s54": "lemonmates:block/flag_color/red", + "u1": "lemonmates:block/drink_umbrella_1" + }, + "elements": [ + { + "name": "north_west", + "from": [5, 0, 5], + "to": [6, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 5]}, + "faces": { + "north": {"uv": [6, 2, 6.5, 5.5], "texture": "#g0"}, + "east": {"uv": [6, 5.5, 6.5, 9], "texture": "#g0"}, + "south": {"uv": [6.5, 2, 7, 5.5], "texture": "#g0"}, + "west": {"uv": [6.5, 5.5, 7, 9], "texture": "#g0"}, + "up": {"uv": [4, 10, 3.5, 9.5], "texture": "#g0"}, + "down": {"uv": [10, 7, 9.5, 7.5], "texture": "#g0"} + } + }, + { + "name": "north_east", + "from": [10, 0, 5], + "to": [11, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 5]}, + "faces": { + "north": {"uv": [7, 2, 7.5, 5.5], "texture": "#g0"}, + "east": {"uv": [4, 7, 4.5, 10.5], "texture": "#g0"}, + "south": {"uv": [4.5, 7, 5, 10.5], "texture": "#g0"}, + "west": {"uv": [5, 7, 5.5, 10.5], "texture": "#g0"}, + "up": {"uv": [10, 8, 9.5, 7.5], "texture": "#g0"}, + "down": {"uv": [10, 8, 9.5, 8.5], "texture": "#g0"} + } + }, + { + "name": "south_east", + "from": [10, 0, 10], + "to": [11, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 10]}, + "faces": { + "north": {"uv": [5.5, 7, 6, 10.5], "texture": "#g0"}, + "east": {"uv": [7, 5.5, 7.5, 9], "texture": "#g0"}, + "south": {"uv": [0, 7.5, 0.5, 11], "texture": "#g0"}, + "west": {"uv": [0.5, 7.5, 1, 11], "texture": "#g0"}, + "up": {"uv": [10, 9, 9.5, 8.5], "texture": "#g0"}, + "down": {"uv": [9.5, 9.5, 9, 10], "texture": "#g0"} + } + }, + { + "name": "south_west", + "from": [5, 0, 10], + "to": [6, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 10]}, + "faces": { + "north": {"uv": [1, 7.5, 1.5, 11], "texture": "#g0"}, + "east": {"uv": [1.5, 7.5, 2, 11], "texture": "#g0"}, + "south": {"uv": [2, 7.5, 2.5, 11], "texture": "#g0"}, + "west": {"uv": [7.5, 2, 8, 5.5], "texture": "#g0"}, + "up": {"uv": [10, 10, 9.5, 9.5], "texture": "#g0"}, + "down": {"uv": [10.5, 0, 10, 0.5], "texture": "#g0"} + } + }, + { + "name": "north", + "from": [6, 6, 5], + "to": [10, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 5]}, + "faces": { + "north": {"uv": [7.5, 5.5, 9.5, 6], "texture": "#g0"}, + "south": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#g0"}, + "up": {"uv": [9.5, 7, 7.5, 6.5], "texture": "#g0"}, + "down": {"uv": [9.5, 7, 7.5, 7.5], "texture": "#g0"} + } + }, + { + "name": "east", + "from": [10, 6, 6], + "to": [11, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 6, 6]}, + "faces": { + "east": {"uv": [7.5, 7.5, 9.5, 8], "texture": "#g0"}, + "west": {"uv": [8, 0, 10, 0.5], "texture": "#g0"}, + "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#g0"}, + "down": {"uv": [3.5, 7.5, 3, 9.5], "texture": "#g0"} + } + }, + { + "name": "south", + "from": [6, 6, 10], + "to": [10, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 10]}, + "faces": { + "north": {"uv": [8, 0.5, 10, 1], "texture": "#g0"}, + "south": {"uv": [8, 1, 10, 1.5], "texture": "#g0"}, + "up": {"uv": [10, 2, 8, 1.5], "texture": "#g0"}, + "down": {"uv": [10, 2, 8, 2.5], "texture": "#g0"} + } + }, + { + "name": "west", + "from": [5, 6, 6], + "to": [6, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 6, 6]}, + "faces": { + "east": {"uv": [8, 2.5, 10, 3], "texture": "#g0"}, + "west": {"uv": [8, 3, 10, 3.5], "texture": "#g0"}, + "up": {"uv": [4, 9.5, 3.5, 7.5], "texture": "#g0"}, + "down": {"uv": [8.5, 3.5, 8, 5.5], "texture": "#g0"} + } + }, + { + "name": "north", + "from": [6, 0, 5], + "to": [10, 1, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, + "faces": { + "north": {"uv": [7.5, 8, 9.5, 8.5], "texture": "#g0"}, + "south": {"uv": [8.5, 3.5, 10.5, 4], "texture": "#g0"}, + "up": {"uv": [10.5, 4.5, 8.5, 4], "texture": "#g0"}, + "down": {"uv": [10.5, 4.5, 8.5, 5], "texture": "#g0"} + } + }, + { + "name": "east", + "from": [10, 0, 6], + "to": [11, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 6]}, + "faces": { + "east": {"uv": [8.5, 5, 10.5, 5.5], "texture": "#g0"}, + "west": {"uv": [7.5, 8.5, 9.5, 9], "texture": "#g0"}, + "up": {"uv": [6.5, 11, 6, 9], "texture": "#g0"}, + "down": {"uv": [7, 9, 6.5, 11], "texture": "#g0"} + } + }, + { + "name": "south", + "from": [6, 0, 10], + "to": [10, 1, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 10]}, + "faces": { + "north": {"uv": [7, 9, 9, 9.5], "texture": "#g0"}, + "south": {"uv": [9, 9, 11, 9.5], "texture": "#g0"}, + "up": {"uv": [11.5, 6, 9.5, 5.5], "texture": "#g0"}, + "down": {"uv": [11.5, 6, 9.5, 6.5], "texture": "#g0"} + } + }, + { + "name": "west", + "from": [5, 0, 6], + "to": [6, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 6]}, + "faces": { + "east": {"uv": [9.5, 6.5, 11.5, 7], "texture": "#g0"}, + "west": {"uv": [7, 9.5, 9, 10], "texture": "#g0"}, + "up": {"uv": [3, 11.5, 2.5, 9.5], "texture": "#g0"}, + "down": {"uv": [3.5, 9.5, 3, 11.5], "texture": "#g0"} + } + }, + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "up": {"uv": [6, 7, 4, 5], "texture": "#g0"}, + "down": {"uv": [8, 0, 6, 2], "texture": "#g0"} + } + }, + { + "name": "west", + "from": [5, 1, 6], + "to": [6, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 6]}, + "faces": { + "east": {"uv": [0, 0, 2, 2.5], "texture": "#g0"}, + "west": {"uv": [2, 0, 4, 2.5], "texture": "#g0"} + } + }, + { + "name": "east", + "from": [10, 1, 6], + "to": [11, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 6]}, + "faces": { + "east": {"uv": [0, 2.5, 2, 5], "texture": "#g0"}, + "west": {"uv": [2, 2.5, 4, 5], "texture": "#g0"} + } + }, + { + "name": "north", + "from": [6, 1, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 5]}, + "faces": { + "north": {"uv": [4, 0, 6, 2.5], "texture": "#g0"}, + "south": {"uv": [4, 2.5, 6, 5], "texture": "#g0"} + } + }, + { + "name": "south", + "from": [6, 1, 10], + "to": [10, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 10]}, + "faces": { + "north": {"uv": [0, 5, 2, 7.5], "texture": "#g0"}, + "south": {"uv": [2, 5, 4, 7.5], "texture": "#g0"} + } + }, + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + }, + { + "name": "shaft", + "from": [9, 5, 5.5], + "to": [10, 10, 6.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "east": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "south": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "west": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "up": {"uv": [6, 4, 5, 3], "texture": "#u1"}, + "down": {"uv": [6, 3, 5, 4], "texture": "#u1"} + } + }, + { + "name": "top", + "from": [7, 9.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [1, 0, 6, 0], "texture": "#u1"}, + "east": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "south": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "west": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "up": {"uv": [5, 5, 0, 0], "texture": "#u1"}, + "down": {"uv": [5, 0, 0, 5], "texture": "#u1"} + } + }, + { + "name": "north", + "from": [7, 8.5, 3.5], + "to": [12, 9.5, 3.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "south", + "from": [7, 8.5, 8.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "west", + "from": [7, 8.5, 3.5], + "to": [7, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + }, + { + "name": "east", + "from": [12, 8.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 5.25, 1.5], + "scale": [0.67, 0.67, 0.67] + }, + "thirdperson_lefthand": { + "translation": [0, 5.25, 1.5], + "scale": [0.67, 0.67, 0.67] + }, + "firstperson_righthand": { + "translation": [0, 6, 0], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "translation": [0, 6, 0], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 3.5, 0], + "scale": [0.68, 0.68, 0.68] + }, + "gui": { + "rotation": [22.5, -22.5, 0], + "translation": [0, 3.5, 0] + }, + "head": { + "translation": [0, 14.5, 0] + }, + "on_shelf": { + "scale": [1.87, 1.87, 1.87] + } + }, + "groups": [ + { + "name": "edges", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "top_edges", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7] + }, + { + "name": "bottom_edges", + "origin": [8, 8, 8], + "color": 0, + "children": [8, 9, 10, 11] + }, + { + "name": "faces", + "origin": [8, 8, 8], + "color": 0, + "children": [12, 13, 14, 15, 16] + } + ] } \ No newline at end of file From 87ebb50009688e26ff4713eed41e324fdb5a6cde Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 31 May 2026 17:39:33 +0200 Subject: [PATCH 68/76] tooltip adjustments --- src/main/resources/assets/lemonmates/lang/de_de.json | 10 +++++----- src/main/resources/assets/lemonmates/lang/en_us.json | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/resources/assets/lemonmates/lang/de_de.json b/src/main/resources/assets/lemonmates/lang/de_de.json index f53d8e2..7e49d8e 100644 --- a/src/main/resources/assets/lemonmates/lang/de_de.json +++ b/src/main/resources/assets/lemonmates/lang/de_de.json @@ -98,7 +98,7 @@ "block.lemonmates.raspberry_crate": "Himbeerenkiste", "block.lemonmates.lemonade_glass": "Limonadenglass", - "block.lemonmates.lemonade_glass_decorated": "Dekoriertes Limonadenglass", + "item.lemonmates.lemonade_glass_decorated": "Dekoriertes Limonadenglass", "item.lemonmates.ice_cubes": "Eiswürfel", "block.lemonmates.lemonade_jug_terracotta": "Porzellanlimonadenkrug", "block.lemonmates.lemonade_jug_glass": "Glaslimonadenkrug", @@ -183,10 +183,10 @@ "jugFluid.lemonmates.watermelon_lemonade": "Wassermelonenlimonade", "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "Ein Weg, um deine Flüssigkeiten _asthetischer_ zu lagern. Genug Platz, um _8 Gläser_ komplett zu füllen.", - "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_Wenn während Schleichen genutzt mit leerer sekundärer Hand_ (Ausschenkbar: %1$s)", - "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Wechselt die Ausschenkenfunktion zu _aktiv oder nicht._ (Aktuelle Flüssigkeit: %2$s)", - "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_Wenn genutzt auf ein Limonadenglas_", - "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour2": "Schenkt die _Flüssigkeit vom Krug_ in das Glas.", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_Wenn während Schleichen genutzt mit leerer sekundärer Hand_", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Wechselt die Ausschenkenfunktion zwischen _aktiv oder nicht._ (Aktuelle Flüssigkeit: %2$s)", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_Wenn genutzt auf ein Limonadenglas_ (Ausschenkbar: %1$s)", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour2": "Schenkt die _Flüssigkeit vom Krug_ in das Glas. (Füllungen übrig: %3$s)", "block.lemonmates.lemonade_jug_terracotta.tooltip.condition3": "_Wenn genutzt in die Luft mit Limonadenflasche in sekundärer Hand_", "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour3": "Füllt die _Flüssigkeit der Flasche_ in den Krug." } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index 262485c..658feb3 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -98,7 +98,7 @@ "block.lemonmates.raspberry_crate": "Raspberry Crate", "block.lemonmates.lemonade_glass": "Lemonade Glass", - "block.lemonmates.lemonade_glass_decorated": "Decorated Lemonade Glass", + "item.lemonmates.lemonade_glass_decorated": "Decorated Lemonade Glass", "item.lemonmates.ice_cubes": "Ice Cubes", "block.lemonmates.lemonade_jug_terracotta": "Terracotta Lemonade Jug", "block.lemonmates.lemonade_jug_glass": "Glass Lemonade Jug", @@ -183,10 +183,10 @@ "jugFluid.lemonmates.watermelon_lemonade": "Watermelon Lemonade", "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "A way to store your fluids _more aesthetically._ Holds enough fluid to fill _8 glasses_.", - "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_When used while sneaking with empty offhand_ (Currently able to pour: %1$s)", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_When used while sneaking with empty offhand_", "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Toggle pouring functionality to either be _active or not._ (Currently Pouring: %2$s)", - "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_When used onto a Lemonade Glass_", - "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour2": "Pours the _fluid contained within_ into the glass.", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_When used onto a Lemonade Glass_ (Currently able to pour: %1$s)", + "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour2": "Pours the _fluid contained within_ into the glass. (Fluid left: %3$s)", "block.lemonmates.lemonade_jug_terracotta.tooltip.condition3": "_When used in air with Lemonade Bottle in offhand_", "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour3": "Pours the _fluid contained within_ into the jug." } \ No newline at end of file From c14b9d6aee35a2b627b54fd4bf80d1789bdf52f5 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 31 May 2026 18:00:37 +0200 Subject: [PATCH 69/76] something something broken models --- .../blockstates/lemonade_jug_glass.json | 2 +- .../lemonmates/models/block/ice_cubes.json | 91 +++++++++++++++--- .../lemonmates/models/item/ice_cubes.json | 92 +------------------ 3 files changed, 79 insertions(+), 106 deletions(-) diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json index 0b85292..5934e24 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json @@ -2,7 +2,7 @@ "multipart": [ { "apply": { - "model": "lemonmates:block/lemonade_jug_terracotta" + "model": "lemonmates:block/lemonade_jug_glass" } }, { diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cubes.json b/src/main/resources/assets/lemonmates/models/block/ice_cubes.json index 705a3b6..cc4c026 100644 --- a/src/main/resources/assets/lemonmates/models/block/ice_cubes.json +++ b/src/main/resources/assets/lemonmates/models/block/ice_cubes.json @@ -1,29 +1,92 @@ { - "format_version": "1.9.0", + "format_version": "1.21.6", "credit": "Made with Blockbench", - "render_type": "minecraft:translucent", "textures": { - "i1": "lemonmates:block/lemonade_glass_fluid", - "particle": "lemonmates:item/empty" + "ii": "block/ice_cubes", + "particle": "block/ice_cubes" }, "elements": [ { - "name": "fluid", - "from": [6, 1, 6], - "to": [10, 4, 10], + "name": "ice_cube_1", + "from": [7, 0, 7], + "to": [8.25, 1.25, 8.25], + "rotation": {"angle": 0, "axis": "z", "origin": [7, 0, 7]}, "faces": { - "north": {"uv": [4, 0, 8, 3], "texture": "#i1"}, - "east": {"uv": [4, 3, 8, 6], "texture": "#i1"}, - "south": {"uv": [4, 6, 8, 9], "texture": "#i1"}, - "west": {"uv": [0, 8, 4, 11], "texture": "#i1"}, - "up": {"uv": [4, 4, 0, 0], "texture": "#i1"}, - "down": {"uv": [4, 4, 0, 8], "texture": "#i1"} + "north": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ii"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ii"} + } + }, + { + "name": "ice_cube_top", + "from": [8.5, 0, 7.75], + "to": [9.5, 1, 8.75], + "rotation": {"angle": 0, "axis": "y", "origin": [8.5, 0, 7.75]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ii"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ii"} + } + }, + { + "name": "ice_cube_3", + "from": [8.25, 1, 7.5], + "to": [9.25, 2, 8.5], + "rotation": {"angle": 0, "axis": "x", "origin": [8.25, 1, 7.5]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ii"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ii"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ii"} } } ], "display": { + "thirdperson_righthand": { + "translation": [0, 16, 1], + "scale": [2, 2, 2] + }, + "thirdperson_lefthand": { + "translation": [0, 16, 1], + "scale": [2, 2, 2] + }, + "firstperson_righthand": { + "rotation": [0, -45, 0], + "translation": [0, 18, 0], + "scale": [2, 2, 2] + }, + "firstperson_lefthand": { + "rotation": [0, -45, 0], + "translation": [0, 18, 0], + "scale": [2, 2, 2] + }, + "ground": { + "translation": [0, 10, 0], + "scale": [2, 2, 2] + }, + "gui": { + "rotation": [26, 20, 0], + "translation": [0, 12.25, 0], + "scale": [2, 2, 2] + }, "head": { - "translation": [0, 14.5, 0] + "translation": [0, 22.4, -4.4], + "scale": [2, 2, 2] + }, + "fixed": { + "translation": [-0.5, 13, 0], + "scale": [2, 2, 2] + }, + "on_shelf": { + "scale": [2, 2, 2] } } } \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/item/ice_cubes.json b/src/main/resources/assets/lemonmates/models/item/ice_cubes.json index 3338a99..f06f692 100644 --- a/src/main/resources/assets/lemonmates/models/item/ice_cubes.json +++ b/src/main/resources/assets/lemonmates/models/item/ice_cubes.json @@ -1,93 +1,3 @@ { - "format_version": "1.21.6", - "credit": "Made with Blockbench", - "render_type": "minecraft:noOcclusion", - "textures": { - "ii": "block/ice_cubes", - "particle": "block/ice_cubes" - }, - "elements": [ - { - "name": "ice_cube_1", - "from": [7, 0, 7], - "to": [8.25, 1.25, 8.25], - "rotation": {"angle": 0, "axis": "z", "origin": [7, 0, 7]}, - "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ii"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ii"} - } - }, - { - "name": "ice_cube_top", - "from": [8.5, 0, 7.75], - "to": [9.5, 1, 8.75], - "rotation": {"angle": 0, "axis": "y", "origin": [8.5, 0, 7.75]}, - "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ii"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ii"} - } - }, - { - "name": "ice_cube_3", - "from": [8.25, 1, 7.5], - "to": [9.25, 2, 8.5], - "rotation": {"angle": 0, "axis": "x", "origin": [8.25, 1, 7.5]}, - "faces": { - "north": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "east": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "south": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "west": {"uv": [2, 0, 4, 2], "texture": "#ii"}, - "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ii"}, - "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ii"} - } - } - ], - "display": { - "thirdperson_righthand": { - "translation": [0, 16, 1], - "scale": [2, 2, 2] - }, - "thirdperson_lefthand": { - "translation": [0, 16, 1], - "scale": [2, 2, 2] - }, - "firstperson_righthand": { - "rotation": [0, -45, 0], - "translation": [0, 18, 0], - "scale": [2, 2, 2] - }, - "firstperson_lefthand": { - "rotation": [0, -45, 0], - "translation": [0, 18, 0], - "scale": [2, 2, 2] - }, - "ground": { - "translation": [0, 10, 0], - "scale": [2, 2, 2] - }, - "gui": { - "rotation": [26, 20, 0], - "translation": [0, 12.25, 0], - "scale": [2, 2, 2] - }, - "head": { - "translation": [0, 22.4, -4.4], - "scale": [2, 2, 2] - }, - "fixed": { - "translation": [-0.5, 13, 0], - "scale": [2, 2, 2] - }, - "on_shelf": { - "scale": [2, 2, 2] - } - } + "parent": "lemonmates:block/ice_cubes" } \ No newline at end of file From 4065a646a529aec4839afe9335ebad1862b3fad4 Mon Sep 17 00:00:00 2001 From: Dakota Date: Sun, 31 May 2026 13:52:53 -0500 Subject: [PATCH 70/76] Bug fixes + moar adjustments --- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 3 +- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 6 +- .../recipes/misc/lemonade_jug_glass.json | 32 - .../recipes/misc/lemonade_jug_terracotta.json | 32 - .../blocks/lemonade_glass_decorated.json | 4 - .../lemonmates/AllCreativeModeTabs.java | 7 +- .../lemonmates/LemonMatesTooltipUtils.java | 6 +- .../doppelr/lemonmates/block/ModBlocks.java | 4 - .../block/ModDrinkingGlassBlock.java | 4 +- .../doppelr/lemonmates/block/ModJugBlock.java | 7 +- .../datagen/ModBlockLootTableProvider.java | 3 - .../lemonmates/datagen/ModRecipeProvider.java | 31 +- .../net/doppelr/lemonmates/item/ModItems.java | 3 + .../doppelr/lemonmates/item/ModJugItem.java | 75 +- .../blockstates/lemonade_glass_decorated.json | 1380 ----------------- .../blockstates/lemonade_jug_glass.json | 2 +- .../assets/lemonmates/lang/en_us.json | 2 +- .../models/block/ice_cube_full.json | 1 + .../models/block/ice_cube_half.json | 1 + .../block/lemonade_glass_decorated.json | 424 ----- .../models/block/lemonade_jug_glass.json | 23 +- .../models/block/lemonade_jug_terracotta.json | 14 + .../lemonmates/models/item/ice_cubes.json | 4 +- .../models/item/lemonade_glass_decorated.json | 423 ++++- .../recipe/shaped}/lemonade_jug_glass.json | 5 + .../shaped}/lemonade_jug_terracotta.json | 5 + 26 files changed, 575 insertions(+), 1926 deletions(-) delete mode 100644 src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_glass.json delete mode 100644 src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_terracotta.json delete mode 100644 src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json delete mode 100644 src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json delete mode 100644 src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json rename src/{generated/resources/data/lemonmates/recipe => main/resources/data/lemonmates/recipe/shaped}/lemonade_jug_glass.json (70%) rename src/{generated/resources/data/lemonmates/recipe => main/resources/data/lemonmates/recipe/shaped}/lemonade_jug_terracotta.json (66%) diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 838620e..7bde315 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21.1 2026-05-31T12:41:06.4543352 Loot Tables +// 1.21.1 2026-05-31T12:33:12.8145748 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 @@ -18,7 +18,6 @@ be56f3f3d40997839e2f5cafbdd671ad138bff15 data/lemonmates/loot_table/blocks/citro d4e59033f364cc2b689d470b73733bcad5a931a8 data/lemonmates/loot_table/blocks/citron_wall_sign.json 4098d61de0b4bf5314926c5a4b04f366f2f7f8d2 data/lemonmates/loot_table/blocks/citron_wood.json 52b02e8a86046b0714d06d30e507355d0db80338 data/lemonmates/loot_table/blocks/lemonade_glass.json -6cec54e70429e90771526e7e9654ddf9c135eced data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json 823beb259369acb4fdd376e070194ff9e62c9466 data/lemonmates/loot_table/blocks/lemonade_jug_glass.json aed3ef01a3de02d9c3c734a23806caf4d1878430 data/lemonmates/loot_table/blocks/lemonade_jug_terracotta.json f904d74cc3fafb07d9e23051af019f5edaebaeae data/lemonmates/loot_table/blocks/orange_button.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 7caef74..c1a24e9 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.21.1 2026-05-31T12:41:06.4572641 Recipes +// 1.21.1 2026-05-31T13:09:44.0424189 Recipes facd248ef881f97de28f9e5e269db79dc09c7fb3 data/lemonmates/advancement/recipes/building_blocks/citron.json 1d7c61d7aa66adee3bb6a9752e28e5b3481ff485 data/lemonmates/advancement/recipes/building_blocks/citron_crate.json 8c180e50e9625c1985dfc40e7be05f0293d92fd2 data/lemonmates/advancement/recipes/building_blocks/citron_planks.json @@ -28,8 +28,6 @@ ed7cc37c657142fcfb7a9f35e05ee108279cba8f data/lemonmates/advancement/recipes/mis 3f7b9d8f197674a62374728056c3fbb0390897b6 data/lemonmates/advancement/recipes/misc/citron_slice.json 8a5ff5088292e7db5904b0488942fcdeb4f3d8b7 data/lemonmates/advancement/recipes/misc/label_empty.json 2ce38d1b0a3191d6ccf0b53638f457b5a8c0f517 data/lemonmates/advancement/recipes/misc/lemonade_glass.json -42bd069b3e8b34bf2504b8845a13f913b13a3212 data/lemonmates/advancement/recipes/misc/lemonade_jug_glass.json -07794e11bca6b3f5a4541c23ce70e184079ba7f2 data/lemonmates/advancement/recipes/misc/lemonade_jug_terracotta.json 7090289653e8095ab022c12bc87396441acb7b00 data/lemonmates/advancement/recipes/misc/orange_from_crate.json 79dda7e25b11b57791df4af5f50cd05c55a68eb6 data/lemonmates/advancement/recipes/misc/orange_slice.json 02a69065c1431db74b184acb80e738e17de6d632 data/lemonmates/advancement/recipes/misc/preform.json @@ -73,8 +71,6 @@ a2e9563dd03da6f91007bce9d7f5ca443a86d2be data/lemonmates/recipe/citron_slice.jso 8a180511c751f3e23544d072d880c7d0cc60ccec data/lemonmates/recipe/citron_wood.json f37e26b1d661dbf1d288bc4fa2a3d2590aa307d7 data/lemonmates/recipe/label_empty.json 972a1051a558fd53ff3e93e533239e7822f32984 data/lemonmates/recipe/lemonade_glass.json -cc2f7168aee3730ff80483f5ad8eeb6f43c83dec data/lemonmates/recipe/lemonade_jug_glass.json -95577366693e19041ea153ada391de14ccdca07c data/lemonmates/recipe/lemonade_jug_terracotta.json fa5c3be35146baac35c21ac10ea3fce7aa431d80 data/lemonmates/recipe/orange.json 4fee22ae48a9903db8201e411fad82b780879c23 data/lemonmates/recipe/orange_boat.json 446643ff87c3cd0eea22285bb723163ae970c0d4 data/lemonmates/recipe/orange_button.json diff --git a/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_glass.json b/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_glass.json deleted file mode 100644 index 7055116..0000000 --- a/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_glass.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_glass": { - "conditions": { - "items": [ - { - "items": "#c:glass_blocks" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "lemonmates:lemonade_jug_glass" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_glass" - ] - ], - "rewards": { - "recipes": [ - "lemonmates:lemonade_jug_glass" - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_terracotta.json b/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_terracotta.json deleted file mode 100644 index 9698b40..0000000 --- a/src/generated/resources/data/lemonmates/advancement/recipes/misc/lemonade_jug_terracotta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_bricks": { - "conditions": { - "items": [ - { - "items": "#c:bricks" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "lemonmates:lemonade_jug_terracotta" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_bricks" - ] - ], - "rewards": { - "recipes": [ - "lemonmates:lemonade_jug_terracotta" - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json b/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json deleted file mode 100644 index 8dd6c16..0000000 --- a/src/generated/resources/data/lemonmates/loot_table/blocks/lemonade_glass_decorated.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "minecraft:block", - "random_sequence": "lemonmates:blocks/lemonade_glass_decorated" -} \ 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 00ff0fa..bcd87de 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -1,6 +1,7 @@ package net.doppelr.lemonmates; import net.doppelr.lemonmates.block.ModBlocks; +import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; import net.doppelr.lemonmates.block.properties.StrawsVariants; import net.doppelr.lemonmates.block.properties.UmbrellaVariants; import net.doppelr.lemonmates.fluid.ModFluids; @@ -19,6 +20,8 @@ public class AllCreativeModeTabs { private static ItemStack lemonadeJugStack(ItemStack stack) { stack.set(AllDataComponents.CAN_POUR, false); + stack.set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, ApplicableFluidsToFluidContainer.NONE); + stack.set(AllDataComponents.JUG_LEVEL, 0); return stack; } @@ -43,6 +46,7 @@ private static ItemStack lemonadeJugStack(ItemStack stack) { // Misc output.accept(ModBlocks.LEMONADE_GLASS); output.accept(lemonadeJugStack(ModItems.LEMONADE_JUG_TERRACOTTA.toStack())); + output.accept(lemonadeJugStack(ModItems.LEMONADE_JUG_GLASS.toStack())); // Finished Lemonades output.accept(ModItems.CITRON_LEMONADE_BOTTLE); @@ -166,12 +170,13 @@ private static ItemStack lemonadeJugStack(ItemStack stack) { () -> CreativeModeTab.builder() .title(Component.translatable("itemGroup." + LemonMates.MOD_ID + ".serving")) .withTabsBefore(AllCreativeModeTabs.PROCESSING_CREATIVE_TAB.getKey()) - .icon(() -> new ItemStack(ModBlocks.LEMONADE_GLASS_DECORATED.get())) + .icon(() -> new ItemStack(ModItems.LEMONADE_GLASS_DECORATED.get())) .displayItems((params, output) -> { // Glass output.accept(ModBlocks.LEMONADE_GLASS); output.accept(lemonadeJugStack(ModItems.LEMONADE_JUG_TERRACOTTA.toStack())); + output.accept(lemonadeJugStack(ModItems.LEMONADE_JUG_GLASS.toStack())); output.accept(ModItems.ICE_CUBES); // Straws diff --git a/src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java b/src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java index 43781f4..33332ae 100644 --- a/src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java +++ b/src/main/java/net/doppelr/lemonmates/LemonMatesTooltipUtils.java @@ -14,7 +14,7 @@ public static void createCustomTooltip(String id, boolean hasConditionalBehaviou createShiftText(components); if (Screen.hasShiftDown()) { components.add(empty()); - components.addAll(getBasicSummary(id)); + components.addAll(getBasicSummary(id, args)); if (hasConditionalBehaviour) { createConditionalBehaviourTooltip(id, 1, components, args); } @@ -63,8 +63,8 @@ public static MutableComponent empty() { return Component.literal(""); } - public static List getBasicSummary(String id) { - return FontHelper.cutTextComponent(Component.translatable(id + ".tooltip.summary"), FontHelper.Palette.STANDARD_CREATE); + public static List getBasicSummary(String id, Object... args) { + return FontHelper.cutTextComponent(Component.translatable(id + ".tooltip.summary", args), FontHelper.Palette.STANDARD_CREATE); } public static List getCondition(String id, int sequence, Object... args) { diff --git a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java index 07567ec..e687395 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModBlocks.java @@ -118,10 +118,6 @@ public class ModBlocks { () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of() .sound(SoundType.GLASS).pushReaction(PushReaction.DESTROY) )); - public static final DeferredBlock LEMONADE_GLASS_DECORATED = registerBlock("lemonade_glass_decorated", - () -> new ModDrinkingGlassBlock(BlockBehaviour.Properties.of() - .sound(SoundType.GLASS) - )); public static final DeferredBlock LEMONADE_JUG_TERRACOTTA = registerBlockWithoutBlockItem("lemonade_jug_terracotta", () -> new ModJugBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FLOWER_POT).noOcclusion())); diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index 9d022ee..febe16d 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -126,10 +126,10 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev int blockDrinkLevel = state.getValue(DRINK_LEVEL) == 1 ? 2 : newDrinkLevel; ApplicableFluidsToFluidContainer pouredFluid = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : state.getValue(FLUID); if (state.getValue(FLUID) == ApplicableFluidsToFluidContainer.NONE || state.getValue(DRINK_LEVEL) == 0) { - level.setBlockAndUpdate(pos, state.setValue(FLUID, pouredFluid).setValue(DRINK_LEVEL, blockDrinkLevel)); - jugItem.removeFromJugLevel(stack, player, newDrinkLevel); if (stack.get(AllDataComponents.JUG_LEVEL) > 0) level.playSound(player, pos, SoundEvents.BOTTLE_EMPTY, SoundSource.BLOCKS, 1.0F, 1.0F); + level.setBlockAndUpdate(pos, state.setValue(FLUID, pouredFluid).setValue(DRINK_LEVEL, blockDrinkLevel)); + jugItem.removeFromJugLevelWithBlockStateData(stack, player, newDrinkLevel); } } } else { diff --git a/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java index d87c368..3b3259b 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModJugBlock.java @@ -59,17 +59,16 @@ public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, ItemStack itemStack = new ItemStack(this); int jugLevel = state.getValue(JUG_LEVEL); ApplicableFluidsToFluidContainer fluid = state.getValue(FLUID); - boolean canPour = state.getValue(CAN_POUR); - if (jugLevel > 0 || fluid != ApplicableFluidsToFluidContainer.NONE || canPour) { + if (jugLevel > 0 || fluid != ApplicableFluidsToFluidContainer.NONE) { DataComponentMap.Builder map = DataComponentMap.builder(); map.set(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY .with(AllBlockStateProperties.JUG_LEVEL, jugLevel) .with(AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER, fluid) - .with(AllBlockStateProperties.CAN_POUR, canPour)) + .with(AllBlockStateProperties.CAN_POUR, false)) .set(AllDataComponents.JUG_LEVEL, jugLevel) .set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, fluid) - .set(AllDataComponents.CAN_POUR, canPour); + .set(AllDataComponents.CAN_POUR, false); itemStack.applyComponents(map.build()); } diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java index 24886de..7bdc33b 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModBlockLootTableProvider.java @@ -128,9 +128,6 @@ protected void generate() { add(ModBlocks.LEMONADE_GLASS.get(), noDrop()); add(ModBlocks.LEMONADE_JUG_TERRACOTTA.get(), noDrop()); add(ModBlocks.LEMONADE_JUG_GLASS.get(), noDrop()); - - // Temp to fix datagen nagging - add(ModBlocks.LEMONADE_GLASS_DECORATED.get(), noDrop()); } @Override diff --git a/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java b/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java index 2014280..fc34816 100644 --- a/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java +++ b/src/main/java/net/doppelr/lemonmates/datagen/ModRecipeProvider.java @@ -1,5 +1,6 @@ package net.doppelr.lemonmates.datagen; +import net.doppelr.lemonmates.AllDataComponents; import net.doppelr.lemonmates.AllTags; import net.doppelr.lemonmates.LemonMates; import net.doppelr.lemonmates.block.ModBlocks; @@ -136,13 +137,13 @@ protected void buildRecipes(RecipeOutput recipeOutput) { .save(recipeOutput); // Lemonade Jug/Glass - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.LEMONADE_JUG_TERRACOTTA.get()) - .pattern("# #") - .pattern("# #") - .pattern(" # ") - .define('#', Tags.Items.BRICKS) - .unlockedBy("has_bricks", has(Tags.Items.BRICKS)) - .save(recipeOutput); +// ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.LEMONADE_JUG_TERRACOTTA.get()) +// .pattern("# #") +// .pattern("# #") +// .pattern(" # ") +// .define('#', Tags.Items.BRICKS) +// .unlockedBy("has_bricks", has(Tags.Items.BRICKS)) +// .save(recipeOutput); ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.LEMONADE_GLASS.get()) .pattern(" ") @@ -153,14 +154,14 @@ protected void buildRecipes(RecipeOutput recipeOutput) { .unlockedBy("has_glass", has(Tags.Items.GLASS_BLOCKS)) .save(recipeOutput); - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.LEMONADE_JUG_GLASS.get()) - .pattern("# #") - .pattern("# #") - .pattern(" B ") - .define('#', Tags.Items.GLASS_PANES) - .define('B', Tags.Items.GLASS_BLOCKS) - .unlockedBy("has_glass", has(Tags.Items.GLASS_BLOCKS)) - .save(recipeOutput); +// ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.LEMONADE_JUG_GLASS.get()) +// .pattern("# #") +// .pattern("# #") +// .pattern(" B ") +// .define('#', Tags.Items.GLASS_PANES) +// .define('B', Tags.Items.GLASS_BLOCKS) +// .unlockedBy("has_glass", has(Tags.Items.GLASS_BLOCKS)) +// .save(recipeOutput); // get Molds back ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ModItems.PREFORM.get(), 1) diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index db46a61..939046c 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -161,6 +161,9 @@ public class ModItems { /** Move registration to enum -> {@link UmbrellaVariants} **/ + public static final DeferredItem LEMONADE_GLASS_DECORATED = ITEMS.register("lemonade_glass_decorated", + () -> new Item(new Item.Properties())); + public static final DeferredItem LEMONADE_JUG_TERRACOTTA = ITEMS.register("lemonade_jug_terracotta", () -> new ModJugItem(ModBlocks.LEMONADE_JUG_TERRACOTTA.get(), new Item.Properties().stacksTo(1))); public static final DeferredItem LEMONADE_JUG_GLASS = ITEMS.register("lemonade_jug_glass", diff --git a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java index 5e92c88..3c72716 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java @@ -6,6 +6,8 @@ import net.doppelr.lemonmates.block.ModDrinkingGlassBlock; import net.doppelr.lemonmates.block.properties.ApplicableFluidsToFluidContainer; import net.minecraft.core.BlockPos; +import net.minecraft.core.component.DataComponentMap; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -16,6 +18,7 @@ import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.component.BlockItemStateProperties; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.Level; @@ -25,7 +28,6 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -import java.util.Locale; public class ModJugItem extends BlockItem { public ModJugItem(Block block, Properties properties) { @@ -38,7 +40,11 @@ public void setPourAbility(ItemStack stack, boolean pour) { } public void setContainedFluid(ItemStack stack, ApplicableFluidsToFluidContainer fluid) { - stack.set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, fluid); + if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) == ApplicableFluidsToFluidContainer.NONE + || stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) == fluid) + stack.set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, fluid); + else if (stack.get(AllDataComponents.JUG_LEVEL) != null && stack.get(AllDataComponents.JUG_LEVEL) == 0) + stack.set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, fluid); } public void setJugLevel(ItemStack stack, int jugLevel) { @@ -50,35 +56,82 @@ public void addToJugLevel(ItemStack stack, int increment) { stack.set(AllDataComponents.JUG_LEVEL, stack.get(AllDataComponents.JUG_LEVEL) + increment); } + public void addToJugLevelWithBlockStateData(ItemStack stack, int increment) { + if (stack.get(AllDataComponents.JUG_LEVEL) != null) { + int f = stack.get(AllDataComponents.JUG_LEVEL) + increment; + this.addToJugLevel(stack, increment); + + if (stack.get(DataComponents.BLOCK_STATE) != null) { + DataComponentMap.Builder map = DataComponentMap.builder(); + + ApplicableFluidsToFluidContainer applicableFluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE; + + map.set(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY + .with(AllBlockStateProperties.JUG_LEVEL, f) + .with(AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER, applicableFluid)) + .set(AllDataComponents.JUG_LEVEL, f) + .set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, applicableFluid); + + stack.applyComponents(map.build()); + } + } + } + public void removeFromJugLevel(ItemStack stack, Player player, int decrement) { if (!player.getAbilities().instabuild) if (stack.get(AllDataComponents.JUG_LEVEL) != null) { int f = stack.get(AllDataComponents.JUG_LEVEL) - decrement; if (f >= 0 && f <= 8) - stack.set(AllDataComponents.JUG_LEVEL, stack.get(AllDataComponents.JUG_LEVEL) - decrement); + stack.set(AllDataComponents.JUG_LEVEL, f); } } + public void removeFromJugLevelWithBlockStateData(ItemStack stack, Player player, int decrement) { + if (!player.getAbilities().instabuild) { + if (stack.get(AllDataComponents.JUG_LEVEL) != null) { + int f = stack.get(AllDataComponents.JUG_LEVEL) - decrement; + this.removeFromJugLevel(stack, player, decrement); + + if (stack.get(DataComponents.BLOCK_STATE) != null) { + DataComponentMap.Builder map = DataComponentMap.builder(); + + ApplicableFluidsToFluidContainer applicableFluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE; + + map.set(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY + .with(AllBlockStateProperties.JUG_LEVEL, f) + .with(AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER, applicableFluid)) + .set(AllDataComponents.JUG_LEVEL, f) + .set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, applicableFluid); + + if (f >= 0 && f <= 8) + stack.applyComponents(map.build()); + } + } + } + } + public void jugLevelHandling(ItemStack stack, Player player, ApplicableFluidsToFluidContainer fluid) { Level level = player.level(); if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != fluid) this.setContainedFluid(stack, fluid); + boolean checkFluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null && (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) == fluid || stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) == ApplicableFluidsToFluidContainer.NONE); + if (stack.get(AllDataComponents.JUG_LEVEL) == null || stack.get(AllDataComponents.JUG_LEVEL) == 0) { this.setJugLevel(stack, 4); level.playSound(player, player.blockPosition(), SoundEvents.BOTTLE_FILL, SoundSource.PLAYERS, 1.0F, 1.0F); if (!player.getAbilities().instabuild) player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); - } else if (stack.get(AllDataComponents.JUG_LEVEL) <= 4) { - this.addToJugLevel(stack, 4); + } else if (stack.get(AllDataComponents.JUG_LEVEL) <= 4 && checkFluid) { + this.addToJugLevelWithBlockStateData(stack, 4); level.playSound(player, player.blockPosition(), SoundEvents.BOTTLE_FILL, SoundSource.PLAYERS, 1.0F, 1.0F); if (!player.getAbilities().instabuild) player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); - } else if (stack.get(AllDataComponents.JUG_LEVEL) < 8) { + } else if (stack.get(AllDataComponents.JUG_LEVEL) < 8 && checkFluid) { int incrementJugLevel = 4; if (stack.get(AllDataComponents.JUG_LEVEL) > 4) incrementJugLevel = 8 - stack.get(AllDataComponents.JUG_LEVEL); - this.addToJugLevel(stack, incrementJugLevel); + this.addToJugLevelWithBlockStateData(stack, incrementJugLevel); level.playSound(player, player.blockPosition(), SoundEvents.BOTTLE_FILL, SoundSource.PLAYERS, 1.0F, 1.0F); if (!player.getAbilities().instabuild) player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); @@ -98,6 +151,11 @@ public void jugLevelHandling(ItemStack stack, Player player, ApplicableFluidsToF .setValue(AllBlockStateProperties.CAN_POUR, canPour) : null; } + @Override + protected boolean canPlace(BlockPlaceContext context, BlockState state) { + return super.canPlace(context, state) && !context.getItemInHand().get(AllDataComponents.CAN_POUR); + } + @Override public InteractionResult useOn(UseOnContext context) { ItemStack stack = context.getItemInHand(); @@ -143,7 +201,8 @@ public void appendHoverText(ItemStack stack, @NotNull TooltipContext context, @N boolean pour = stack.get(AllDataComponents.CAN_POUR) != null ? stack.get(AllDataComponents.CAN_POUR) : false; ApplicableFluidsToFluidContainer applicableFluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE; Component fluid = Component.translatable("jugFluid.lemonmates." + applicableFluid.getSerializedName()); - LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour, fluid); + int capacity = stack.get(AllDataComponents.JUG_LEVEL) != null ? stack.get(AllDataComponents.JUG_LEVEL) : 0; + LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour, fluid, capacity); LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 2, tooltipComponents); LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 3, tooltipComponents, fluid); } diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json deleted file mode 100644 index 66d2f6f..0000000 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass_decorated.json +++ /dev/null @@ -1,1380 +0,0 @@ -{ - "multipart": [ - { - "when": { - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_orange" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_orange" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_summermix" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_summermix" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry" - } - }, - { - "when": { - "drink_level": "1", - "facing": "north", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon" - } - }, - { - "when": { - "drink_level": "2", - "facing": "north", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon" - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full" - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half" - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/lemon_slice" - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/orange_slice" - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1" - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2" - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3" - } - }, - { - "when": { - "umbrella": "orange_white", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4" - } - }, - { - "when": { - "straw": "basic", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_basic" - } - }, - { - "when": { - "straw": "rainbow", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow" - } - }, - { - "when": { - "straw": "trans", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_trans" - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary" - } - }, - { - "when": { - "straw": "lesbian", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian" - } - }, - { - "when": { - "straw": "gay", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_gay" - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid" - } - }, - { - "when": { - "straw": "ace", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_ace" - } - }, - { - "when": { - "straw": "aro", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_aro" - } - }, - { - "when": { - "straw": "aroace", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_aroace" - } - }, - { - "when": { - "straw": "agender", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_agender" - } - }, - { - "when": { - "straw": "bi", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_bi" - } - }, - { - "when": { - "straw": "pan", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_pan" - } - }, - { - "when": { - "straw": "german", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_german" - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "north" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual" - } - }, - - - { - "when": { - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_orange", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_orange", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", - "y": 180 - } - }, - { - "when": { - "drink_level": "1", - "facing": "south", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", - "y": 180 - } - }, - { - "when": { - "drink_level": "2", - "facing": "south", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", - "y": 180 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full", - "y": 180 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half", - "y": 180 - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/lemon_slice", - "y": 180 - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/orange_slice", - "y": 180 - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1", - "y": 180 - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2", - "y": 180 - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3", - "y": 180 - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4", - "y": 180 - } - }, - { - "when": { - "straw": "basic", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_basic", - "y": 180 - } - }, - { - "when": { - "straw": "rainbow", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow", - "y": 180 - } - }, - { - "when": { - "straw": "trans", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_trans", - "y": 180 - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary", - "y": 180 - } - }, - { - "when": { - "straw": "lesbian", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian", - "y": 180 - } - }, - { - "when": { - "straw": "gay", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_gay", - "y": 180 - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid", - "y": 180 - } - }, - { - "when": { - "straw": "ace", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_ace", - "y": 180 - } - }, - { - "when": { - "straw": "aro", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_aro", - "y": 180 - } - }, - { - "when": { - "straw": "aroace", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_aroace", - "y": 180 - } - }, - { - "when": { - "straw": "agender", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_agender", - "y": 180 - } - }, - { - "when": { - "straw": "bi", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_bi", - "y": 180 - } - }, - { - "when": { - "straw": "pan", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_pan", - "y": 180 - } - }, - { - "when": { - "straw": "german", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_german", - "y": 180 - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "south" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual", - "y": 180 - } - }, - - - { - "when": { - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_orange", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_orange", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", - "y": 90 - } - }, - { - "when": { - "drink_level": "1", - "facing": "east", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", - "y": 90 - } - }, - { - "when": { - "drink_level": "2", - "facing": "east", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", - "y": 90 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full", - "y": 90 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half", - "y": 90 - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/lemon_slice", - "y": 90 - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/orange_slice", - "y": 90 - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1", - "y": 90 - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2", - "y": 90 - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3", - "y": 90 - } - }, - { - "when": { - "umbrella": "orange_white", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4", - "y": 90 - } - }, - { - "when": { - "straw": "basic", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_basic", - "y": 90 - } - }, - { - "when": { - "straw": "rainbow", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow", - "y": 90 - } - }, - { - "when": { - "straw": "trans", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_trans", - "y": 90 - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary", - "y": 90 - } - }, - { - "when": { - "straw": "lesbian", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian", - "y": 90 - } - }, - { - "when": { - "straw": "gay", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_gay", - "y": 90 - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid", - "y": 90 - } - }, - { - "when": { - "straw": "ace", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_ace", - "y": 90 - } - }, - { - "when": { - "straw": "aro", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_aro", - "y": 90 - } - }, - { - "when": { - "straw": "aroace", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_aroace", - "y": 90 - } - }, - { - "when": { - "straw": "agender", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_agender", - "y": 90 - } - }, - { - "when": { - "straw": "bi", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_bi", - "y": 90 - } - }, - { - "when": { - "straw": "pan", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_pan", - "y": 90 - } - }, - { - "when": { - "straw": "german", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_german", - "y": 90 - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "east" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual", - "y": 90 - } - }, - - - { - "when": { - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "citron_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_orange", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "orange_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_orange", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_summermix", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "summermix_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_summermix", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_raspberry", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "raspberry_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_raspberry", - "y": 270 - } - }, - { - "when": { - "drink_level": "1", - "facing": "west", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_half_watermelon", - "y": 270 - } - }, - { - "when": { - "drink_level": "2", - "facing": "west", - "fluid": "watermelon_lemonade" - }, - "apply": { - "model": "lemonmates:block/lemonade_glass_fluid_full_watermelon", - "y": 270 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "2", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/ice_cube_full", - "y": 270 - } - }, - { - "when": { - "has_ice": "true", - "drink_level": "1", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/ice_cube_half", - "y": 270 - } - }, - { - "when": { - "fruit_slice": "citron", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/lemon_slice", - "y": 270 - } - }, - { - "when": { - "fruit_slice": "orange", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/orange_slice", - "y": 270 - } - }, - { - "when": { - "umbrella": "red_white", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_1", - "y": 270 - } - }, - { - "when": { - "umbrella": "yellow_white", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_2", - "y": 270 - } - }, - { - "when": { - "umbrella": "black_purple", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_3", - "y": 270 - } - }, - { - "when": { - "umbrella": "orange_white", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/drink_umbrella_4", - "y": 270 - } - }, - { - "when": { - "straw": "basic", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_basic", - "y": 270 - } - }, - { - "when": { - "straw": "rainbow", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_rainbow", - "y": 270 - } - }, - { - "when": { - "straw": "trans", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_trans", - "y": 270 - } - }, - { - "when": { - "straw": "nonbinary", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_nonbinary", - "y": 270 - } - }, - { - "when": { - "straw": "lesbian", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_lesbian", - "y": 270 - } - }, - { - "when": { - "straw": "gay", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_gay", - "y": 270 - } - }, - { - "when": { - "straw": "genderfluid", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_genderfluid", - "y": 270 - } - }, - { - "when": { - "straw": "ace", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_ace", - "y": 270 - } - }, - { - "when": { - "straw": "aro", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_aro", - "y": 270 - } - }, - { - "when": { - "straw": "aroace", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_aroace", - "y": 270 - } - }, - { - "when": { - "straw": "agender", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_agender", - "y": 270 - } - }, - { - "when": { - "straw": "bi", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_bi", - "y": 270 - } - }, - { - "when": { - "straw": "pan", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_pan", - "y": 270 - } - }, - { - "when": { - "straw": "german", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_german", - "y": 270 - } - }, - { - "when": { - "straw": "omnisexual", - "facing": "west" - }, - "apply": { - "model": "lemonmates:block/straw_omnisexual", - "y": 270 - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json index 0b85292..5934e24 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_jug_glass.json @@ -2,7 +2,7 @@ "multipart": [ { "apply": { - "model": "lemonmates:block/lemonade_jug_terracotta" + "model": "lemonmates:block/lemonade_jug_glass" } }, { diff --git a/src/main/resources/assets/lemonmates/lang/en_us.json b/src/main/resources/assets/lemonmates/lang/en_us.json index 262485c..b39aa27 100644 --- a/src/main/resources/assets/lemonmates/lang/en_us.json +++ b/src/main/resources/assets/lemonmates/lang/en_us.json @@ -182,7 +182,7 @@ "jugFluid.lemonmates.summermix_lemonade": "Summer-Mix Lemonade", "jugFluid.lemonmates.watermelon_lemonade": "Watermelon Lemonade", - "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "A way to store your fluids _more aesthetically._ Holds enough fluid to fill _8 glasses_.", + "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "A way to store your fluids _more aesthetically._ Holds enough fluid to fill _8 glasses_. (Current Capacity: %3$s/8)", "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_When used while sneaking with empty offhand_ (Currently able to pour: %1$s)", "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Toggle pouring functionality to either be _active or not._ (Currently Pouring: %2$s)", "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_When used onto a Lemonade Glass_", diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json b/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json index 75ff90d..5885991 100644 --- a/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json +++ b/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json @@ -1,6 +1,7 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { "0": "minecraft:block/ice", "particle": "minecraft:block/ice" diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json b/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json index 523d281..489f3a5 100644 --- a/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json +++ b/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json @@ -1,6 +1,7 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "textures": { "0": "minecraft:block/ice", "particle": "minecraft:block/ice" diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json b/src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json deleted file mode 100644 index 8921785..0000000 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_glass_decorated.json +++ /dev/null @@ -1,424 +0,0 @@ -{ - "format_version": "1.9.0", - "credit": "Made with Blockbench", - "texture_size": [32, 32], - "render_type": "minecraft:translucent", - "textures": { - "g0": "lemonmates:item/lemonade_glass", - "particle": "lemonmates:item/lemonade_glass", - "s50": "lemonmates:block/flag_color/red", - "s51": "lemonmates:block/flag_color/white", - "s52": "lemonmates:block/flag_color/red", - "s53": "lemonmates:block/flag_color/white", - "s54": "lemonmates:block/flag_color/red", - "u1": "lemonmates:block/drink_umbrella_1" - }, - "elements": [ - { - "name": "north_west", - "from": [5, 0, 5], - "to": [6, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 5]}, - "faces": { - "north": {"uv": [6, 2, 6.5, 5.5], "texture": "#g0"}, - "east": {"uv": [6, 5.5, 6.5, 9], "texture": "#g0"}, - "south": {"uv": [6.5, 2, 7, 5.5], "texture": "#g0"}, - "west": {"uv": [6.5, 5.5, 7, 9], "texture": "#g0"}, - "up": {"uv": [4, 10, 3.5, 9.5], "texture": "#g0"}, - "down": {"uv": [10, 7, 9.5, 7.5], "texture": "#g0"} - } - }, - { - "name": "north_east", - "from": [10, 0, 5], - "to": [11, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 5]}, - "faces": { - "north": {"uv": [7, 2, 7.5, 5.5], "texture": "#g0"}, - "east": {"uv": [4, 7, 4.5, 10.5], "texture": "#g0"}, - "south": {"uv": [4.5, 7, 5, 10.5], "texture": "#g0"}, - "west": {"uv": [5, 7, 5.5, 10.5], "texture": "#g0"}, - "up": {"uv": [10, 8, 9.5, 7.5], "texture": "#g0"}, - "down": {"uv": [10, 8, 9.5, 8.5], "texture": "#g0"} - } - }, - { - "name": "south_east", - "from": [10, 0, 10], - "to": [11, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 10]}, - "faces": { - "north": {"uv": [5.5, 7, 6, 10.5], "texture": "#g0"}, - "east": {"uv": [7, 5.5, 7.5, 9], "texture": "#g0"}, - "south": {"uv": [0, 7.5, 0.5, 11], "texture": "#g0"}, - "west": {"uv": [0.5, 7.5, 1, 11], "texture": "#g0"}, - "up": {"uv": [10, 9, 9.5, 8.5], "texture": "#g0"}, - "down": {"uv": [9.5, 9.5, 9, 10], "texture": "#g0"} - } - }, - { - "name": "south_west", - "from": [5, 0, 10], - "to": [6, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 10]}, - "faces": { - "north": {"uv": [1, 7.5, 1.5, 11], "texture": "#g0"}, - "east": {"uv": [1.5, 7.5, 2, 11], "texture": "#g0"}, - "south": {"uv": [2, 7.5, 2.5, 11], "texture": "#g0"}, - "west": {"uv": [7.5, 2, 8, 5.5], "texture": "#g0"}, - "up": {"uv": [10, 10, 9.5, 9.5], "texture": "#g0"}, - "down": {"uv": [10.5, 0, 10, 0.5], "texture": "#g0"} - } - }, - { - "name": "north", - "from": [6, 6, 5], - "to": [10, 7, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 5]}, - "faces": { - "north": {"uv": [7.5, 5.5, 9.5, 6], "texture": "#g0"}, - "south": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#g0"}, - "up": {"uv": [9.5, 7, 7.5, 6.5], "texture": "#g0"}, - "down": {"uv": [9.5, 7, 7.5, 7.5], "texture": "#g0"} - } - }, - { - "name": "east", - "from": [10, 6, 6], - "to": [11, 7, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 6, 6]}, - "faces": { - "east": {"uv": [7.5, 7.5, 9.5, 8], "texture": "#g0"}, - "west": {"uv": [8, 0, 10, 0.5], "texture": "#g0"}, - "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#g0"}, - "down": {"uv": [3.5, 7.5, 3, 9.5], "texture": "#g0"} - } - }, - { - "name": "south", - "from": [6, 6, 10], - "to": [10, 7, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 10]}, - "faces": { - "north": {"uv": [8, 0.5, 10, 1], "texture": "#g0"}, - "south": {"uv": [8, 1, 10, 1.5], "texture": "#g0"}, - "up": {"uv": [10, 2, 8, 1.5], "texture": "#g0"}, - "down": {"uv": [10, 2, 8, 2.5], "texture": "#g0"} - } - }, - { - "name": "west", - "from": [5, 6, 6], - "to": [6, 7, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 6, 6]}, - "faces": { - "east": {"uv": [8, 2.5, 10, 3], "texture": "#g0"}, - "west": {"uv": [8, 3, 10, 3.5], "texture": "#g0"}, - "up": {"uv": [4, 9.5, 3.5, 7.5], "texture": "#g0"}, - "down": {"uv": [8.5, 3.5, 8, 5.5], "texture": "#g0"} - } - }, - { - "name": "north", - "from": [6, 0, 5], - "to": [10, 1, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, - "faces": { - "north": {"uv": [7.5, 8, 9.5, 8.5], "texture": "#g0"}, - "south": {"uv": [8.5, 3.5, 10.5, 4], "texture": "#g0"}, - "up": {"uv": [10.5, 4.5, 8.5, 4], "texture": "#g0"}, - "down": {"uv": [10.5, 4.5, 8.5, 5], "texture": "#g0"} - } - }, - { - "name": "east", - "from": [10, 0, 6], - "to": [11, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 6]}, - "faces": { - "east": {"uv": [8.5, 5, 10.5, 5.5], "texture": "#g0"}, - "west": {"uv": [7.5, 8.5, 9.5, 9], "texture": "#g0"}, - "up": {"uv": [6.5, 11, 6, 9], "texture": "#g0"}, - "down": {"uv": [7, 9, 6.5, 11], "texture": "#g0"} - } - }, - { - "name": "south", - "from": [6, 0, 10], - "to": [10, 1, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 10]}, - "faces": { - "north": {"uv": [7, 9, 9, 9.5], "texture": "#g0"}, - "south": {"uv": [9, 9, 11, 9.5], "texture": "#g0"}, - "up": {"uv": [11.5, 6, 9.5, 5.5], "texture": "#g0"}, - "down": {"uv": [11.5, 6, 9.5, 6.5], "texture": "#g0"} - } - }, - { - "name": "west", - "from": [5, 0, 6], - "to": [6, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 6]}, - "faces": { - "east": {"uv": [9.5, 6.5, 11.5, 7], "texture": "#g0"}, - "west": {"uv": [7, 9.5, 9, 10], "texture": "#g0"}, - "up": {"uv": [3, 11.5, 2.5, 9.5], "texture": "#g0"}, - "down": {"uv": [3.5, 9.5, 3, 11.5], "texture": "#g0"} - } - }, - { - "name": "bottom", - "from": [6, 0, 6], - "to": [10, 1, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, - "faces": { - "up": {"uv": [6, 7, 4, 5], "texture": "#g0"}, - "down": {"uv": [8, 0, 6, 2], "texture": "#g0"} - } - }, - { - "name": "west", - "from": [5, 1, 6], - "to": [6, 6, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 6]}, - "faces": { - "east": {"uv": [0, 0, 2, 2.5], "texture": "#g0"}, - "west": {"uv": [2, 0, 4, 2.5], "texture": "#g0"} - } - }, - { - "name": "east", - "from": [10, 1, 6], - "to": [11, 6, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 6]}, - "faces": { - "east": {"uv": [0, 2.5, 2, 5], "texture": "#g0"}, - "west": {"uv": [2, 2.5, 4, 5], "texture": "#g0"} - } - }, - { - "name": "north", - "from": [6, 1, 5], - "to": [10, 6, 6], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 5]}, - "faces": { - "north": {"uv": [4, 0, 6, 2.5], "texture": "#g0"}, - "south": {"uv": [4, 2.5, 6, 5], "texture": "#g0"} - } - }, - { - "name": "south", - "from": [6, 1, 10], - "to": [10, 6, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 10]}, - "faces": { - "north": {"uv": [0, 5, 2, 7.5], "texture": "#g0"}, - "south": {"uv": [2, 5, 4, 7.5], "texture": "#g0"} - } - }, - { - "name": "bottom", - "from": [8, 1, 9], - "to": [9, 2.8, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, - "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, - "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, - "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, - "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} - } - }, - { - "name": "middle_bottom", - "from": [8, 2.8, 9], - "to": [9, 4.6, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, - "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, - "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, - "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} - } - }, - { - "name": "middle", - "from": [8, 4.6, 9], - "to": [9, 6.4, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, - "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, - "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, - "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} - } - }, - { - "name": "middle_top", - "from": [8, 6.4, 9], - "to": [9, 8.2, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, - "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, - "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, - "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} - } - }, - { - "name": "top", - "from": [8, 8.2, 9], - "to": [9, 10, 10], - "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, - "faces": { - "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, - "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, - "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, - "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, - "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} - } - }, - { - "name": "shaft", - "from": [9, 5, 5.5], - "to": [10, 10, 6.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, - "east": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, - "south": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, - "west": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, - "up": {"uv": [6, 4, 5, 3], "texture": "#u1"}, - "down": {"uv": [6, 3, 5, 4], "texture": "#u1"} - } - }, - { - "name": "top", - "from": [7, 9.5, 3.5], - "to": [12, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [1, 0, 6, 0], "texture": "#u1"}, - "east": {"uv": [0, 0, 5, 0], "texture": "#u1"}, - "south": {"uv": [0, 0, 5, 0], "texture": "#u1"}, - "west": {"uv": [0, 0, 5, 0], "texture": "#u1"}, - "up": {"uv": [5, 5, 0, 0], "texture": "#u1"}, - "down": {"uv": [5, 0, 0, 5], "texture": "#u1"} - } - }, - { - "name": "north", - "from": [7, 8.5, 3.5], - "to": [12, 9.5, 3.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [5, 0, 10, 1], "texture": "#u1"}, - "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, - "south": {"uv": [10, 0, 5, 1], "texture": "#u1"}, - "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, - "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, - "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} - } - }, - { - "name": "south", - "from": [7, 8.5, 8.5], - "to": [12, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [10, 0, 5, 1], "texture": "#u1"}, - "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, - "south": {"uv": [5, 0, 10, 1], "texture": "#u1"}, - "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, - "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, - "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} - } - }, - { - "name": "west", - "from": [7, 8.5, 3.5], - "to": [7, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, - "east": {"uv": [10, 1, 5, 2], "texture": "#u1"}, - "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, - "west": {"uv": [5, 1, 10, 2], "texture": "#u1"}, - "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, - "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} - } - }, - { - "name": "east", - "from": [12, 8.5, 3.5], - "to": [12, 9.5, 8.5], - "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, - "faces": { - "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, - "east": {"uv": [5, 1, 10, 2], "texture": "#u1"}, - "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, - "west": {"uv": [10, 1, 5, 2], "texture": "#u1"}, - "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, - "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} - } - } - ], - "display": { - "thirdperson_righthand": { - "translation": [0, 5.25, 1.5], - "scale": [0.67, 0.67, 0.67] - }, - "thirdperson_lefthand": { - "translation": [0, 5.25, 1.5], - "scale": [0.67, 0.67, 0.67] - }, - "firstperson_righthand": { - "translation": [0, 6, 0], - "scale": [0.8, 0.8, 0.8] - }, - "firstperson_lefthand": { - "translation": [0, 6, 0], - "scale": [0.8, 0.8, 0.8] - }, - "ground": { - "translation": [0, 3.5, 0], - "scale": [0.68, 0.68, 0.68] - }, - "gui": { - "rotation": [22.5, -22.5, 0], - "translation": [0, 3.5, 0] - }, - "head": { - "translation": [0, 14.5, 0] - }, - "on_shelf": { - "scale": [1.87, 1.87, 1.87] - } - }, - "groups": [ - { - "name": "edges", - "origin": [8, 8, 8], - "color": 0, - "children": [0, 1, 2, 3] - }, - { - "name": "top_edges", - "origin": [8, 8, 8], - "color": 0, - "children": [4, 5, 6, 7] - }, - { - "name": "bottom_edges", - "origin": [8, 8, 8], - "color": 0, - "children": [8, 9, 10, 11] - }, - { - "name": "faces", - "origin": [8, 8, 8], - "color": 0, - "children": [12, 13, 14, 15, 16] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json index 508e281..81242ca 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_glass.json @@ -1,10 +1,11 @@ { "format_version": "1.9.0", "credit": "Made with Blockbench", + "render_type": "minecraft:translucent", "texture_size": [32, 32], "textures": { - "jg": "item/lemonade_jug_glass", - "particle": "item/lemonade_jug_glass" + "jg": "lemonmates:block/lemonade_jug_glass", + "particle": "lemonmates:block/lemonade_jug_glass" }, "elements": [ { @@ -189,6 +190,24 @@ } ], "display": { + "thirdperson_righthand": { + "rotation": [-179.74, -8.52, -176.45], + "translation": [-0.25, 0.5, -3.75], + "scale": [0.85, 0.85, 0.85] + }, + "thirdperson_lefthand": { + "rotation": [-179.74, -8.52, -176.45], + "translation": [-0.25, 0.5, -3.75], + "scale": [0.85, 0.85, 0.85] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [30, -45, 0], + "translation": [0, 1.75, 0] + }, "head": { "translation": [0, 14.5, 0] } diff --git a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json index a9edd47..12e5170 100644 --- a/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json +++ b/src/main/resources/assets/lemonmates/models/block/lemonade_jug_terracotta.json @@ -190,6 +190,20 @@ } ], "display": { + "thirdperson_righthand": { + "rotation": [-179.74, -8.52, -176.45], + "translation": [-0.25, 0.5, -3.75], + "scale": [0.85, 0.85, 0.85] + }, + "thirdperson_lefthand": { + "rotation": [-179.74, -8.52, -176.45], + "translation": [-0.25, 0.5, -3.75], + "scale": [0.85, 0.85, 0.85] + }, + "gui": { + "rotation": [30, -45, 0], + "translation": [0, 1.75, 0] + }, "head": { "translation": [0, 14.5, 0] } diff --git a/src/main/resources/assets/lemonmates/models/item/ice_cubes.json b/src/main/resources/assets/lemonmates/models/item/ice_cubes.json index 118852c..dac8632 100644 --- a/src/main/resources/assets/lemonmates/models/item/ice_cubes.json +++ b/src/main/resources/assets/lemonmates/models/item/ice_cubes.json @@ -2,8 +2,8 @@ "format_version": "1.21.6", "credit": "Made with Blockbench", "textures": { - "0": "item/ice_cube", - "particle": "item/ice_cube" + "0": "minecraft:block/ice", + "particle": "minecraft:block/ice" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json b/src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json index 1f4b947..1dc7290 100644 --- a/src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json +++ b/src/main/resources/assets/lemonmates/models/item/lemonade_glass_decorated.json @@ -1,3 +1,424 @@ { - "parent": "lemonmates:block/lemonade_glass_decorated" + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "render_type": "minecraft:translucent", + "textures": { + "g0": "lemonmates:item/lemonade_glass", + "particle": "lemonmates:item/lemonade_glass", + "s50": "lemonmates:block/flag_color/red", + "s51": "lemonmates:block/flag_color/white", + "s52": "lemonmates:block/flag_color/red", + "s53": "lemonmates:block/flag_color/white", + "s54": "lemonmates:block/flag_color/red", + "u1": "lemonmates:block/drink_umbrella_1" + }, + "elements": [ + { + "name": "north_west", + "from": [5, 0, 5], + "to": [6, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 5]}, + "faces": { + "north": {"uv": [6, 2, 6.5, 5.5], "texture": "#g0"}, + "east": {"uv": [6, 5.5, 6.5, 9], "texture": "#g0"}, + "south": {"uv": [6.5, 2, 7, 5.5], "texture": "#g0"}, + "west": {"uv": [6.5, 5.5, 7, 9], "texture": "#g0"}, + "up": {"uv": [4, 10, 3.5, 9.5], "texture": "#g0"}, + "down": {"uv": [10, 7, 9.5, 7.5], "texture": "#g0"} + } + }, + { + "name": "north_east", + "from": [10, 0, 5], + "to": [11, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 5]}, + "faces": { + "north": {"uv": [7, 2, 7.5, 5.5], "texture": "#g0"}, + "east": {"uv": [4, 7, 4.5, 10.5], "texture": "#g0"}, + "south": {"uv": [4.5, 7, 5, 10.5], "texture": "#g0"}, + "west": {"uv": [5, 7, 5.5, 10.5], "texture": "#g0"}, + "up": {"uv": [10, 8, 9.5, 7.5], "texture": "#g0"}, + "down": {"uv": [10, 8, 9.5, 8.5], "texture": "#g0"} + } + }, + { + "name": "south_east", + "from": [10, 0, 10], + "to": [11, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 10]}, + "faces": { + "north": {"uv": [5.5, 7, 6, 10.5], "texture": "#g0"}, + "east": {"uv": [7, 5.5, 7.5, 9], "texture": "#g0"}, + "south": {"uv": [0, 7.5, 0.5, 11], "texture": "#g0"}, + "west": {"uv": [0.5, 7.5, 1, 11], "texture": "#g0"}, + "up": {"uv": [10, 9, 9.5, 8.5], "texture": "#g0"}, + "down": {"uv": [9.5, 9.5, 9, 10], "texture": "#g0"} + } + }, + { + "name": "south_west", + "from": [5, 0, 10], + "to": [6, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 10]}, + "faces": { + "north": {"uv": [1, 7.5, 1.5, 11], "texture": "#g0"}, + "east": {"uv": [1.5, 7.5, 2, 11], "texture": "#g0"}, + "south": {"uv": [2, 7.5, 2.5, 11], "texture": "#g0"}, + "west": {"uv": [7.5, 2, 8, 5.5], "texture": "#g0"}, + "up": {"uv": [10, 10, 9.5, 9.5], "texture": "#g0"}, + "down": {"uv": [10.5, 0, 10, 0.5], "texture": "#g0"} + } + }, + { + "name": "north", + "from": [6, 6, 5], + "to": [10, 7, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 5]}, + "faces": { + "north": {"uv": [7.5, 5.5, 9.5, 6], "texture": "#g0"}, + "south": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#g0"}, + "up": {"uv": [9.5, 7, 7.5, 6.5], "texture": "#g0"}, + "down": {"uv": [9.5, 7, 7.5, 7.5], "texture": "#g0"} + } + }, + { + "name": "east", + "from": [10, 6, 6], + "to": [11, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 6, 6]}, + "faces": { + "east": {"uv": [7.5, 7.5, 9.5, 8], "texture": "#g0"}, + "west": {"uv": [8, 0, 10, 0.5], "texture": "#g0"}, + "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#g0"}, + "down": {"uv": [3.5, 7.5, 3, 9.5], "texture": "#g0"} + } + }, + { + "name": "south", + "from": [6, 6, 10], + "to": [10, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 10]}, + "faces": { + "north": {"uv": [8, 0.5, 10, 1], "texture": "#g0"}, + "south": {"uv": [8, 1, 10, 1.5], "texture": "#g0"}, + "up": {"uv": [10, 2, 8, 1.5], "texture": "#g0"}, + "down": {"uv": [10, 2, 8, 2.5], "texture": "#g0"} + } + }, + { + "name": "west", + "from": [5, 6, 6], + "to": [6, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 6, 6]}, + "faces": { + "east": {"uv": [8, 2.5, 10, 3], "texture": "#g0"}, + "west": {"uv": [8, 3, 10, 3.5], "texture": "#g0"}, + "up": {"uv": [4, 9.5, 3.5, 7.5], "texture": "#g0"}, + "down": {"uv": [8.5, 3.5, 8, 5.5], "texture": "#g0"} + } + }, + { + "name": "north", + "from": [6, 0, 5], + "to": [10, 1, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 5]}, + "faces": { + "north": {"uv": [7.5, 8, 9.5, 8.5], "texture": "#g0"}, + "south": {"uv": [8.5, 3.5, 10.5, 4], "texture": "#g0"}, + "up": {"uv": [10.5, 4.5, 8.5, 4], "texture": "#g0"}, + "down": {"uv": [10.5, 4.5, 8.5, 5], "texture": "#g0"} + } + }, + { + "name": "east", + "from": [10, 0, 6], + "to": [11, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 6]}, + "faces": { + "east": {"uv": [8.5, 5, 10.5, 5.5], "texture": "#g0"}, + "west": {"uv": [7.5, 8.5, 9.5, 9], "texture": "#g0"}, + "up": {"uv": [6.5, 11, 6, 9], "texture": "#g0"}, + "down": {"uv": [7, 9, 6.5, 11], "texture": "#g0"} + } + }, + { + "name": "south", + "from": [6, 0, 10], + "to": [10, 1, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 10]}, + "faces": { + "north": {"uv": [7, 9, 9, 9.5], "texture": "#g0"}, + "south": {"uv": [9, 9, 11, 9.5], "texture": "#g0"}, + "up": {"uv": [11.5, 6, 9.5, 5.5], "texture": "#g0"}, + "down": {"uv": [11.5, 6, 9.5, 6.5], "texture": "#g0"} + } + }, + { + "name": "west", + "from": [5, 0, 6], + "to": [6, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 6]}, + "faces": { + "east": {"uv": [9.5, 6.5, 11.5, 7], "texture": "#g0"}, + "west": {"uv": [7, 9.5, 9, 10], "texture": "#g0"}, + "up": {"uv": [3, 11.5, 2.5, 9.5], "texture": "#g0"}, + "down": {"uv": [3.5, 9.5, 3, 11.5], "texture": "#g0"} + } + }, + { + "name": "bottom", + "from": [6, 0, 6], + "to": [10, 1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "up": {"uv": [6, 7, 4, 5], "texture": "#g0"}, + "down": {"uv": [8, 0, 6, 2], "texture": "#g0"} + } + }, + { + "name": "west", + "from": [5, 1, 6], + "to": [6, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 1, 6]}, + "faces": { + "east": {"uv": [0, 0, 2, 2.5], "texture": "#g0"}, + "west": {"uv": [2, 0, 4, 2.5], "texture": "#g0"} + } + }, + { + "name": "east", + "from": [10, 1, 6], + "to": [11, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 6]}, + "faces": { + "east": {"uv": [0, 2.5, 2, 5], "texture": "#g0"}, + "west": {"uv": [2, 2.5, 4, 5], "texture": "#g0"} + } + }, + { + "name": "north", + "from": [6, 1, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 5]}, + "faces": { + "north": {"uv": [4, 0, 6, 2.5], "texture": "#g0"}, + "south": {"uv": [4, 2.5, 6, 5], "texture": "#g0"} + } + }, + { + "name": "south", + "from": [6, 1, 10], + "to": [10, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 10]}, + "faces": { + "north": {"uv": [0, 5, 2, 7.5], "texture": "#g0"}, + "south": {"uv": [2, 5, 4, 7.5], "texture": "#g0"} + } + }, + { + "name": "bottom", + "from": [8, 1, 9], + "to": [9, 2.8, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "east": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "south": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "west": {"uv": [0, 8.2, 1, 10], "texture": "#s50"}, + "down": {"uv": [2, 1, 1, 2], "texture": "#s50"} + } + }, + { + "name": "middle_bottom", + "from": [8, 2.8, 9], + "to": [9, 4.6, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "east": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "south": {"uv": [0, 6.2, 1, 8], "texture": "#s51"}, + "west": {"uv": [0, 6.2, 1, 8], "texture": "#s51"} + } + }, + { + "name": "middle", + "from": [8, 4.6, 9], + "to": [9, 6.4, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "east": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "south": {"uv": [0, 4.2, 1, 6], "texture": "#s52"}, + "west": {"uv": [0, 4.2, 1, 6], "texture": "#s52"} + } + }, + { + "name": "middle_top", + "from": [8, 6.4, 9], + "to": [9, 8.2, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "east": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "south": {"uv": [0, 2.2, 1, 4], "texture": "#s53"}, + "west": {"uv": [0, 2.2, 1, 4], "texture": "#s53"} + } + }, + { + "name": "top", + "from": [8, 8.2, 9], + "to": [9, 10, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8.5, 7, 10]}, + "faces": { + "north": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "east": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "south": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "west": {"uv": [0, 0.2, 1, 2], "texture": "#s54"}, + "up": {"uv": [2, 1, 1, 0], "texture": "#s54"} + } + }, + { + "name": "shaft", + "from": [9, 5, 5.5], + "to": [10, 10, 6.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "east": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "south": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "west": {"uv": [5, 4, 10, 5], "rotation": 90, "texture": "#u1"}, + "up": {"uv": [6, 4, 5, 3], "texture": "#u1"}, + "down": {"uv": [6, 3, 5, 4], "texture": "#u1"} + } + }, + { + "name": "top", + "from": [7, 9.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [1, 0, 6, 0], "texture": "#u1"}, + "east": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "south": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "west": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "up": {"uv": [5, 5, 0, 0], "texture": "#u1"}, + "down": {"uv": [5, 0, 0, 5], "texture": "#u1"} + } + }, + { + "name": "north", + "from": [7, 8.5, 3.5], + "to": [12, 9.5, 3.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "south", + "from": [7, 8.5, 8.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [10, 0, 5, 1], "texture": "#u1"}, + "east": {"uv": [5, 0, 5, 1], "texture": "#u1"}, + "south": {"uv": [5, 0, 10, 1], "texture": "#u1"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#u1"}, + "down": {"uv": [0, 5, 5, 5], "texture": "#u1"} + } + }, + { + "name": "west", + "from": [7, 8.5, 3.5], + "to": [7, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + }, + { + "name": "east", + "from": [12, 8.5, 3.5], + "to": [12, 9.5, 8.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [9.5, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 6, 1], "texture": "#u1"}, + "east": {"uv": [5, 1, 10, 2], "texture": "#u1"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#u1"}, + "west": {"uv": [10, 1, 5, 2], "texture": "#u1"}, + "up": {"uv": [0, 2, 0, 7], "texture": "#u1"}, + "down": {"uv": [0, 5, 0, 10], "texture": "#u1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 5.25, 1.5], + "scale": [0.67, 0.67, 0.67] + }, + "thirdperson_lefthand": { + "translation": [0, 5.25, 1.5], + "scale": [0.67, 0.67, 0.67] + }, + "firstperson_righthand": { + "translation": [0, 6, 0], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "translation": [0, 6, 0], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 3.5, 0], + "scale": [0.68, 0.68, 0.68] + }, + "gui": { + "rotation": [22.5, -22.5, 0], + "translation": [0, 3.5, 0] + }, + "head": { + "translation": [0, 14.5, 0] + }, + "on_shelf": { + "scale": [1.87, 1.87, 1.87] + } + }, + "groups": [ + { + "name": "edges", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "top_edges", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7] + }, + { + "name": "bottom_edges", + "origin": [8, 8, 8], + "color": 0, + "children": [8, 9, 10, 11] + }, + { + "name": "faces", + "origin": [8, 8, 8], + "color": 0, + "children": [12, 13, 14, 15, 16] + } + ] } \ No newline at end of file diff --git a/src/generated/resources/data/lemonmates/recipe/lemonade_jug_glass.json b/src/main/resources/data/lemonmates/recipe/shaped/lemonade_jug_glass.json similarity index 70% rename from src/generated/resources/data/lemonmates/recipe/lemonade_jug_glass.json rename to src/main/resources/data/lemonmates/recipe/shaped/lemonade_jug_glass.json index e8baee9..7d871f2 100644 --- a/src/generated/resources/data/lemonmates/recipe/lemonade_jug_glass.json +++ b/src/main/resources/data/lemonmates/recipe/shaped/lemonade_jug_glass.json @@ -15,6 +15,11 @@ " B " ], "result": { + "components": { + "lemonmates:can_pour": false, + "lemonmates:jug_level": 0, + "lemonmates:fluid": "none" + }, "count": 1, "id": "lemonmates:lemonade_jug_glass" } diff --git a/src/generated/resources/data/lemonmates/recipe/lemonade_jug_terracotta.json b/src/main/resources/data/lemonmates/recipe/shaped/lemonade_jug_terracotta.json similarity index 66% rename from src/generated/resources/data/lemonmates/recipe/lemonade_jug_terracotta.json rename to src/main/resources/data/lemonmates/recipe/shaped/lemonade_jug_terracotta.json index 30de5d8..c412fa2 100644 --- a/src/generated/resources/data/lemonmates/recipe/lemonade_jug_terracotta.json +++ b/src/main/resources/data/lemonmates/recipe/shaped/lemonade_jug_terracotta.json @@ -12,6 +12,11 @@ " # " ], "result": { + "components": { + "lemonmates:can_pour": false, + "lemonmates:jug_level": 0, + "lemonmates:fluid": "none" + }, "count": 1, "id": "lemonmates:lemonade_jug_terracotta" } From 47259efd821a4ca7498afa0233b65df9eb5c5fab Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Sun, 31 May 2026 21:46:55 +0200 Subject: [PATCH 71/76] de trans, fix model state error with glasses, remove duplicate item entry, fix missing argument in jug tooltip --- src/main/java/net/doppelr/lemonmates/item/ModItems.java | 2 -- src/main/java/net/doppelr/lemonmates/item/ModJugItem.java | 2 +- .../assets/lemonmates/blockstates/lemonade_glass.json | 2 +- src/main/resources/assets/lemonmates/lang/de_de.json | 4 ++-- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index 1b6b795..939046c 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -171,8 +171,6 @@ public class ModItems { public static final DeferredItem ICE_CUBES = ITEMS.register("ice_cubes", () -> new Item(new Item.Properties())); - public static final DeferredItem LEMONADE_GLASS_DECORATED = ITEMS.register("lemonade_glass_decorated", - () -> new Item(new Item.Properties())); public static void register(IEventBus eventBus) { StrawsVariants.include(); diff --git a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java index 894561e..4b5650b 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java @@ -202,7 +202,7 @@ public void appendHoverText(ItemStack stack, @NotNull TooltipContext context, @N ApplicableFluidsToFluidContainer applicableFluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE; int level = stack.get(AllDataComponents.JUG_LEVEL) != null ? stack.get(AllDataComponents.JUG_LEVEL): 0; Component fluid = Component.translatable("jugFluid.lemonmates." + applicableFluid.getSerializedName()); - LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour, fluid); + LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour, fluid, level); LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 2, tooltipComponents, pour, fluid, level); LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 3, tooltipComponents, fluid, level); } diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json index 66d2f6f..7cb13c5 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json @@ -512,7 +512,7 @@ }, { "when": { - "umbrella": "yellow_white", + "umbrella": "orange_white", "facing": "south" }, "apply": { diff --git a/src/main/resources/assets/lemonmates/lang/de_de.json b/src/main/resources/assets/lemonmates/lang/de_de.json index 7e49d8e..03db5ce 100644 --- a/src/main/resources/assets/lemonmates/lang/de_de.json +++ b/src/main/resources/assets/lemonmates/lang/de_de.json @@ -182,8 +182,8 @@ "jugFluid.lemonmates.summermix_lemonade": "Summer-Mix-Limonade", "jugFluid.lemonmates.watermelon_lemonade": "Wassermelonenlimonade", - "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "Ein Weg, um deine Flüssigkeiten _asthetischer_ zu lagern. Genug Platz, um _8 Gläser_ komplett zu füllen.", - "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_Wenn während Schleichen genutzt mit leerer sekundärer Hand_", + "block.lemonmates.lemonade_jug_terracotta.tooltip.summary": "Ein Weg, um deine Flüssigkeiten _asthetischer_ zu lagern. Genug Platz, um _8 Gläser_ komplett zu füllen. (Aktuelle Kapazität: %3$s/8)", + "block.lemonmates.lemonade_jug_terracotta.tooltip.condition1": "_Wenn während Schleichen genutzt mit leerer sekundärer Hand_ (Ausschenkbar: %1$s)", "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour1": "Wechselt die Ausschenkenfunktion zwischen _aktiv oder nicht._ (Aktuelle Flüssigkeit: %2$s)", "block.lemonmates.lemonade_jug_terracotta.tooltip.condition2": "_Wenn genutzt auf ein Limonadenglas_ (Ausschenkbar: %1$s)", "block.lemonmates.lemonade_jug_terracotta.tooltip.behaviour2": "Schenkt die _Flüssigkeit vom Krug_ in das Glas. (Füllungen übrig: %3$s)", From 0214e39f26f56d18f9a15b099797acd20455af76 Mon Sep 17 00:00:00 2001 From: Dakota Date: Sun, 31 May 2026 15:04:21 -0500 Subject: [PATCH 72/76] Buggers? I hardly know her! --- .../block/ModDrinkingGlassBlock.java | 41 +++++++--- .../net/doppelr/lemonmates/item/ModItems.java | 2 - .../doppelr/lemonmates/item/ModJugItem.java | 80 +++++++++++++++---- 3 files changed, 94 insertions(+), 29 deletions(-) diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index febe16d..6751ea2 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -118,27 +118,44 @@ private void getDroppedItem(Item item, BlockPos pos, Level level) { @Override protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { if (stack.getItem() instanceof ModJugItem jugItem && Boolean.TRUE.equals(stack.get(AllDataComponents.CAN_POUR))) { - if (state.getValue(DRINK_LEVEL) != 2) { - if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null || (stack.get(AllDataComponents.JUG_LEVEL) != null && stack.get(AllDataComponents.JUG_LEVEL) != 0)) { - int newDrinkLevel = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? 2 - state.getValue(DRINK_LEVEL) : 0; - if (stack.get(AllDataComponents.JUG_LEVEL) == 1 || state.getValue(DRINK_LEVEL) == 1) - newDrinkLevel = 1; - int blockDrinkLevel = state.getValue(DRINK_LEVEL) == 1 ? 2 : newDrinkLevel; - ApplicableFluidsToFluidContainer pouredFluid = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : state.getValue(FLUID); - if (state.getValue(FLUID) == ApplicableFluidsToFluidContainer.NONE || state.getValue(DRINK_LEVEL) == 0) { - if (stack.get(AllDataComponents.JUG_LEVEL) > 0) + if (state.getValue(DRINK_LEVEL) == 0) { + if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null + || (stack.get(AllDataComponents.JUG_LEVEL) != null) && stack.get(AllDataComponents.JUG_LEVEL) != 0) { + ApplicableFluidsToFluidContainer pouredFluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER); + if ((state.getValue(FLUID) == ApplicableFluidsToFluidContainer.NONE + || state.getValue(FLUID) == stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER)) + || (state.getValue(DRINK_LEVEL) == 0)) { + if (stack.get(AllDataComponents.JUG_LEVEL) > 0) { level.playSound(player, pos, SoundEvents.BOTTLE_EMPTY, SoundSource.BLOCKS, 1.0F, 1.0F); - level.setBlockAndUpdate(pos, state.setValue(FLUID, pouredFluid).setValue(DRINK_LEVEL, blockDrinkLevel)); - jugItem.removeFromJugLevelWithBlockStateData(stack, player, newDrinkLevel); + level.setBlockAndUpdate(pos, state.setValue(FLUID, pouredFluid).setValue(DRINK_LEVEL, 2)); + jugItem.removeFromJugLevelWithBlockStateData(stack, player, 1); + } } } } else { return ItemInteractionResult.FAIL; } + +// if (state.getValue(DRINK_LEVEL) != 2) { +// if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null || (stack.get(AllDataComponents.JUG_LEVEL) != null && stack.get(AllDataComponents.JUG_LEVEL) != 0)) { +// int newDrinkLevel = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? 2 - state.getValue(DRINK_LEVEL) : 0; +// if (stack.get(AllDataComponents.JUG_LEVEL) == 1 || state.getValue(DRINK_LEVEL) == 1) +// newDrinkLevel = 1; +// int blockDrinkLevel = state.getValue(DRINK_LEVEL) == 1 ? 2 : newDrinkLevel; +// ApplicableFluidsToFluidContainer pouredFluid = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : state.getValue(FLUID); +// if (state.getValue(FLUID) == ApplicableFluidsToFluidContainer.NONE || state.getValue(DRINK_LEVEL) == 0) { +// if (stack.get(AllDataComponents.JUG_LEVEL) > 0) +// level.playSound(player, pos, SoundEvents.BOTTLE_EMPTY, SoundSource.BLOCKS, 1.0F, 1.0F); +// level.setBlockAndUpdate(pos, state.setValue(FLUID, pouredFluid).setValue(DRINK_LEVEL, blockDrinkLevel)); +// jugItem.removeFromJugLevelWithBlockStateData(stack, player, newDrinkLevel); +// } +// } +// } else { +// return ItemInteractionResult.FAIL; +// } } if (stack.is(Items.SHEARS)) { - //BlockPos popPosition = pos.offset(0, 1, 0); if (state.getValue(AllBlockStateProperties.STRAWS).getValue() != 0) { this.getDroppedItem(state.getValue(AllBlockStateProperties.STRAWS).getRegisteredItem().get(), pos, player, level); level.setBlockAndUpdate(pos, state.setValue(AllBlockStateProperties.STRAWS, StrawsVariants.NONE)); diff --git a/src/main/java/net/doppelr/lemonmates/item/ModItems.java b/src/main/java/net/doppelr/lemonmates/item/ModItems.java index 1b6b795..939046c 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModItems.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModItems.java @@ -171,8 +171,6 @@ public class ModItems { public static final DeferredItem ICE_CUBES = ITEMS.register("ice_cubes", () -> new Item(new Item.Properties())); - public static final DeferredItem LEMONADE_GLASS_DECORATED = ITEMS.register("lemonade_glass_decorated", - () -> new Item(new Item.Properties())); public static void register(IEventBus eventBus) { StrawsVariants.include(); diff --git a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java index 894561e..9a934db 100644 --- a/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java +++ b/src/main/java/net/doppelr/lemonmates/item/ModJugItem.java @@ -47,6 +47,44 @@ else if (stack.get(AllDataComponents.JUG_LEVEL) != null && stack.get(AllDataComp stack.set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, fluid); } + public void setContainedFluidWithBlockStateData(ItemStack stack, ApplicableFluidsToFluidContainer fluid) { + if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) == ApplicableFluidsToFluidContainer.NONE + || stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) == fluid) { + this.setContainedFluid(stack, fluid); + if (stack.get(DataComponents.BLOCK_STATE) != null) { + DataComponentMap.Builder map = DataComponentMap.builder(); + + int jugLevel = stack.get(AllDataComponents.JUG_LEVEL) != null ? + stack.get(AllDataComponents.JUG_LEVEL) : 0; + + map.set(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY + .with(AllBlockStateProperties.JUG_LEVEL, jugLevel) + .with(AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER, fluid)) + .set(AllDataComponents.JUG_LEVEL, jugLevel) + .set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, fluid); + + stack.applyComponents(map.build()); + } + } + else if (stack.get(AllDataComponents.JUG_LEVEL) != null && stack.get(AllDataComponents.JUG_LEVEL) == 0) { + this.setContainedFluid(stack, fluid); + if (stack.get(DataComponents.BLOCK_STATE) != null) { + DataComponentMap.Builder map = DataComponentMap.builder(); + + int jugLevel = stack.get(AllDataComponents.JUG_LEVEL) != null ? + stack.get(AllDataComponents.JUG_LEVEL) : 0; + + map.set(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY + .with(AllBlockStateProperties.JUG_LEVEL, jugLevel) + .with(AllBlockStateProperties.APPLICABLE_FLUID_TO_CONTAINER, fluid)) + .set(AllDataComponents.JUG_LEVEL, jugLevel) + .set(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER, fluid); + + stack.applyComponents(map.build()); + } + } + } + public void setJugLevel(ItemStack stack, int jugLevel) { stack.set(AllDataComponents.JUG_LEVEL, jugLevel); } @@ -110,31 +148,43 @@ public void removeFromJugLevelWithBlockStateData(ItemStack stack, Player player, } } - public void jugLevelHandling(ItemStack stack, Player player, ApplicableFluidsToFluidContainer fluid) { + public void jugLevelHandling(ItemStack stack, ItemStack offHandStack, ItemStack emptyStack, Player player, ApplicableFluidsToFluidContainer fluid) { Level level = player.level(); if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != fluid) - this.setContainedFluid(stack, fluid); + this.setContainedFluidWithBlockStateData(stack, fluid); boolean checkFluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null && (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) == fluid || stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) == ApplicableFluidsToFluidContainer.NONE); if (stack.get(AllDataComponents.JUG_LEVEL) == null || stack.get(AllDataComponents.JUG_LEVEL) == 0) { this.setJugLevel(stack, 4); level.playSound(player, player.blockPosition(), SoundEvents.BOTTLE_FILL, SoundSource.PLAYERS, 1.0F, 1.0F); - if (!player.getAbilities().instabuild) - player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); + if (!player.getAbilities().instabuild) { + offHandStack.shrink(1); + if (!player.getInventory().add(emptyStack)) + player.drop(emptyStack, false); + else player.addItem(emptyStack); + } } else if (stack.get(AllDataComponents.JUG_LEVEL) <= 4 && checkFluid) { this.addToJugLevelWithBlockStateData(stack, 4); level.playSound(player, player.blockPosition(), SoundEvents.BOTTLE_FILL, SoundSource.PLAYERS, 1.0F, 1.0F); - if (!player.getAbilities().instabuild) - player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); + if (!player.getAbilities().instabuild) { + offHandStack.shrink(1); + if (!player.getInventory().add(emptyStack)) + player.drop(emptyStack, false); + else player.addItem(emptyStack); + } } else if (stack.get(AllDataComponents.JUG_LEVEL) < 8 && checkFluid) { int incrementJugLevel = 4; if (stack.get(AllDataComponents.JUG_LEVEL) > 4) incrementJugLevel = 8 - stack.get(AllDataComponents.JUG_LEVEL); this.addToJugLevelWithBlockStateData(stack, incrementJugLevel); level.playSound(player, player.blockPosition(), SoundEvents.BOTTLE_FILL, SoundSource.PLAYERS, 1.0F, 1.0F); - if (!player.getAbilities().instabuild) - player.setItemInHand(InteractionHand.OFF_HAND, ModItems.BOTTLE_EMPTY.toStack()); + if (!player.getAbilities().instabuild) { + offHandStack.shrink(1); + if (!player.getInventory().add(emptyStack)) + player.drop(emptyStack, false); + else player.addItem(emptyStack); + } } } @@ -179,15 +229,15 @@ public InteractionResult useOn(UseOnContext context) { } else if (Boolean.FALSE.equals(stack.get(AllDataComponents.CAN_POUR))) { if (stack.get(AllDataComponents.JUG_LEVEL) == null || stack.get(AllDataComponents.JUG_LEVEL) <= 4) { if (offHandStack.is(ModItems.SUMMERMIX_LEMONADE_BOTTLE)) - this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.SUMMERMIX_LEMONADE); + this.jugLevelHandling(stack, offHandStack, ModItems.EMPTY_SUMMERMIX_LEMONADE_BOTTLE.toStack(), player, ApplicableFluidsToFluidContainer.SUMMERMIX_LEMONADE); if (offHandStack.is(ModItems.CITRON_LEMONADE_BOTTLE)) - this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.CITRON_LEMONADE); + this.jugLevelHandling(stack, offHandStack, ModItems.EMPTY_CITRON_LEMONADE_BOTTLE.toStack(), player, ApplicableFluidsToFluidContainer.CITRON_LEMONADE); if (offHandStack.is(ModItems.ORANGE_LEMONADE_BOTTLE)) - this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.ORANGE_LEMONADE); + this.jugLevelHandling(stack, offHandStack, ModItems.EMPTY_ORANGE_LEMONADE_BOTTLE.toStack(), player, ApplicableFluidsToFluidContainer.ORANGE_LEMONADE); if (offHandStack.is(ModItems.RASPBERRY_LEMONADE_BOTTLE)) - this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.RASPBERRY_LEMONADE); + this.jugLevelHandling(stack, offHandStack, ModItems.EMPTY_RASPBERRY_LEMONADE_BOTTLE.toStack(), player, ApplicableFluidsToFluidContainer.RASPBERRY_LEMONADE); if (offHandStack.is(ModItems.WATERMELON_LEMONADE_BOTTLE)) - this.jugLevelHandling(stack, player, ApplicableFluidsToFluidContainer.WATERMELON_LEMONADE); + this.jugLevelHandling(stack, offHandStack, ModItems.EMPTY_WATERMELON_LEMONADE_BOTTLE.toStack(), player, ApplicableFluidsToFluidContainer.WATERMELON_LEMONADE); } } } @@ -199,10 +249,10 @@ public InteractionResult useOn(UseOnContext context) { public void appendHoverText(ItemStack stack, @NotNull TooltipContext context, @NotNull List tooltipComponents, @NotNull TooltipFlag tooltipFlag) { String id = "block.lemonmates.lemonade_jug_terracotta"; boolean pour = stack.get(AllDataComponents.CAN_POUR) != null ? stack.get(AllDataComponents.CAN_POUR) : false; - ApplicableFluidsToFluidContainer applicableFluid = stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE; int level = stack.get(AllDataComponents.JUG_LEVEL) != null ? stack.get(AllDataComponents.JUG_LEVEL): 0; + ApplicableFluidsToFluidContainer applicableFluid = level > 0 ? (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : ApplicableFluidsToFluidContainer.NONE) : ApplicableFluidsToFluidContainer.NONE; Component fluid = Component.translatable("jugFluid.lemonmates." + applicableFluid.getSerializedName()); - LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour, fluid); + LemonMatesTooltipUtils.createCustomTooltip(id, true, tooltipComponents, pour, fluid, level); LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 2, tooltipComponents, pour, fluid, level); LemonMatesTooltipUtils.createAdditionalConditionalBehaviourTooltip(id, 3, tooltipComponents, fluid, level); } From f6aac34c56487cc1a8e16420163ca3ca3be9f3cc Mon Sep 17 00:00:00 2001 From: Dakota Date: Sun, 31 May 2026 15:08:54 -0500 Subject: [PATCH 73/76] Needless commenting --- .../block/ModDrinkingGlassBlock.java | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java index 6751ea2..2da293c 100644 --- a/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java +++ b/src/main/java/net/doppelr/lemonmates/block/ModDrinkingGlassBlock.java @@ -135,24 +135,6 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev } else { return ItemInteractionResult.FAIL; } - -// if (state.getValue(DRINK_LEVEL) != 2) { -// if (stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) != null || (stack.get(AllDataComponents.JUG_LEVEL) != null && stack.get(AllDataComponents.JUG_LEVEL) != 0)) { -// int newDrinkLevel = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? 2 - state.getValue(DRINK_LEVEL) : 0; -// if (stack.get(AllDataComponents.JUG_LEVEL) == 1 || state.getValue(DRINK_LEVEL) == 1) -// newDrinkLevel = 1; -// int blockDrinkLevel = state.getValue(DRINK_LEVEL) == 1 ? 2 : newDrinkLevel; -// ApplicableFluidsToFluidContainer pouredFluid = stack.get(AllDataComponents.JUG_LEVEL) > 0 ? stack.get(AllDataComponents.APPLICABLE_FLUID_TO_CONTAINER) : state.getValue(FLUID); -// if (state.getValue(FLUID) == ApplicableFluidsToFluidContainer.NONE || state.getValue(DRINK_LEVEL) == 0) { -// if (stack.get(AllDataComponents.JUG_LEVEL) > 0) -// level.playSound(player, pos, SoundEvents.BOTTLE_EMPTY, SoundSource.BLOCKS, 1.0F, 1.0F); -// level.setBlockAndUpdate(pos, state.setValue(FLUID, pouredFluid).setValue(DRINK_LEVEL, blockDrinkLevel)); -// jugItem.removeFromJugLevelWithBlockStateData(stack, player, newDrinkLevel); -// } -// } -// } else { -// return ItemInteractionResult.FAIL; -// } } if (stack.is(Items.SHEARS)) { From 50d3ba68e6c32f62cbfe1c15d88b8f10cfe0bf4e Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Mon, 1 Jun 2026 01:08:14 +0200 Subject: [PATCH 74/76] nutrition, creative mode tab changes, version stuff --- gradle.properties | 2 +- .../lemonmates/AllCreativeModeTabs.java | 5 ---- .../ApplicableFluidsToFluidContainer.java | 25 +++++++++++++++---- .../templates/META-INF/neoforge.mods.toml | 2 +- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/gradle.properties b/gradle.properties index d773657..d09bc05 100644 --- a/gradle.properties +++ b/gradle.properties @@ -32,7 +32,7 @@ mod_name=Create: Lemon Mates # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=Lemonmates License (see project pages) # The mod version. See https://semver.org/ -mod_version=1.1.0-development +mod_version=2.0.0 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java index bcd87de..0ee923c 100644 --- a/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java +++ b/src/main/java/net/doppelr/lemonmates/AllCreativeModeTabs.java @@ -43,11 +43,6 @@ private static ItemStack lemonadeJugStack(ItemStack stack) { output.accept(ModBlocks.ORANGE_CRATE); output.accept(ModBlocks.RASPBERRY_CRATE); - // Misc - output.accept(ModBlocks.LEMONADE_GLASS); - output.accept(lemonadeJugStack(ModItems.LEMONADE_JUG_TERRACOTTA.toStack())); - output.accept(lemonadeJugStack(ModItems.LEMONADE_JUG_GLASS.toStack())); - // Finished Lemonades output.accept(ModItems.CITRON_LEMONADE_BOTTLE); output.accept(ModItems.ORANGE_LEMONADE_BOTTLE); diff --git a/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java index 6a8fad0..b0e284e 100644 --- a/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java +++ b/src/main/java/net/doppelr/lemonmates/block/properties/ApplicableFluidsToFluidContainer.java @@ -12,11 +12,26 @@ public enum ApplicableFluidsToFluidContainer implements StringRepresentable { NONE, - SUMMERMIX_LEMONADE(new FoodProperties.Builder().build()), - ORANGE_LEMONADE(new FoodProperties.Builder().build()), - RASPBERRY_LEMONADE(new FoodProperties.Builder().build()), - WATERMELON_LEMONADE(new FoodProperties.Builder().build()), - CITRON_LEMONADE(new FoodProperties.Builder().build()),; + SUMMERMIX_LEMONADE(new FoodProperties.Builder() + .nutrition(5) + .saturationModifier(1f) + .build()), + ORANGE_LEMONADE(new FoodProperties.Builder() + .nutrition(5) + .saturationModifier(1f) + .build()), + RASPBERRY_LEMONADE(new FoodProperties.Builder() + .nutrition(5) + .saturationModifier(1f) + .build()), + WATERMELON_LEMONADE(new FoodProperties.Builder() + .nutrition(5) + .saturationModifier(1f) + .build()), + CITRON_LEMONADE(new FoodProperties.Builder() + .nutrition(5) + .saturationModifier(1f) + .build()),; final FoodProperties properties; public static final Codec CODEC = StringRepresentable.fromEnum(ApplicableFluidsToFluidContainer::values); diff --git a/src/main/templates/META-INF/neoforge.mods.toml b/src/main/templates/META-INF/neoforge.mods.toml index 3420657..ed15936 100644 --- a/src/main/templates/META-INF/neoforge.mods.toml +++ b/src/main/templates/META-INF/neoforge.mods.toml @@ -90,7 +90,7 @@ description='''${mod_description}''' [[dependencies."${mod_id}"]] modId="create" type="required" - versionRange="[6.0.3,6.1)" + versionRange="[6.0.7,6.1)" ordering="NONE" side="BOTH" From 67b67a636d7942d9e2a550ada28c51865b0d11e9 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 2 Jun 2026 01:56:20 +0200 Subject: [PATCH 75/76] ice cube block model fixes and addition --- .../blockstates/lemonade_glass.json | 43 +++++++++++ .../models/block/ice_cube_bottom.json | 71 ++++++++++++++++++ .../models/block/ice_cube_full.json | 4 +- .../models/block/ice_cube_half.json | 4 +- .../textures/block/ice_cubes_glass.png | Bin 0 -> 129 bytes 5 files changed, 118 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/assets/lemonmates/models/block/ice_cube_bottom.json create mode 100644 src/main/resources/assets/lemonmates/textures/block/ice_cubes_glass.png diff --git a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json index 7cb13c5..a02b0ee 100644 --- a/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json +++ b/src/main/resources/assets/lemonmates/blockstates/lemonade_glass.json @@ -128,6 +128,16 @@ "model": "lemonmates:block/ice_cube_half" } }, + { + "when": { + "has_ice": "true", + "drink_level": "0", + "facing": "north" + }, + "apply": { + "model": "lemonmates:block/ice_cube_bottom" + } + }, { "when": { "fruit_slice": "citron", @@ -460,6 +470,17 @@ "y": 180 } }, + { + "when": { + "has_ice": "true", + "drink_level": "0", + "facing": "south" + }, + "apply": { + "model": "lemonmates:block/ice_cube_bottom", + "y": 180 + } + }, { "when": { "fruit_slice": "citron", @@ -813,6 +834,17 @@ "y": 90 } }, + { + "when": { + "has_ice": "true", + "drink_level": "0", + "facing": "east" + }, + "apply": { + "model": "lemonmates:block/ice_cube_bottom", + "y": 90 + } + }, { "when": { "fruit_slice": "citron", @@ -1166,6 +1198,17 @@ "y": 270 } }, + { + "when": { + "has_ice": "true", + "drink_level": "0", + "facing": "west" + }, + "apply": { + "model": "lemonmates:block/ice_cube_bottom", + "y": 270 + } + }, { "when": { "fruit_slice": "citron", diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cube_bottom.json b/src/main/resources/assets/lemonmates/models/block/ice_cube_bottom.json new file mode 100644 index 0000000..27c629a --- /dev/null +++ b/src/main/resources/assets/lemonmates/models/block/ice_cube_bottom.json @@ -0,0 +1,71 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "ib": "lemonmates:block/ice_cubes_glass", + "particle": "lemonmates:block/ice_cubes_glass" + }, + "elements": [ + { + "name": "ice_cube_1", + "from": [6.25, 1, 6.5], + "to": [7.5, 2.25, 7.75], + "rotation": {"angle": 0, "axis": "z", "origin": [6.25, 1, 6.5]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ib"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ib"} + } + }, + { + "name": "ice_cube_2", + "from": [6.75, 1, 8.5], + "to": [8, 2.25, 9.75], + "rotation": {"angle": 22.5, "axis": "y", "origin": [6.75, 1, 8.5]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ib"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ib"} + } + }, + { + "name": "ice_cube_4", + "from": [8.25, 1, 8.75], + "to": [9.25, 2, 9.75], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9.25, 1.25, 10.25]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ib"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ib"} + } + }, + { + "name": "ice_cube_3", + "from": [8.75, 1, 6.75], + "to": [9.75, 2, 7.75], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8.75, 1, 7.75]}, + "faces": { + "north": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "east": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "south": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "west": {"uv": [2, 0, 4, 2], "texture": "#ib"}, + "up": {"uv": [4, 2, 2, 0], "rotation": 90, "texture": "#ib"}, + "down": {"uv": [4, 0, 2, 2], "rotation": 270, "texture": "#ib"} + } + } + ], + "display": { + "head": { + "translation": [0, 14.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json b/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json index f7daf0e..51d2828 100644 --- a/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json +++ b/src/main/resources/assets/lemonmates/models/block/ice_cube_full.json @@ -3,8 +3,8 @@ "credit": "Made with Blockbench", "render_type": "minecraft:translucent", "textures": { - "if": "minecraft:block/ice", - "particle": "minecraft:block/ice" + "if": "lemonmates:block/ice_cubes_glass", + "particle": "lemonmates:block/ice_cubes_glass" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json b/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json index 6ba3984..8ab50eb 100644 --- a/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json +++ b/src/main/resources/assets/lemonmates/models/block/ice_cube_half.json @@ -3,8 +3,8 @@ "credit": "Made with Blockbench", "render_type": "minecraft:translucent", "textures": { - "ih": "minecraft:block/ice", - "particle": "minecraft:block/ice" + "ih": "lemonmates:block/ice_cubes_glass", + "particle": "lemonmates:block/ice_cubes_glass" }, "elements": [ { diff --git a/src/main/resources/assets/lemonmates/textures/block/ice_cubes_glass.png b/src/main/resources/assets/lemonmates/textures/block/ice_cubes_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..0dbfd685be0a20f2551bde3e36d8882433c79f5c GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|tUX;ELo9le zZ3>_N-=}XcA+gT(@A(f;U)Q&-Qb<#06JoeLU7m->Muvwce&4_J2M^O!T;FR*ur5vr aU}OmD7G&9~;n4^*hQZU-&t;ucLK6VaQzqg7 literal 0 HcmV?d00001 From a3872ca35b120565ee6aeb10df4bfcc5db344f31 Mon Sep 17 00:00:00 2001 From: Doppel_R Date: Tue, 2 Jun 2026 16:13:26 +0200 Subject: [PATCH 76/76] update README.md --- README.md | 48 ++++++++++++++---------------------------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 1e7db80..1241d91 100644 --- a/README.md +++ b/README.md @@ -2,46 +2,26 @@ --- -**Create: Lemon-Mates** is a refreshing addon mod for Create, adding various lemonade drinks -and everything you need to produce them - bottles, labels, caps, fruits and of course lemonade. -Build your own lemonade factory with fully automated Create assembly lines! +**Create: Lemon-Mates** is an addon mod for Create, adding various lemonade drinks and everything you need to produce them - bottles, labels, caps, fruits and of course lemonade. +Build your own lemonade factory with fully automated Create assembly lines; and drink them out of decorated glasses at dinner with your friends or the local villagers.

Filling Process

+### Core Systems +- Realistic bottle production using bioplastic +- Lemonade mixing using different fruit combinations for 5 flavours +- Drinking glasses to place down, decorate and drink out of -### New Fruits -- Raspberry -- Citron -- Orange +### Other Features +- Tree and bush generation for the fruits +- 2 new wood sets for all wooden blocks and boats -### Lemonades -- Citron -- Orange -- Raspberry -- Summer-Mix -- Watermelon - -### Generation -- Raspberry bushes generate in forests -- Citron trees generate in spares jungles -- Orange trees generate in deserts - -### Plastic Bottles -This mod adds a new recyclable plastic bottle made from a bioplastic mass. -Use them in your automated bottling lines for a modern touch! - -### Recipes -All recipes and Create processes can be viewed using JEI. - -### Requirements -- Create v6 - -### Mod-Compatibility -- "Create: Enchantment Industry" is used for optional but cheaper label recipes -- "Farmer's Delight" knives can be used to slice citrons and oranges -- "Create: Slice & Dice" can be used to automate FDs slicing +### Compatibility +- Cheaper Label production with Create: Enchantment Industry +- Automated fruit slicing with Create: Slice & Dice, and/or manual with Farmer's Delight +- Direct chest boat crafting when the corresponding Quark segment is enabled ### Translation & Localisation - All items, blocks and tags are localized - English (en_us): 100% -- German/Deutsch (de_de): Coming with 1.1.0 +- German/Deutsch (de_de): 100%, added with 2.0.0 \ No newline at end of file

g9F-XDB_q$tK-yuaxkX!jcsvhX>= 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]xOMK*rme*@!^=NkmsL4)sz+k1PCn3MPQzO#(ht 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