ModularPowersuits/src/main/java/net/machinemuse/powersuits/powermodule/armor/MechanicalAssistance.java

74 lines
2.2 KiB
Java

package net.machinemuse.powersuits.powermodule.armor;
import net.machinemuse.api.IModularItem;
import net.machinemuse.api.ModuleManager;
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
import net.machinemuse.api.moduletrigger.IToggleableModule;
import net.machinemuse.powersuits.item.ItemComponent;
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
import net.machinemuse.utils.ElectricItemUtils;
import net.machinemuse.utils.MuseCommonStrings;
import net.machinemuse.utils.MuseItemUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import java.util.List;
/**
* Created by Eximius88 on 1/17/14.
*/
public class MechanicalAssistance extends PowerModuleBase implements IPlayerTickModule, IToggleableModule {
public static final String MODULE_MECH_ASSISTANCE = "Mechanical Assistance";
public static final String ASSISTANCE = "Robotic Assistance";
public static final String POWER_USAGE = "Power Usage";
public MechanicalAssistance(List<IModularItem> validItems) {
super(validItems);
addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.artificialMuscle, 4));
addTradeoffProperty(ASSISTANCE, POWER_USAGE, 500, " Joules/Tick");
addTradeoffProperty(ASSISTANCE, MuseCommonStrings.WEIGHT, -10000);
}
@Override
public String getTextureFile() {
return "mechassistance";
}
@Override
public String getCategory() {
return MuseCommonStrings.CATEGORY_ARMOR;
}
@Override
public String getDataName() {
return MODULE_MECH_ASSISTANCE;
}
@Override
public String getUnlocalizedName() {
return "mechAssistance";
}
@Override
public String getDescription() {
return "Robotic assistance to reduce the effect of weight on the user";
}
@Override
public void onPlayerTickActive(EntityPlayer player, ItemStack item) {
ElectricItemUtils.drainPlayerEnergy(player, ModuleManager.computeModularProperty(item, POWER_USAGE));
}
@Override
public void onPlayerTickInactive(EntityPlayer player, ItemStack item) {
}
}