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/CharacteristicWater.java | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/main/java/jp/plusplus/fbs/alchemy/characteristic/CharacteristicWater.java (limited to 'src/main/java/jp/plusplus/fbs/alchemy/characteristic/CharacteristicWater.java') diff --git a/src/main/java/jp/plusplus/fbs/alchemy/characteristic/CharacteristicWater.java b/src/main/java/jp/plusplus/fbs/alchemy/characteristic/CharacteristicWater.java new file mode 100644 index 0000000..dfc6f0a --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/alchemy/characteristic/CharacteristicWater.java @@ -0,0 +1,59 @@ +package jp.plusplus.fbs.alchemy.characteristic; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; +import shift.sextiarysector.api.SextiarySectorAPI; +import shift.sextiarysector.packet.PacketPlayerData; +import shift.sextiarysector.packet.SSPacketHandler; +import shift.sextiarysector.player.CustomPlayerData; +import shift.sextiarysector.player.EntityPlayerManager; +import shift.sextiarysector.player.MoistureStats; + +/** + * Created by plusplus_F on 2015/09/24. + */ +public class CharacteristicWater extends CharacteristicBase { + protected boolean reverse; + public CharacteristicWater(boolean minus){ + reverse=minus; + setUnlocalizedName("fbs.water."+(reverse?"lose":"gain")); + } + + @Override + public Type getType() { + return Type.SCALE; + } + + @Override + public void affectEntity(World world, EntityLivingBase entity){ + if(!(entity instanceof EntityPlayer)) return; + int d=6+6*getType().getCorrectedValue(value); + + CustomPlayerData cpd= EntityPlayerManager.getCustomPlayerData((EntityPlayer)entity); + if(cpd==null) return; + MoistureStats ms=cpd.getMoisture(); + + EntityPlayer ep=(EntityPlayer) entity; + + if(reverse) SextiarySectorAPI.addMoistureExhaustion(ep, d*2); + else SextiarySectorAPI.addMoistureStats(ep, d, 0.1f); + + if(ep instanceof EntityPlayerMP) SSPacketHandler.INSTANCE.sendTo(new PacketPlayerData(EntityPlayerManager.getCustomPlayerData(ep)), (EntityPlayerMP) ep); + } + + @Override + public ChatFormatting getNameColor(){ + return reverse?ChatFormatting.RED:ChatFormatting.DARK_GREEN; + } + + public static class Gain extends CharacteristicWater { + public Gain(){ super(false); } + } + public static class Lose extends CharacteristicWater { + public Lose(){ super(true); } + } +} -- cgit v1.2.3