From 70c1354a4a96698758a88c032866288f79de6f5a Mon Sep 17 00:00:00 2001 From: Benjamin Culkin Date: Sat, 24 Aug 2024 08:16:37 -0400 Subject: Initial commit --- .../characteristic/CharacteristicPoison.java | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/main/java/jp/plusplus/fbs/alchemy/characteristic/CharacteristicPoison.java (limited to 'src/main/java/jp/plusplus/fbs/alchemy/characteristic/CharacteristicPoison.java') diff --git a/src/main/java/jp/plusplus/fbs/alchemy/characteristic/CharacteristicPoison.java b/src/main/java/jp/plusplus/fbs/alchemy/characteristic/CharacteristicPoison.java new file mode 100644 index 0000000..cfbe4ba --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/alchemy/characteristic/CharacteristicPoison.java @@ -0,0 +1,44 @@ +package jp.plusplus.fbs.alchemy.characteristic; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +/** + * Created by plusplus_F on 2015/09/20. + */ +public class CharacteristicPoison extends CharacteristicBase { + protected boolean reverse; + public CharacteristicPoison(boolean minus){ + reverse=minus; + setUnlocalizedName("fbs.poison."+(reverse?"lose":"gain")); + } + + @Override + public Type getType() { + return Type.LENGTH; + } + + @Override + public void affectEntity(World world, EntityLivingBase entity){ + int d=10+10*getType().getCorrectedValue(value); + + if(reverse) entity.removePotionEffect(Potion.poison.getId()); + else entity.addPotionEffect(new PotionEffect(Potion.poison.getId(), 20*d, 1)); + } + + @Override + public ChatFormatting getNameColor(){ + return !reverse?ChatFormatting.RED:ChatFormatting.DARK_GREEN; + } + + public static class Gain extends CharacteristicPoison { + public Gain(){ super(false); } + } + public static class Lose extends CharacteristicPoison { + public Lose(){ super(true); } + } +} -- cgit v1.2.3