diff --git a/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapability.java b/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapability.java index 703f2ac32..00d54cad8 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapability.java +++ b/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapability.java @@ -32,7 +32,7 @@ import java.util.Set; public class AndroidCapability implements ICapabilityProvider, IAndroidCapability, INBTSerializable { protected final LivingEntity ent; protected BigDecimal energy_stored = new BigDecimal(0); - protected BigDecimal energy_stored_max = new BigDecimal(32000); + protected BigDecimal energy_stored_max = new BigDecimal(60_000); protected ItemStack battery = ItemStack.EMPTY; private BigDecimal network_energy = new BigDecimal(-1); diff --git a/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapabilityPlayer.java b/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapabilityPlayer.java index a897b220b..817883c46 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapabilityPlayer.java +++ b/src/main/java/ru/dbotthepony/mc/otm/capability/AndroidCapabilityPlayer.java @@ -62,8 +62,8 @@ public class AndroidCapabilityPlayer extends AndroidCapability { return; is_android = true; - energy_stored = new BigDecimal(32_000); - energy_stored_max = new BigDecimal(32_000); + energy_stored = new BigDecimal(60_000); + energy_stored_max = new BigDecimal(60_000); ply.setHealth(0.0F); ply.die(Registry.DAMAGE_BECOME_ANDROID); @@ -182,7 +182,7 @@ public class AndroidCapabilityPlayer extends AndroidCapability { MatteryNetworking.CHANNEL.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) ent), packet); } - public static final BigDecimal ENERGY_FOR_HUNGER_POINT = new BigDecimal(200); + public static final BigDecimal ENERGY_FOR_HUNGER_POINT = new BigDecimal(1000); @Override public void tickInner() { @@ -212,5 +212,10 @@ public class AndroidCapabilityPlayer extends AndroidCapability { BigDecimal extracted = this.extractEnergyInner(ENERGY_FOR_HUNGER_POINT.multiply(new BigDecimal(Float.toString(food_level - stats.getSaturationLevel()))), false); stats.setSaturation(stats.getSaturationLevel() + extracted.divide(ENERGY_FOR_HUNGER_POINT, MatteryCapability.ROUND_RULES).floatValue()); } + + if (stats.getExhaustionLevel() > 0f) { + BigDecimal extracted = this.extractEnergyInner(ENERGY_FOR_HUNGER_POINT.multiply(new BigDecimal(Float.toString(stats.getExhaustionLevel() / 4f))), false); + stats.setExhaustion(stats.getExhaustionLevel() - extracted.divide(ENERGY_FOR_HUNGER_POINT, MatteryCapability.ROUND_RULES).floatValue() * 4f); + } } }