From 5da808e64b28c8081a5c2c22e50fdce4ad500564 Mon Sep 17 00:00:00 2001 From: Vos Date: Tue, 18 Nov 2025 22:44:00 -0600 Subject: [PATCH] Infernal Beef --- .../acesbs/models/item/infernal_beef.json | 6 +++ .../loot_table/blocks/endtropy_ore.json | 2 +- .../loot_table/blocks/infernal_ashes_ore.json | 2 +- .../acesbs/datagen/ModModelProvider.java | 1 + .../acesbs/effect/InfernalFireEffect.java | 35 ++++++++++++++++++ .../acesbs/effect/ModEffects.java | 4 ++ .../acesbs/item/ModFoodComponent.java | 7 ++++ .../acesbs/item/ModItemGroups.java | 1 + .../acethewildfire/acesbs/item/ModItems.java | 18 +++++++-- .../resources/assets/acesbs/lang/en_us.json | 2 + .../acesbs/textures/item/infernal_beef.png | Bin 0 -> 2519 bytes .../textures/mob_effect/infernal_fire.png | Bin 0 -> 6695 bytes 12 files changed, 72 insertions(+), 6 deletions(-) create mode 100644 src/main/generated/assets/acesbs/models/item/infernal_beef.json create mode 100644 src/main/java/com/acethewildfire/acesbs/effect/InfernalFireEffect.java create mode 100644 src/main/resources/assets/acesbs/textures/item/infernal_beef.png create mode 100644 src/main/resources/assets/acesbs/textures/mob_effect/infernal_fire.png diff --git a/src/main/generated/assets/acesbs/models/item/infernal_beef.json b/src/main/generated/assets/acesbs/models/item/infernal_beef.json new file mode 100644 index 0000000..dcb5557 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/item/infernal_beef.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "acesbs:item/infernal_beef" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/loot_table/blocks/endtropy_ore.json b/src/main/generated/data/acesbs/loot_table/blocks/endtropy_ore.json index 45841cb..54af59a 100644 --- a/src/main/generated/data/acesbs/loot_table/blocks/endtropy_ore.json +++ b/src/main/generated/data/acesbs/loot_table/blocks/endtropy_ore.json @@ -166,7 +166,7 @@ "entries": [ { "type": "minecraft:item", - "name": "acesbs:raw_entropy" + "name": "acesbs:raw_endtropy" } ], "functions": [ diff --git a/src/main/generated/data/acesbs/loot_table/blocks/infernal_ashes_ore.json b/src/main/generated/data/acesbs/loot_table/blocks/infernal_ashes_ore.json index 17f5e86..6b46ec4 100644 --- a/src/main/generated/data/acesbs/loot_table/blocks/infernal_ashes_ore.json +++ b/src/main/generated/data/acesbs/loot_table/blocks/infernal_ashes_ore.json @@ -166,7 +166,7 @@ "entries": [ { "type": "minecraft:item", - "name": "acesbs:raw_entropy" + "name": "acesbs:infernal_ashes" } ], "functions": [ diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java index 00656cb..1b298e7 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java @@ -72,6 +72,7 @@ public class ModModelProvider extends FabricModelProvider { public void generateItemModels(ItemModelGenerator itemModelGenerator) { itemModelGenerator.register(ModItems.COOKED_LEMON, Models.GENERATED); itemModelGenerator.register(ModItems.LEMON, Models.GENERATED); + itemModelGenerator.register(ModItems.INFERNAL_BEEF, Models.GENERATED); itemModelGenerator.register(ModItems.TOBACCO, Models.GENERATED); itemModelGenerator.register(ModItems.RAW_ENTROPY, Models.GENERATED); itemModelGenerator.register(ModItems.STABLE_ENTROPY, Models.GENERATED); diff --git a/src/main/java/com/acethewildfire/acesbs/effect/InfernalFireEffect.java b/src/main/java/com/acethewildfire/acesbs/effect/InfernalFireEffect.java new file mode 100644 index 0000000..77375d4 --- /dev/null +++ b/src/main/java/com/acethewildfire/acesbs/effect/InfernalFireEffect.java @@ -0,0 +1,35 @@ +package com.acethewildfire.acesbs.effect; + +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.effect.StatusEffect; +import net.minecraft.entity.effect.StatusEffectCategory; + +import java.util.Random; + +public class InfernalFireEffect extends StatusEffect { + protected InfernalFireEffect(StatusEffectCategory category, int color) { + super(category, color); + } + + Random r = new Random(); + + @Override + public boolean applyUpdateEffect(LivingEntity entity, int amplifier) { + entity.setOnFireFor(1); + + if (entity.isTouchingWater()){ + double randomVelocityX = r.nextDouble(-0.5, 0.5); + double randomVelocityY = r.nextDouble(0.5, 1.0); + double randomVelocityZ = r.nextDouble(-0.5, 0.5); + entity.addVelocity(randomVelocityX, randomVelocityY, randomVelocityZ); + } + + return true; + + } + + @Override + public boolean canApplyUpdateEffect(int duration, int amplifier) { + return duration >= 19; + } +} diff --git a/src/main/java/com/acethewildfire/acesbs/effect/ModEffects.java b/src/main/java/com/acethewildfire/acesbs/effect/ModEffects.java index 2aab1da..f931c12 100644 --- a/src/main/java/com/acethewildfire/acesbs/effect/ModEffects.java +++ b/src/main/java/com/acethewildfire/acesbs/effect/ModEffects.java @@ -17,6 +17,10 @@ public class ModEffects { new LemonEffect(StatusEffectCategory.HARMFUL, 0xfae640) .addAttributeModifier(EntityAttributes.GENERIC_MOVEMENT_SPEED, Identifier.of(AcesBS.MOD_ID, "lemon"), -0.75F, EntityAttributeModifier.Operation.ADD_MULTIPLIED_TOTAL)); + public static final RegistryEntry INFERNAL_FIRE = registerStatusEffect("infernal_fire", + new InfernalFireEffect(StatusEffectCategory.HARMFUL, 0x963830) + .addAttributeModifier(EntityAttributes.GENERIC_MOVEMENT_SPEED, Identifier.of(AcesBS.MOD_ID, "infernal_fire"), + 1F, EntityAttributeModifier.Operation.ADD_MULTIPLIED_TOTAL)); private static RegistryEntry registerStatusEffect (String name, StatusEffect effect){ return Registry.registerReference(Registries.STATUS_EFFECT, Identifier.of(AcesBS.MOD_ID, name), effect); diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModFoodComponent.java b/src/main/java/com/acethewildfire/acesbs/item/ModFoodComponent.java index fec6145..b5bc8ff 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModFoodComponent.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModFoodComponent.java @@ -16,4 +16,11 @@ public class ModFoodComponent { .nutrition(6) .saturationModifier(0.5f) .build(); + + public static final FoodComponent INFERNAL_BEEF = new FoodComponent.Builder() + .nutrition(20) + .saturationModifier(0.5f) + .statusEffect(new StatusEffectInstance(ModEffects.INFERNAL_FIRE, 200), 0.2f) + .alwaysEdible() + .build(); } diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java index a0197ea..78ac227 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java @@ -24,6 +24,7 @@ public class ModItemGroups { entries.add(ModItems.PRISMA_STEEL); entries.add(ModItems.LEMON); entries.add(ModItems.COOKED_LEMON); + entries.add(ModItems.INFERNAL_BEEF); entries.add(ModItems.ORACLE_LEMON); entries.add(ModItems.GREEN_BRICKS); entries.add(ModItems.CRAB_RAVE_MUSIC_DISC); diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModItems.java b/src/main/java/com/acethewildfire/acesbs/item/ModItems.java index 00608a9..653a17d 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModItems.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModItems.java @@ -2,6 +2,7 @@ package com.acethewildfire.acesbs.item; import com.acethewildfire.acesbs.AcesBS; import com.acethewildfire.acesbs.block.ModBlocks; +import com.acethewildfire.acesbs.effect.ModEffects; import com.acethewildfire.acesbs.entity.ModEntities; import com.acethewildfire.acesbs.item.custom.HammerItem; import com.acethewildfire.acesbs.item.custom.ModArmorItem; @@ -11,10 +12,7 @@ import com.acethewildfire.acesbs.potion.ModPotions; import com.acethewildfire.acesbs.sounds.ModSounds; import net.minecraft.client.gui.screen.Screen; import net.minecraft.component.DataComponentTypes; -import net.minecraft.component.type.AttributeModifierSlot; -import net.minecraft.component.type.AttributeModifiersComponent; -import net.minecraft.component.type.FoodComponent; -import net.minecraft.component.type.PotionContentsComponent; +import net.minecraft.component.type.*; import net.minecraft.entity.attribute.EntityAttribute; import net.minecraft.entity.attribute.EntityAttributeModifier; import net.minecraft.entity.attribute.EntityAttributes; @@ -28,6 +26,7 @@ import net.minecraft.registry.Registry; import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.resource.featuretoggle.FeatureFlags; import net.minecraft.text.Text; +import net.minecraft.util.Formatting; import net.minecraft.util.Identifier; import java.util.List; @@ -40,6 +39,17 @@ public class ModItems { public static final Item RAW_ENDTROPY = registerItem("raw_endtropy", new Item(new Item.Settings())); public static final Item STABLE_ENDTROPY = registerItem("stable_endtropy", new Item(new Item.Settings())); public static final Item INFERNAL_ASHES = registerItem("infernal_ashes", new Item(new Item.Settings())); + public static final Item INFERNAL_BEEF = registerItem("infernal_beef", + new Item(new Item.Settings() + .food(ModFoodComponent.INFERNAL_BEEF) + .fireproof() + .component(DataComponentTypes.LORE, new LoreComponent( + List.of( + Text.literal("Brimstone fed").formatted(Formatting.DARK_RED, Formatting.ITALIC), + Text.literal("Non-holy").formatted(Formatting.DARK_RED, Formatting.ITALIC) + ) + )) + )); public static final Item LEMON = registerItem("lemon", new Item(new Item.Settings().food(ModFoodComponent.LEMON))); public static final Item COOKED_LEMON = registerItem("cooked_lemon", new Item(new Item.Settings().food(ModFoodComponent.COOKED_LEMON))); public static final Item GREEN_BRICKS = registerItem("green_bricks", new Item(new Item.Settings()) { diff --git a/src/main/resources/assets/acesbs/lang/en_us.json b/src/main/resources/assets/acesbs/lang/en_us.json index 771b3a5..24deeac 100644 --- a/src/main/resources/assets/acesbs/lang/en_us.json +++ b/src/main/resources/assets/acesbs/lang/en_us.json @@ -6,6 +6,7 @@ "item.acesbs.raw_endtropy": "Raw Endtropy", "item.acesbs.stable_endtropy": "Stabilized Endtropy", "item.acesbs.lemon": "Odd Lemon", + "item.acesbs.infernal_beef": "Infernal Beef", "item.acesbs.cooked_lemon": "Cooked Odd Lemon", "item.acesbs.green_bricks": "Green Bricks", "item.acesbs.wand": "Entropy Wand", @@ -15,6 +16,7 @@ "item.minecraft.lingering_potion.effect.blindness": "Lingering Potion of Blindness", "item.minecraft.tipped_arrow.effect.blindness": "Arrow of Blindness", + "effect.acesbs.infernal_fire": "Infernal Fire", "effect.acesbs.lemon": "Puckered", "item.minecraft.potion.effect.lemon": "Potion of Puckered", "item.minecraft.splash_potion.effect.lemon": "Splash Potion of Puckered", diff --git a/src/main/resources/assets/acesbs/textures/item/infernal_beef.png b/src/main/resources/assets/acesbs/textures/item/infernal_beef.png new file mode 100644 index 0000000000000000000000000000000000000000..04681ddc7c7fb2a868f0704195771d52ceff146b GIT binary patch literal 2519 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