all drinkable and edible items got effects and mechanics as in concept

This commit is contained in:
steev 2024-09-15 22:30:16 +02:00
parent ddcc5fafe7
commit d169c29de3
25 changed files with 660 additions and 33 deletions

View File

@ -6,6 +6,8 @@ import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.alchemy.PotionUtils;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.RegistryObject;
@ -40,12 +42,16 @@ public class ModCreativeModeTabs {
pOutput.accept(ModItems.Pressed_Iron.get());
pOutput.accept(ModItems.Pressure_Body.get());
pOutput.accept(ModItems.Glass.get());
pOutput.accept(ModBlocks.SAPPHIRE_BLOCK.get());
pOutput.accept(ModItems.Glass_Of_Apple_Beer.get());
pOutput.accept(ModItems.Bottle_Of_Apple_Beer.get());
pOutput.accept(ModItems.Glass_Of_Apple_Juice.get());
pOutput.accept(ModItems.Bottle_Of_Apple_Juice.get());
pOutput.accept(ModItems.Glass_Of_Whine.get());
pOutput.accept(ModItems.Glass_Of_Corn_Beer.get());
pOutput.accept(ModItems.Glass_Of_Hop_Beer.get());
pOutput.accept(ModItems.Glass_Of_Yeast_Beer.get());
pOutput.accept(ModItems.Glass_Of_Pils_Beer.get());
pOutput.accept(ModItems.Glass_Of_Apple_Beer.get());
pOutput.accept(ModItems.Glass_Of_Apple_Juice.get());
pOutput.accept(ModItems.Glass_Of_Grape_Juice.get());
pOutput.accept(ModItems.Glass_Of_Water.get());
@ -55,11 +61,9 @@ public class ModCreativeModeTabs {
pOutput.accept(ModItems.Bottle_Of_Hop_Beer.get());
pOutput.accept(ModItems.Bottle_Of_Yeast_Beer.get());
pOutput.accept(ModItems.Bottle_Of_Pils_Beer.get());
pOutput.accept(ModItems.Bottle_Of_Apple_Beer.get());
pOutput.accept(ModItems.Bottle_Of_Apple_Juice.get());
pOutput.accept(ModItems.Bottle_Of_Grape_Juice.get());
pOutput.accept(ModItems.Bottle_Of_Sake.get());
pOutput.accept(ModBlocks.SAPPHIRE_BLOCK.get());
})
.build());

View File

@ -1,7 +1,14 @@
package de.slpnetwork.brewcraft.item;
import de.slpnetwork.brewcraft.Brewcraft;
import de.slpnetwork.brewcraft.item.food.Grape;
import net.minecraft.world.effect.MobEffect;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.alchemy.Potion;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
@ -13,41 +20,51 @@ import net.minecraftforge.registries.RegistryObject;
public class ModItems {
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Brewcraft.MODID);
public static final RegistryObject<Item> Saphire = ITEMS.register("sapphire", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Yeast = ITEMS.register("yeast", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Cider_Yeast = ITEMS.register("cider-yeast", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Hop = ITEMS.register("hop", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Rice = ITEMS.register("rice", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Grape = ITEMS.register("grape", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Barley = ITEMS.register("barley", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Malt = ITEMS.register("malt", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Barley_Malt = ITEMS.register("barley_malt", () -> new Item(new Item.Properties()));
// Items
public static final RegistryObject<Item> Glass = ITEMS.register("glass", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Heater_Body = ITEMS.register("heater_body", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Heater_Element = ITEMS.register("heater_element", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Mashine_Body = ITEMS.register("mashine_body", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Milling_Stone = ITEMS.register("milling_stone", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Pressed_Iron = ITEMS.register("pressed_iron", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Pressure_Body = ITEMS.register("pressure_body", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Bottle_Of_Corn_Beer = ITEMS.register("bottle_of_corn_beer", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Bottle_Of_Hop_Beer = ITEMS.register("bottle_of_hop_beer", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Bottle_Of_Pils_Beer = ITEMS.register("bottle_of_pils_beer", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Bottle_Of_Yeast_Beer = ITEMS.register("bottle_of_yeast_beer", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Bottle_Of_Apple_Beer = ITEMS.register("bottle_of_apple_beer", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Bottle_Of_Whine = ITEMS.register("bottle_of_whine", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Bottle_Of_Grape_Juice = ITEMS.register("bottle_of_grape_juice", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Bottle_Of_Apple_Juice = ITEMS.register("bottle_of_apple_juice", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Bottle_Of_Sake = ITEMS.register("bottle_of_sake", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Glass = ITEMS.register("glass", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Glass_Of_Corn_Beer = ITEMS.register("glass_of_corn_beer", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Glass_Of_Hop_Beer = ITEMS.register("glass_of_hop_beer", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Glass_Of_Yeast_Beer = ITEMS.register("glass_of_yeast_beer", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Glass_Of_Apple_Beer = ITEMS.register("glass_of_apple_beer", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Glass_Of_Pils_Beer = ITEMS.register("glass_of_pils_beer", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Glass_Of_Whine = ITEMS.register("glass_of_whine", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Glass_Of_Grape_Juice = ITEMS.register("glass_of_grape_juice", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Glass_Of_Apple_Juice = ITEMS.register("glass_of_apple_juice", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Glass_Of_Water = ITEMS.register("glass_of_water", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Glass_Of_Sake = ITEMS.register("glass_of_sake", () -> new Item(new Item.Properties()));
// blocks
public static final RegistryObject<Item> Saphire = ITEMS.register("sapphire", () -> new Item(new Item.Properties()));
// ingredients
public static final RegistryObject<Item> Cider_Yeast = ITEMS.register("cider-yeast", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Hop = ITEMS.register("hop", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Barley = ITEMS.register("barley", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Malt = ITEMS.register("malt", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> Barley_Malt = ITEMS.register("barley_malt", () -> new Item(new Item.Properties()));
// edible ingredients
public static final RegistryObject<Item> Yeast = ITEMS.register("yeast",de.slpnetwork.brewcraft.item.food.Yeast::GetItem);
public static final RegistryObject<Item> Rice = ITEMS.register("rice", de.slpnetwork.brewcraft.item.food.Rice::GetItem);
public static final RegistryObject<Item> Grape = ITEMS.register("grape", de.slpnetwork.brewcraft.item.food.Grape::GetItem);
// drinks
public static final RegistryObject<Item> Bottle_Of_Apple_Beer = ITEMS.register("bottle_of_apple_beer",() -> new de.slpnetwork.brewcraft.item.drinks.AppleBeer(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Glass_Of_Apple_Beer = ITEMS.register("glass_of_apple_beer",() -> new de.slpnetwork.brewcraft.item.drinks.AppleBeer(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Bottle_Of_Apple_Juice = ITEMS.register("bottle_of_apple_juice",() -> new de.slpnetwork.brewcraft.item.drinks.AppleJuice(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Glass_Of_Apple_Juice = ITEMS.register("glass_of_apple_juice",() -> new de.slpnetwork.brewcraft.item.drinks.AppleJuice(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Bottle_Of_Grape_Juice = ITEMS.register("bottle_of_grape_juice",() -> new de.slpnetwork.brewcraft.item.drinks.GrapeJuice(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Glass_Of_Grape_Juice = ITEMS.register("glass_of_grape_juice",() -> new de.slpnetwork.brewcraft.item.drinks.GrapeJuice(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Bottle_Of_Corn_Beer = ITEMS.register("bottle_of_corn_beer",() -> new de.slpnetwork.brewcraft.item.drinks.CornBeer(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Glass_Of_Corn_Beer = ITEMS.register("glass_of_corn_beer",() -> new de.slpnetwork.brewcraft.item.drinks.CornBeer(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Bottle_Of_Yeast_Beer = ITEMS.register("bottle_of_yeast_beer",() -> new de.slpnetwork.brewcraft.item.drinks.YeastBeer(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Glass_Of_Yeast_Beer = ITEMS.register("glass_of_yeast_beer",() -> new de.slpnetwork.brewcraft.item.drinks.YeastBeer(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Bottle_Of_Hop_Beer = ITEMS.register("bottle_of_hop_beer",() -> new de.slpnetwork.brewcraft.item.drinks.HopBeer(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Glass_Of_Hop_Beer = ITEMS.register("glass_of_hop_beer",() -> new de.slpnetwork.brewcraft.item.drinks.HopBeer(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Bottle_Of_Pils_Beer = ITEMS.register("bottle_of_pils_beer",() -> new de.slpnetwork.brewcraft.item.drinks.PilsBeer(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Glass_Of_Pils_Beer = ITEMS.register("glass_of_pils_beer",() -> new de.slpnetwork.brewcraft.item.drinks.PilsBeer(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Bottle_Of_Sake = ITEMS.register("bottle_of_sake",() -> new de.slpnetwork.brewcraft.item.drinks.Sake(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Glass_Of_Sake = ITEMS.register("glass_of_sake",() -> new de.slpnetwork.brewcraft.item.drinks.Sake(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Bottle_Of_Whine = ITEMS.register("bottle_of_whine",() -> new de.slpnetwork.brewcraft.item.drinks.Whine(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Glass_Of_Whine = ITEMS.register("glass_of_whine",() -> new de.slpnetwork.brewcraft.item.drinks.Whine(new Item.Properties().stacksTo(1)));
public static final RegistryObject<Item> Glass_Of_Water = ITEMS.register("glass_of_water",() -> new de.slpnetwork.brewcraft.item.drinks.Water(new Item.Properties().stacksTo(1)));
/***
* registers the deferredregister
* @param eventBus the mods eventbus

View File

@ -0,0 +1,55 @@
package de.slpnetwork.brewcraft.item.drinks;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.Level;
public class AppleBeer extends Item {
int secondInTicks = 20;
public AppleBeer(Item.Properties properties) {
super(properties);
}
@Override
public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity entity) {
if (!world.isClientSide()) {
if (entity instanceof Player player) {
player.addEffect(new MobEffectInstance(MobEffects.CONFUSION, secondInTicks * 10, 3));
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, secondInTicks * 25, 2));
player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, secondInTicks * 10, 3));
}
}
if (entity instanceof Player player && !player.getAbilities().instabuild) {
stack.shrink(1); // Verringert den Item-Stack nach dem Trinken, außer im Kreativmodus
}
return stack;
}
@Override
public UseAnim getUseAnimation(ItemStack stack) {
return UseAnim.DRINK; // Zeigt das Trinken-Animation
}
@Override
public int getUseDuration(ItemStack stack) {
return 32; // Die Zeit, die zum Trinken benötigt wird (in Ticks)
}
@Override
public InteractionResultHolder<ItemStack> use(Level world, Player player, InteractionHand hand) {
player.startUsingItem(hand);
return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand));
}
}

View File

@ -0,0 +1,53 @@
package de.slpnetwork.brewcraft.item.drinks;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.Level;
public class AppleJuice extends Item {
int secondInTicks = 20;
public AppleJuice(Item.Properties properties) {
super(properties);
}
@Override
public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity entity) {
if (!world.isClientSide()) {
if (entity instanceof Player player) {
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, secondInTicks * 2, 2));
}
}
if (entity instanceof Player player && !player.getAbilities().instabuild) {
stack.shrink(1); // Verringert den Item-Stack nach dem Trinken, außer im Kreativmodus
}
return stack;
}
@Override
public UseAnim getUseAnimation(ItemStack stack) {
return UseAnim.DRINK; // Zeigt das Trinken-Animation
}
@Override
public int getUseDuration(ItemStack stack) {
return 32; // Die Zeit, die zum Trinken benötigt wird (in Ticks)
}
@Override
public InteractionResultHolder<ItemStack> use(Level world, Player player, InteractionHand hand) {
player.startUsingItem(hand);
return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand));
}
}

View File

@ -0,0 +1,54 @@
package de.slpnetwork.brewcraft.item.drinks;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.Level;
public class CornBeer extends Item {
int secondInTicks = 20;
public CornBeer(Item.Properties properties) {
super(properties);
}
@Override
public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity entity) {
if (!world.isClientSide()) {
if (entity instanceof Player player) {
player.addEffect(new MobEffectInstance(MobEffects.CONFUSION, secondInTicks * 10, 3));
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, secondInTicks * 25, 2));
player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, secondInTicks * 10, 3)); }
}
if (entity instanceof Player player && !player.getAbilities().instabuild) {
stack.shrink(1); // Verringert den Item-Stack nach dem Trinken, außer im Kreativmodus
}
return stack;
}
@Override
public UseAnim getUseAnimation(ItemStack stack) {
return UseAnim.DRINK; // Zeigt das Trinken-Animation
}
@Override
public int getUseDuration(ItemStack stack) {
return 32; // Die Zeit, die zum Trinken benötigt wird (in Ticks)
}
@Override
public InteractionResultHolder<ItemStack> use(Level world, Player player, InteractionHand hand) {
player.startUsingItem(hand);
return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand));
}
}

View File

@ -0,0 +1,53 @@
package de.slpnetwork.brewcraft.item.drinks;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.Level;
public class GrapeJuice extends Item {
int secondInTicks = 20;
public GrapeJuice(Item.Properties properties) {
super(properties);
}
@Override
public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity entity) {
if (!world.isClientSide()) {
if (entity instanceof Player player) {
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, secondInTicks * 2, 2));
}
}
if (entity instanceof Player player && !player.getAbilities().instabuild) {
stack.shrink(1); // Verringert den Item-Stack nach dem Trinken, außer im Kreativmodus
}
return stack;
}
@Override
public UseAnim getUseAnimation(ItemStack stack) {
return UseAnim.DRINK; // Zeigt das Trinken-Animation
}
@Override
public int getUseDuration(ItemStack stack) {
return 32; // Die Zeit, die zum Trinken benötigt wird (in Ticks)
}
@Override
public InteractionResultHolder<ItemStack> use(Level world, Player player, InteractionHand hand) {
player.startUsingItem(hand);
return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand));
}
}

View File

@ -0,0 +1,55 @@
package de.slpnetwork.brewcraft.item.drinks;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.Level;
public class HopBeer extends Item {
int secondInTicks = 20;
public HopBeer(Item.Properties properties) {
super(properties);
}
@Override
public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity entity) {
if (!world.isClientSide()) {
if (entity instanceof Player player) {
player.addEffect(new MobEffectInstance(MobEffects.CONFUSION, secondInTicks * 10, 3));
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, secondInTicks * 25, 2));
player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, secondInTicks * 10, 3));
}
}
if (entity instanceof Player player && !player.getAbilities().instabuild) {
stack.shrink(1); // Verringert den Item-Stack nach dem Trinken, außer im Kreativmodus
}
return stack;
}
@Override
public UseAnim getUseAnimation(ItemStack stack) {
return UseAnim.DRINK; // Zeigt das Trinken-Animation
}
@Override
public int getUseDuration(ItemStack stack) {
return 32; // Die Zeit, die zum Trinken benötigt wird (in Ticks)
}
@Override
public InteractionResultHolder<ItemStack> use(Level world, Player player, InteractionHand hand) {
player.startUsingItem(hand);
return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand));
}
}

View File

@ -0,0 +1,55 @@
package de.slpnetwork.brewcraft.item.drinks;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.Level;
public class PilsBeer extends Item {
int secondInTicks = 20;
public PilsBeer(Item.Properties properties) {
super(properties);
}
@Override
public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity entity) {
if (!world.isClientSide()) {
if (entity instanceof Player player) {
player.addEffect(new MobEffectInstance(MobEffects.CONFUSION, secondInTicks * 10, 3));
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, secondInTicks * 25, 2));
player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, secondInTicks * 10, 3));
}
}
if (entity instanceof Player player && !player.getAbilities().instabuild) {
stack.shrink(1); // Verringert den Item-Stack nach dem Trinken, außer im Kreativmodus
}
return stack;
}
@Override
public UseAnim getUseAnimation(ItemStack stack) {
return UseAnim.DRINK; // Zeigt das Trinken-Animation
}
@Override
public int getUseDuration(ItemStack stack) {
return 32; // Die Zeit, die zum Trinken benötigt wird (in Ticks)
}
@Override
public InteractionResultHolder<ItemStack> use(Level world, Player player, InteractionHand hand) {
player.startUsingItem(hand);
return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand));
}
}

View File

@ -0,0 +1,55 @@
package de.slpnetwork.brewcraft.item.drinks;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.Level;
public class Sake extends Item {
int secondInTicks = 20;
public Sake(Item.Properties properties) {
super(properties);
}
@Override
public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity entity) {
if (!world.isClientSide()) {
if (entity instanceof Player player) {
player.addEffect(new MobEffectInstance(MobEffects.CONFUSION, secondInTicks * 10, 3));
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, secondInTicks * 25, 2));
player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, secondInTicks * 10, 3));
}
}
if (entity instanceof Player player && !player.getAbilities().instabuild) {
stack.shrink(1); // Verringert den Item-Stack nach dem Trinken, außer im Kreativmodus
}
return stack;
}
@Override
public UseAnim getUseAnimation(ItemStack stack) {
return UseAnim.DRINK; // Zeigt das Trinken-Animation
}
@Override
public int getUseDuration(ItemStack stack) {
return 32; // Die Zeit, die zum Trinken benötigt wird (in Ticks)
}
@Override
public InteractionResultHolder<ItemStack> use(Level world, Player player, InteractionHand hand) {
player.startUsingItem(hand);
return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand));
}
}

View File

@ -0,0 +1,47 @@
package de.slpnetwork.brewcraft.item.drinks;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.Level;
public class Water extends Item {
int secondInTicks = 20;
public Water(Properties properties) {
super(properties);
}
@Override
public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity entity) {
if (entity instanceof Player player && !player.getAbilities().instabuild) {
stack.shrink(1); // Verringert den Item-Stack nach dem Trinken, außer im Kreativmodus
}
return stack;
}
@Override
public UseAnim getUseAnimation(ItemStack stack) {
return UseAnim.DRINK; // Zeigt das Trinken-Animation
}
@Override
public int getUseDuration(ItemStack stack) {
return 32; // Die Zeit, die zum Trinken benötigt wird (in Ticks)
}
@Override
public InteractionResultHolder<ItemStack> use(Level world, Player player, InteractionHand hand) {
player.startUsingItem(hand);
return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand));
}
}

View File

@ -0,0 +1,55 @@
package de.slpnetwork.brewcraft.item.drinks;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.Level;
public class Whine extends Item {
int secondInTicks = 20;
public Whine(Item.Properties properties) {
super(properties);
}
@Override
public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity entity) {
if (!world.isClientSide()) {
if (entity instanceof Player player) {
player.addEffect(new MobEffectInstance(MobEffects.CONFUSION, secondInTicks * 10, 3));
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, secondInTicks * 25, 2));
player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, secondInTicks * 10, 3));
}
}
if (entity instanceof Player player && !player.getAbilities().instabuild) {
stack.shrink(1); // Verringert den Item-Stack nach dem Trinken, außer im Kreativmodus
}
return stack;
}
@Override
public UseAnim getUseAnimation(ItemStack stack) {
return UseAnim.DRINK; // Zeigt das Trinken-Animation
}
@Override
public int getUseDuration(ItemStack stack) {
return 32; // Die Zeit, die zum Trinken benötigt wird (in Ticks)
}
@Override
public InteractionResultHolder<ItemStack> use(Level world, Player player, InteractionHand hand) {
player.startUsingItem(hand);
return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand));
}
}

View File

@ -0,0 +1,55 @@
package de.slpnetwork.brewcraft.item.drinks;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.Level;
public class YeastBeer extends Item {
int secondInTicks = 20;
public YeastBeer(Item.Properties properties) {
super(properties);
}
@Override
public ItemStack finishUsingItem(ItemStack stack, Level world, LivingEntity entity) {
if (!world.isClientSide()) {
if (entity instanceof Player player) {
player.addEffect(new MobEffectInstance(MobEffects.CONFUSION, secondInTicks * 10, 3));
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, secondInTicks * 25, 2));
player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, secondInTicks * 10, 3));
}
}
if (entity instanceof Player player && !player.getAbilities().instabuild) {
stack.shrink(1); // Verringert den Item-Stack nach dem Trinken, außer im Kreativmodus
}
return stack;
}
@Override
public UseAnim getUseAnimation(ItemStack stack) {
return UseAnim.DRINK; // Zeigt das Trinken-Animation
}
@Override
public int getUseDuration(ItemStack stack) {
return 32; // Die Zeit, die zum Trinken benötigt wird (in Ticks)
}
@Override
public InteractionResultHolder<ItemStack> use(Level world, Player player, InteractionHand hand) {
player.startUsingItem(hand);
return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand));
}
}

View File

@ -0,0 +1,20 @@
package de.slpnetwork.brewcraft.item.food;
import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Rarity;
public class Grape {
public static Item GetItem() {
return new Item(
new Item.Properties().
stacksTo(64).
food(
new FoodProperties.Builder().
nutrition(2).
saturationMod(0.5f).
build()
).
rarity(Rarity.COMMON));
}
}

View File

@ -0,0 +1,21 @@
package de.slpnetwork.brewcraft.item.food;
import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Rarity;
public class Rice {
public static Item GetItem() {
return new Item(
new Item.Properties().
stacksTo(64).
food(
new FoodProperties.Builder().
nutrition(1).
saturationMod(0.5f).
build()
).
rarity(Rarity.COMMON)
);
}
}

View File

@ -0,0 +1,24 @@
package de.slpnetwork.brewcraft.item.food;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Rarity;
public class Yeast {
public static Item GetItem() {
return new Item(
new Item.Properties().
stacksTo(64).
food(
new FoodProperties.Builder().
nutrition(1).
saturationMod(0.5f).
effect(() -> new MobEffectInstance(MobEffects.POISON, 600, 3, false, true), 0.8f).
build()
).
rarity(Rarity.COMMON)
);
}
}

View File

@ -15,21 +15,25 @@
"item.brewcraft.pressed_iron": "Pressed Iron",
"item.brewcraft.pressure_body": "Pressure Body",
"item.brewcraft.bottle_of_corn_beer": "Bottle of Corn Beer",
"item.brewcraft.bottle_of_hop_beer": "Bottle of Hop Beer",
"item.brewcraft.bottle_of_whine": "Bottle of Whine",
"item.brewcraft.bottle_of_apple_juice": "Bottle of Apple Juice",
"item.brewcraft.bottle_of_apple_beer": "Bottle of Apple Beer",
"item.brewcraft.bottle_of_grape_juice": "Bottle of Grape Juice",
"item.brewcraft.bottle_of_sake": "Bottle of Sake",
"item.brewcraft.bottle_of_yeast_beer": "Bottle of Yeast Beer",
"item.brewcraft.bottle_of_pils_beer": "Bottle of Pils Beer",
"item.brewcraft.glass_of_corn_beer": "Glass of Corn Beer",
"item.brewcraft.glass_of_hop_beer": "Glass of Hop Beer",
"item.brewcraft.glass_of_whine": "Glass of Whine",
"item.brewcraft.glass_of_apple_juice": "Glass of Apple Juice",
"item.brewcraft.glass_of_apple_beer": "Glass of Apple Beer",
"item.brewcraft.glass_of_grape_juice": "Glass of Grape Juice",
"item.brewcraft.glass_of_water": "Glass of Water",
"item.brewcraft.glass_of_sake": "Glass of Sake",
"item.brewcraft.glass_of_yeast_beer": "Glass of Yeast Beer",
"item.brewcraft.glass_of_pils_beer": "Glass of Pils Beer",
"item.brewcraft.glass": "Glass",
"items.brewcraft.glass": "Glass",
"block.brewcraft.sapphire_block": "Block of Sapphire",

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

Binary file not shown.

BIN
tex/glass_of_apple_beer.psd Normal file

Binary file not shown.

BIN
tex/glass_of_yeast_beer.psd Normal file

Binary file not shown.