all drinkable and edible items got effects and mechanics as in concept
This commit is contained in:
parent
ddcc5fafe7
commit
d169c29de3
@ -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());
|
||||
|
||||
|
@ -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
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
@ -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));
|
||||
}
|
||||
}
|
@ -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));
|
||||
}
|
||||
}
|
@ -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));
|
||||
}
|
||||
}
|
@ -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));
|
||||
}
|
||||
}
|
@ -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));
|
||||
}
|
||||
}
|
55
src/main/java/de/slpnetwork/brewcraft/item/drinks/Sake.java
Normal file
55
src/main/java/de/slpnetwork/brewcraft/item/drinks/Sake.java
Normal 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));
|
||||
}
|
||||
}
|
47
src/main/java/de/slpnetwork/brewcraft/item/drinks/Water.java
Normal file
47
src/main/java/de/slpnetwork/brewcraft/item/drinks/Water.java
Normal 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));
|
||||
}
|
||||
}
|
55
src/main/java/de/slpnetwork/brewcraft/item/drinks/Whine.java
Normal file
55
src/main/java/de/slpnetwork/brewcraft/item/drinks/Whine.java
Normal 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));
|
||||
}
|
||||
}
|
@ -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));
|
||||
}
|
||||
}
|
20
src/main/java/de/slpnetwork/brewcraft/item/food/Grape.java
Normal file
20
src/main/java/de/slpnetwork/brewcraft/item/food/Grape.java
Normal 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));
|
||||
}
|
||||
}
|
21
src/main/java/de/slpnetwork/brewcraft/item/food/Rice.java
Normal file
21
src/main/java/de/slpnetwork/brewcraft/item/food/Rice.java
Normal 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)
|
||||
);
|
||||
}
|
||||
}
|
24
src/main/java/de/slpnetwork/brewcraft/item/food/Yeast.java
Normal file
24
src/main/java/de/slpnetwork/brewcraft/item/food/Yeast.java
Normal 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)
|
||||
);
|
||||
}
|
||||
}
|
@ -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 |
BIN
tex/bottle_of_apple_beer.psd
Normal file
BIN
tex/bottle_of_apple_beer.psd
Normal file
Binary file not shown.
BIN
tex/bottle_of_yeast_beer.psd
Normal file
BIN
tex/bottle_of_yeast_beer.psd
Normal file
Binary file not shown.
BIN
tex/glass_of_apple_beer.psd
Normal file
BIN
tex/glass_of_apple_beer.psd
Normal file
Binary file not shown.
BIN
tex/glass_of_yeast_beer.psd
Normal file
BIN
tex/glass_of_yeast_beer.psd
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user