Compare commits
10 commits
9ace6b46fa
...
4e4a770bdf
Author | SHA1 | Date | |
---|---|---|---|
Timo Ley | 4e4a770bdf | ||
1dca314ef4 | |||
d786d41d11 | |||
b6daf58058 | |||
1e0b1923b8 | |||
74bd150d16 | |||
0c9e49938b | |||
7f50c70571 | |||
d8ac715066 | |||
0d88ca125a |
141
build.gradle
141
build.gradle
|
@ -3,7 +3,7 @@ buildscript {
|
|||
mavenCentral()
|
||||
maven {
|
||||
name = "forge"
|
||||
url = "http://files.minecraftforge.net/maven"
|
||||
url = "https://files.minecraftforge.net/maven"
|
||||
}
|
||||
maven {
|
||||
name = "sonatype"
|
||||
|
@ -11,22 +11,55 @@ buildscript {
|
|||
}
|
||||
}
|
||||
dependencies {
|
||||
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
|
||||
classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') {
|
||||
changing = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
url = "https://maven.tilera.xyz/"
|
||||
}
|
||||
maven {
|
||||
name = "ChickenBones"
|
||||
url = "http://chickenbones.net/maven"
|
||||
}
|
||||
maven {
|
||||
name = "ic2"
|
||||
url = "http://maven.ic2.player.to/"
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
}
|
||||
maven {
|
||||
url = "https://maven.thorfusion.com/artifactory/central/"
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
}
|
||||
maven {
|
||||
url = "https://s3.tilera.xyz/cdn/minecraft/libs/"
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
}
|
||||
ivy {
|
||||
url "https://ci.rs485.network/job/LogisticsPipes-0.9-mc17-bc7"
|
||||
layout "pattern", {
|
||||
artifact "[revision]/artifact/build/libs/[artifact]-0.9.3.[revision](-[classifier]).[ext]"
|
||||
}
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'forge'
|
||||
apply plugin: 'curseforge'
|
||||
|
||||
sourceCompatibility = 1.7
|
||||
targetCompatibility = 1.7
|
||||
sourceCompatibility = 1.8
|
||||
targetCompatibility = 1.8
|
||||
|
||||
// define the properties file
|
||||
ext.configFile = file "project.properties"
|
||||
|
@ -40,91 +73,57 @@ configFile.withReader {
|
|||
|
||||
def buildnumber = System.getenv("BUILD_NUMBER")
|
||||
def travisbuildnumber = (System.getenv("TRAVIS_BUILD_NUMBER") ?: -111).toInteger() + 111
|
||||
version = "${config.mod_version}." + (buildnumber ?: travisbuildnumber)
|
||||
version = "${config.minecraft_version}-${config.mod_version}." + (buildnumber ?: travisbuildnumber)
|
||||
group= "${config.group_id}" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||
archivesBaseName = "${config.mod_id}"
|
||||
def numina_version = (System.getenv("NUMINA_VERSION") ?:"0.4.1.104")
|
||||
def numina_version = (System.getenv("NUMINA_VERSION") ?:"0.4.1.105")
|
||||
|
||||
minecraft {
|
||||
version = "${config.minecraft_version}-${config.forge_version}"
|
||||
replace "@numina_version@", numina_version
|
||||
replace "@VERSION@", project.version
|
||||
runDir = "run"
|
||||
}
|
||||
|
||||
new File(config.libs_dir).mkdirs()
|
||||
def getLibrary(filename) {
|
||||
def f = new File(config.libs_dir + filename)
|
||||
if (!f.exists()) {
|
||||
new URL(config.apisource_url + filename).withInputStream{ i -> f.withOutputStream{ it << i }}
|
||||
}
|
||||
dependencies {
|
||||
compile files(config.libs_dir + filename)
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile 'codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev'
|
||||
compile 'codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev'
|
||||
compile 'codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev'
|
||||
implementation 'codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev'
|
||||
implementation 'codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev'
|
||||
implementation 'codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev'
|
||||
implementation "codechicken:ForgeMultipart:1.7.10-1.2.0.347:dev"
|
||||
implementation "universalelectricity:universalelectricity:5.1.0:deobf"
|
||||
implementation 'net.industrial-craft:industrialcraft-2:2.2.826-experimental:api'
|
||||
implementation 'thaumcraft:Thaumcraft:1.7.10-4.2.3.5:deobf'
|
||||
implementation 'logisticspipes:logisticspipes:128:dev'
|
||||
implementation 'appeng:appliedenergistics2:rv3-beta-23:dev'
|
||||
implementation 'mekanism:Mekanism:1.7.10-9.13.1:deobf'
|
||||
implementation 'buildcraft:buildcraft:7.1.25:dev'
|
||||
implementation 'cofh:CoFHCore:[1.7.10]3.1.4-329:dev'
|
||||
implementation 'cofh:ThermalFoundation:[1.7.10]1.2.6-118:dev'
|
||||
implementation 'cofh:ThermalExpansion:[1.7.10]4.1.5-248:dev'
|
||||
implementation 'ender:EnderCore:1.7.10-0.2.0.39_beta:dev'
|
||||
implementation 'ender:EnderIO:1.7.10-2.3.0.429_beta:dev'
|
||||
implementation 'chisel:Chisel:2.9.5.11:deobf'
|
||||
implementation 'mods:ExtraCells:1.7.10-2.3.14b197:deobf'
|
||||
implementation 'mods:MineFactoryReloaded:[1.7.10]2.8.0-104:dev'
|
||||
implementation 'mods:Numina:0.4.1.106'
|
||||
implementation 'mods:PlayerAPI:1.7.10-1.4'
|
||||
implementation 'mods:RenderPlayerAPI:1.7.10-1.4'
|
||||
implementation 'mods:SmartRender:1.7.10-2.1'
|
||||
implementation 'mods:forestry_1.7.10:4.2.16.64'
|
||||
implementation 'mods:Railcraft_1.7.10:9.12.2.0'
|
||||
implementation 'mods:BluePower:1.7.10-0.2.962:universal'
|
||||
implementation 'mods:QmunityLib:1.7.10-0.1.114:universal'
|
||||
implementation 'mods:MrTJPCore:1.1.0.31:universal'
|
||||
implementation 'mods:ProjectRed:1.7.10-4.7.0pre8.92:Base'
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
repositories {
|
||||
maven {
|
||||
name = "ic2"
|
||||
url = "http://maven.ic2.player.to/"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile 'net.industrial-craft:industrialcraft-2:2.2.826-experimental:api'
|
||||
}
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//getLibrary("CoFHCore-[1.7.10]3.0.3-303-dev.jar")
|
||||
////getLibrary("industrialcraft-2-2.2.765-experimental-api.jar")
|
||||
//getLibrary("ThermalExpansion-[1.7.10]4.0.3B1-218-dev.jar")
|
||||
//getLibrary("GalacticraftCore-Dev-1.7-3.0.12.168.jar")
|
||||
//getLibrary("Railcraft_1.7.10-9.7.0.0-dev.jar") // delete outdated CoFH API from this jar to run in dev environment
|
||||
//getLibrary("MineFactoryReloaded-[1.7.10]2.8.0-104-dev.jar")
|
||||
//getLibrary("forestry_1.7.10-3.6.3.20-api.jar")
|
||||
//getLibrary("Thaumcraft-deobf-1.7.10-4.2.3.5.jar")
|
||||
//getLibrary("SmartRender-1.7.10-2.1.jar") // this version is ok to build with, but to run in dev environment, download the SmartMoving zip and use the version from that
|
||||
//getLibrary("RenderPlayerAPI-1.7.10-1.4.jar")
|
||||
////getLibrary("appliedenergistics2-rv2-stable-10-dev.jar")
|
||||
//getLibrary("ExtraCells-deobf-1.7.10-2.3.2b158.jar") // This one may have to be downloaded manually
|
||||
//getLibrary("buildcraft-7.0.21-dev.jar")
|
||||
//getLibrary("BluePower-1.7.10-0.2.962-universal.jar")
|
||||
//getLibrary("EnderIO-1.7.10-2.2.8.381-dev.jar") // May need to delete Mekanism API from this jar to run in dev environment
|
||||
//getLibrary("Mekanism-1.7.10-8.1.7.252.jar")
|
||||
//getLibrary("MrTJPCore-1.1.0.31-universal.jar")
|
||||
//getLibrary("ProjectRed-1.7.10-4.7.0pre8.92-Base.jar")
|
||||
////getLibrary("Chisel2-2.5.0.43-deobf.jar")
|
||||
////getLibrary("Chisel-2.9.0.3-deobf.jar")
|
||||
//getLibrary("compactmachines-1.7.10-1.20-dev.jar") // This is for the personal shrinking device module; needs to be built from source.
|
||||
|
||||
processResources {
|
||||
// this will ensure that this task is redone when the versions change.
|
||||
inputs.property "version", project.version
|
||||
inputs.property "mcversion", project.minecraft.version
|
||||
|
||||
// replace stuff in mcmod.info, nothing else
|
||||
from(sourceSets.main.resources.srcDirs) {
|
||||
include 'mcmod.info'
|
||||
|
||||
// replace version and mcversion
|
||||
filesMatching('mcmod.info') {
|
||||
expand 'version':project.version, 'mcversion':project.minecraft.version
|
||||
}
|
||||
|
||||
// copy everything else, thats not the mcmod.info
|
||||
from(sourceSets.main.resources.srcDirs) {
|
||||
exclude 'mcmod.info'
|
||||
}
|
||||
}
|
||||
|
||||
jar {
|
||||
|
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
|||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.1-bin.zip
|
||||
|
|
|
@ -4,4 +4,3 @@ minecraft_version=1.7.10
|
|||
group_id=net.machinemuse
|
||||
mod_id=ModularPowersuits
|
||||
libs_dir=libs/
|
||||
apisource_url=http://machinemuse.minecraftforge.net/
|
||||
|
|
|
@ -11,7 +11,7 @@ import net.minecraft.item.ItemStack;
|
|||
* - handle charging, taking amount, tier, transfer limit, canProvideEnergy and simulate into account
|
||||
* - replace item IDs if appropriate (getChargedItemId() and getEmptyItemId())
|
||||
* - update and manage the damage value for the visual charge indicator
|
||||
*
|
||||
*
|
||||
* @note If you're implementing your own variant (ISpecialElectricItem), you can delegate to the
|
||||
* default implementations through ElectricItem.rawManager. The default implementation is designed
|
||||
* to minimize its dependency on its own constraints/structure and delegates most work back to the
|
||||
|
@ -45,7 +45,7 @@ public interface IElectricItemManager {
|
|||
|
||||
/**
|
||||
* Determine the charge level for the specified item.
|
||||
*
|
||||
*
|
||||
* @param stack ItemStack containing the electric item
|
||||
* @return charge level in EU
|
||||
*/
|
||||
|
@ -85,7 +85,7 @@ public interface IElectricItemManager {
|
|||
|
||||
/**
|
||||
* Get the tool tip to display for electric items.
|
||||
*
|
||||
*
|
||||
* @param stack ItemStack to determine the tooltip for
|
||||
* @return tool tip string or null for none
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
package micdoodle8.mods.galacticraft.api.item;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
* Implement into Armor items
|
||||
*/
|
||||
public interface IBreathableArmor
|
||||
{
|
||||
public enum EnumGearType
|
||||
{
|
||||
HELMET,
|
||||
GEAR,
|
||||
TANK1,
|
||||
TANK2
|
||||
}
|
||||
|
||||
/**
|
||||
* @param gearType The gear type to be handled
|
||||
* @return true if the passed gear type should be handled by this armor item
|
||||
*/
|
||||
public boolean handleGearType(EnumGearType gearType);
|
||||
|
||||
/**
|
||||
* Determines if armor item is currently valid for breathing
|
||||
*
|
||||
* @param helmetInSlot The armor itemstack
|
||||
* @param playerWearing The player wearing the armor
|
||||
* @param type The oxygen gear type @see EnumGearType
|
||||
* @return true if this armor item is valid for the provided oxygen gear
|
||||
* type
|
||||
*/
|
||||
public boolean canBreathe(ItemStack helmetInSlot, EntityPlayer playerWearing, EnumGearType type);
|
||||
}
|
|
@ -24,8 +24,6 @@ public interface IPowerModule {
|
|||
String getDataName();
|
||||
|
||||
// Use StatCollector.translateToLocal("module." + m.getUnlocalizedName + ".name") instead
|
||||
@Deprecated
|
||||
String getLocalizedName();
|
||||
|
||||
double applyPropertyModifiers(NBTTagCompound itemTag, String propertyName, double propertyValue);
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ import net.machinemuse.api.moduletrigger.IRightClickModule;
|
|||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||
import net.machinemuse.numina.item.NuminaItemUtils;
|
||||
import net.machinemuse.powersuits.item.IModeChangingModularItem;
|
||||
import net.machinemuse.utils.MuseItemUtils;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
@ -111,10 +110,7 @@ public class ModuleManager {
|
|||
public static boolean isModuleOnline(NBTTagCompound itemTag, String moduleName) {
|
||||
if (tagHasModule(itemTag, moduleName) && !itemTag.getCompoundTag(moduleName).hasKey(ONLINE)) {
|
||||
return true;
|
||||
} else if (tagHasModule(itemTag, moduleName) && itemTag.getCompoundTag(moduleName).getBoolean(ONLINE)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
} else return tagHasModule(itemTag, moduleName) && itemTag.getCompoundTag(moduleName).getBoolean(ONLINE);
|
||||
}
|
||||
|
||||
public static void toggleModule(NBTTagCompound itemTag, String name, boolean toggleval) {
|
||||
|
|
|
@ -15,7 +15,7 @@ public abstract class ElectricAdapter {
|
|||
if (stack == null)
|
||||
return null;
|
||||
Item i = stack.getItem();
|
||||
if (i instanceof MuseElectricItem) {
|
||||
if (i instanceof IMuseElectricItem) {
|
||||
return new MuseElectricAdapter(stack);
|
||||
} else if (ModCompatibility.isRFAPILoaded() && i instanceof IEnergyContainerItem) {
|
||||
return new TEElectricAdapter(stack);
|
||||
|
@ -35,4 +35,4 @@ public abstract class ElectricAdapter {
|
|||
public abstract double drainEnergy(double requested);
|
||||
|
||||
public abstract double giveEnergy(double provided);
|
||||
}
|
||||
}
|
|
@ -21,7 +21,7 @@ import net.minecraft.item.ItemStack;
|
|||
@Optional.Interface(iface = "cofh.api.energy.IEnergyContainerItem", modid = "CoFHAPI|energy", striprefs = true),
|
||||
@Optional.Interface(iface = "ic2.api.item.IElectricItemManager", modid = "IC2", striprefs = true),
|
||||
@Optional.Interface(iface = "ic2.api.item.ISpecialElectricItem", modid = "IC2", striprefs = true),
|
||||
@Optional.Interface(iface = "appeng.api.implementations.items.IAEItemPowerStorage", modid = "AE2", striprefs = true)
|
||||
@Optional.Interface(iface = "appeng.api.implementations.items.IAEItemPowerStorage", modid = "appliedenergistics2", striprefs = true)
|
||||
})
|
||||
public interface IMuseElectricItem extends
|
||||
IEnergyContainerItem,
|
||||
|
|
|
@ -7,11 +7,11 @@ import net.minecraft.item.ItemStack;
|
|||
*/
|
||||
public class MuseElectricAdapter extends ElectricAdapter {
|
||||
ItemStack stack;
|
||||
MuseElectricItem item;
|
||||
IMuseElectricItem item;
|
||||
|
||||
public MuseElectricAdapter(ItemStack stack) {
|
||||
this.stack = stack;
|
||||
this.item = (MuseElectricItem)stack.getItem();
|
||||
this.item = (IMuseElectricItem)stack.getItem();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -33,4 +33,4 @@ public class MuseElectricAdapter extends ElectricAdapter {
|
|||
public double giveEnergy(double provided) {
|
||||
return item.giveEnergyTo(stack, provided);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,253 +0,0 @@
|
|||
package net.machinemuse.api.electricity;
|
||||
|
||||
import appeng.api.config.AccessRestriction;
|
||||
import ic2.api.item.ElectricItem;
|
||||
import ic2.api.item.IElectricItemManager;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.utils.ElectricItemUtils;
|
||||
import net.machinemuse.utils.MuseItemUtils;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
* Author: MachineMuse (Claire Semple)
|
||||
* Created: 10:12 PM, 4/20/13
|
||||
*
|
||||
* Ported to Java by lehjr on 11/3/16.
|
||||
*/
|
||||
public class MuseElectricItem extends Item implements IMuseElectricItem {
|
||||
private static MuseElectricItem INSTANCE;
|
||||
|
||||
public static MuseElectricItem getInstance() {
|
||||
if (INSTANCE == null)
|
||||
INSTANCE = new MuseElectricItem();
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call to get the energy of an item
|
||||
*
|
||||
* @param stack ItemStack to set
|
||||
* @return Current energy level
|
||||
*/
|
||||
@Override
|
||||
public double getCurrentEnergy(ItemStack stack) {
|
||||
return MuseItemUtils.getDoubleOrZero(stack, ElectricItemUtils.CURRENT_ENERGY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Call to set the energy of an item
|
||||
*
|
||||
* @param stack ItemStack to set
|
||||
* @return Maximum energy level
|
||||
*/
|
||||
@Override
|
||||
public double getMaxEnergy(ItemStack stack) {
|
||||
return ModuleManager.computeModularProperty(stack, ElectricItemUtils.MAXIMUM_ENERGY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Call to set the energy of an item
|
||||
*
|
||||
* @param stack ItemStack to set
|
||||
* @param energy Level to set it to
|
||||
*/
|
||||
@Override
|
||||
public void setCurrentEnergy(ItemStack stack, double energy) {
|
||||
MuseItemUtils.setDoubleOrRemove(stack, ElectricItemUtils.CURRENT_ENERGY, Math.min(energy, getMaxEnergy(stack)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Call to drain energy from an item
|
||||
*
|
||||
* @param stack ItemStack being requested for energy
|
||||
* @param requested Amount of energy to drain
|
||||
* @return Amount of energy successfully drained
|
||||
*/
|
||||
@Override
|
||||
public double drainEnergyFrom(ItemStack stack, double requested) {
|
||||
double available = getCurrentEnergy(stack);
|
||||
if (available > requested) {
|
||||
setCurrentEnergy(stack, available - requested);
|
||||
return requested;
|
||||
} else {
|
||||
setCurrentEnergy(stack, 0);
|
||||
return available;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Call to give energy to an item
|
||||
*
|
||||
* @param stack ItemStack being provided with energy
|
||||
* @param provided Amount of energy to add
|
||||
* @return Amount of energy added
|
||||
*/
|
||||
@Override
|
||||
public double giveEnergyTo(ItemStack stack, double provided) {
|
||||
double available = getCurrentEnergy(stack);
|
||||
double max = getMaxEnergy(stack);
|
||||
if (available + provided < max) {
|
||||
setCurrentEnergy(stack, available + provided);
|
||||
return provided;
|
||||
} else {
|
||||
setCurrentEnergy(stack, max);
|
||||
return max - available;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxDamage(ItemStack itemStack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Industrialcraft 2 -------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public boolean canProvideEnergy(ItemStack itemStack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getChargedItem(ItemStack itemStack) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getEmptyItem(ItemStack itemStack) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxCharge(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToEU(getMaxEnergy(itemStack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTier(ItemStack itemStack) {
|
||||
return ElectricConversions.getTier(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getTransferLimit(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToEU(Math.sqrt(getMaxEnergy(itemStack)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double charge(ItemStack itemStack, double amount, int tier, boolean ignoreTransferLimit, boolean simulate){
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double transfer = (ignoreTransferLimit || amount < getTransferLimit(itemStack)) ? ElectricConversions.museEnergyFromEU(amount) : getTransferLimit(itemStack);
|
||||
double given = giveEnergyTo(itemStack, transfer);
|
||||
if (simulate) {
|
||||
setCurrentEnergy(itemStack, current);
|
||||
}
|
||||
return ElectricConversions.museEnergyToEU(given);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double discharge(ItemStack itemStack, double amount, int tier, boolean ignoreTransferLimit, boolean externally, boolean simulate) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double transfer = (ignoreTransferLimit || amount < getTransferLimit(itemStack)) ? ElectricConversions.museEnergyFromEU(amount) : getTransferLimit(itemStack);
|
||||
double taken = drainEnergyFrom(itemStack, transfer);
|
||||
if (simulate) {
|
||||
setCurrentEnergy(itemStack, current);
|
||||
}
|
||||
return ElectricConversions.museEnergyToEU(taken);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getCharge(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToEU(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUse(ItemStack itemStack, double amount) {
|
||||
return ElectricConversions.museEnergyFromEU(amount) < getCurrentEnergy(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean use(ItemStack itemStack, double amount, EntityLivingBase entity) {
|
||||
return ElectricItem.rawManager.use(itemStack, ElectricConversions.museEnergyToEU(amount), entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void chargeFromArmor(ItemStack itemStack, EntityLivingBase entity) {
|
||||
ElectricItem.rawManager.chargeFromArmor(itemStack, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getToolTip(ItemStack itemStack) {
|
||||
// return itemStack.getTooltip(Minecraft.getMinecraft().thePlayer, false).toString(); // enabling this doubles up the tooltips
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public IElectricItemManager getManager(ItemStack itemStack) {
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/* Thermal Expansion -------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public int receiveEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double receivedME = ElectricConversions.museEnergyFromRF(energy);
|
||||
double eatenME = giveEnergyTo(itemStack, receivedME);
|
||||
if (simulate) setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToRF(eatenME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int extractEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double requesteddME = ElectricConversions.museEnergyFromRF(energy);
|
||||
double takenME = drainEnergyFrom(itemStack, requesteddME);
|
||||
if (simulate) {
|
||||
setCurrentEnergy(itemStack, current);
|
||||
}
|
||||
return ElectricConversions.museEnergyToRF(takenME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnergyStored(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToRF(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxEnergyStored(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToRF(getMaxEnergy(itemStack));
|
||||
}
|
||||
|
||||
|
||||
/* Applied Energistics 2 ---------------------------------------------------------------------- */
|
||||
@Override
|
||||
public double injectAEPower(ItemStack itemStack, double ae) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double recieved = ElectricConversions.museEnergyFromAE(ae);
|
||||
setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToAE(recieved);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double extractAEPower(ItemStack itemStack, double ae) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double taken = ElectricConversions.museEnergyFromAE(ae);
|
||||
setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToAE(taken);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAEMaxPower(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToAE(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAECurrentPower(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToAE(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccessRestriction getPowerFlow(ItemStack itemStack) {
|
||||
return AccessRestriction.READ_WRITE;
|
||||
}
|
||||
}
|
|
@ -7,47 +7,47 @@ import net.machinemuse.powersuits.control.KeybindManager;
|
|||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
public class KeyConfigGui extends MuseGui {
|
||||
private EntityPlayer player;
|
||||
protected KeybindConfigFrame frame;
|
||||
private EntityPlayer player;
|
||||
protected KeybindConfigFrame frame;
|
||||
protected int worldx;
|
||||
protected int worldy;
|
||||
protected int worldz;
|
||||
|
||||
public KeyConfigGui(EntityPlayer player, int x, int y, int z) {
|
||||
super();
|
||||
KeybindManager.readInKeybinds();
|
||||
this.player = player;
|
||||
this.xSize = 256;
|
||||
this.ySize = 226;
|
||||
public KeyConfigGui(EntityPlayer player, int x, int y, int z) {
|
||||
super();
|
||||
KeybindManager.readInKeybinds();
|
||||
this.player = player;
|
||||
this.xSize = 256;
|
||||
this.ySize = 226;
|
||||
this.worldx = x;
|
||||
this.worldy = y;
|
||||
this.worldz = z;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the buttons (and other controls) to the screen.
|
||||
*/
|
||||
@Override
|
||||
public void initGui() {
|
||||
super.initGui();
|
||||
frame = new KeybindConfigFrame(this,
|
||||
new MusePoint2D(absX(-0.95), absY(-0.95)),
|
||||
new MusePoint2D(absX(0.95), absY(0.95)), player);
|
||||
frames.add(frame);
|
||||
/**
|
||||
* Add the buttons (and other controls) to the screen.
|
||||
*/
|
||||
@Override
|
||||
public void initGui() {
|
||||
super.initGui();
|
||||
frame = new KeybindConfigFrame(this,
|
||||
new MusePoint2D(absX(-0.95), absY(-0.95)),
|
||||
new MusePoint2D(absX(0.95), absY(0.95)), player);
|
||||
frames.add(frame);
|
||||
|
||||
TabSelectFrame tabFrame = new TabSelectFrame(player, new MusePoint2D(absX(-0.95F), absY(-1.05f)),new MusePoint2D(absX(0.95F), absY(-0.95f)), worldx, worldy, worldz);
|
||||
TabSelectFrame tabFrame = new TabSelectFrame(player, new MusePoint2D(absX(-0.95F), absY(-1.05f)), new MusePoint2D(absX(0.95F), absY(-0.95f)), worldx, worldy, worldz);
|
||||
frames.add(tabFrame);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleKeyboardInput() {
|
||||
super.handleKeyboardInput();
|
||||
frame.handleKeyboard();
|
||||
}
|
||||
@Override
|
||||
public void handleKeyboardInput() {
|
||||
super.handleKeyboardInput();
|
||||
frame.handleKeyboard();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGuiClosed() {
|
||||
super.onGuiClosed();
|
||||
KeybindManager.writeOutKeybinds();
|
||||
}
|
||||
@Override
|
||||
public void onGuiClosed() {
|
||||
super.onGuiClosed();
|
||||
KeybindManager.writeOutKeybinds();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ import java.util.List;
|
|||
/**
|
||||
* Ported to Java by lehjr on 10/19/16.
|
||||
*/
|
||||
public class ClickableKeybinding extends ClickableButton{
|
||||
public class ClickableKeybinding extends ClickableButton {
|
||||
protected List<ClickableModule> boundModules = new ArrayList<ClickableModule>();
|
||||
public boolean toggleval = false;
|
||||
boolean toggled = false;
|
||||
|
@ -33,9 +33,8 @@ public class ClickableKeybinding extends ClickableButton{
|
|||
|
||||
public ClickableKeybinding(KeyBinding keybind, MusePoint2D position, boolean free, Boolean displayOnHUD) {
|
||||
super(ClickableKeybinding.parseName(keybind), position, true);
|
||||
this.keybind = keybind;
|
||||
this.displayOnHUD = (displayOnHUD!= null) ? displayOnHUD : false;
|
||||
|
||||
this.keybind = keybind;
|
||||
}
|
||||
|
||||
static String parseName(KeyBinding keybind) {
|
||||
|
|
|
@ -52,5 +52,4 @@ public class ClickableLabel implements IClickable {
|
|||
public MusePoint2D getPosition() {
|
||||
return position;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -44,13 +44,13 @@ public class ClickableModule extends Clickable {
|
|||
public String getLocalizedName(IPowerModule m) {
|
||||
if (m instanceof ILocalizeableModule)
|
||||
return StatCollector.translateToLocal("module." + ((ILocalizeableModule) m).getUnlocalizedName() + ".name");
|
||||
return m.getLocalizedName();
|
||||
return "module has localization issue";
|
||||
}
|
||||
|
||||
public String getLocalizedDescription(IPowerModule m) {
|
||||
if (m instanceof ILocalizeableModule)
|
||||
return StatCollector.translateToLocal("module." + ((ILocalizeableModule) m).getUnlocalizedName() + ".desc");
|
||||
return m.getDescription();
|
||||
return "module has localization issue";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -72,7 +72,7 @@ public class ClickableModule extends Clickable {
|
|||
MuseRenderer.drawString(string, getPosition().x() + 3, getPosition().y() + 1);
|
||||
}
|
||||
else if (installed) {
|
||||
new GuiIcons.Checkmark(this.getPosition().x() - 8 + 1, this.getPosition().y() - 8 + 1, this.checkmarkcolour, null, null, null,null);
|
||||
new GuiIcons.Checkmark(getPosition().x() - 8 + 1, getPosition().y() - 8 + 1, checkmarkcolour, null, null, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -34,7 +34,6 @@ public class ClickableSlider extends Clickable {
|
|||
return this.name;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void draw() {
|
||||
MuseRenderer.drawCenteredString(name, position.x(), position.y());
|
||||
|
|
|
@ -13,9 +13,7 @@ import net.machinemuse.utils.MuseItemUtils;
|
|||
import net.machinemuse.utils.render.GuiIcons;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.entity.EntityClientPlayerMP;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.nbt.NBTBase;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagIntArray;
|
||||
import net.minecraft.util.StatCollector;
|
||||
|
@ -68,7 +66,7 @@ public class ColourPickerFrame implements IGuiFrame {
|
|||
if (item instanceof ItemPowerArmor) {
|
||||
ItemPowerArmor itemPowerArmor = (ItemPowerArmor)item;
|
||||
int[] intArray = { itemPowerArmor.getColorFromItemStack(this.itemSelector.getSelectedItem().getItem()).getInt(),
|
||||
itemPowerArmor.getGlowFromItemStack(this.itemSelector.getSelectedItem().getItem()).getInt() };
|
||||
itemPowerArmor.getGlowFromItemStack(this.itemSelector.getSelectedItem().getItem()).getInt() };
|
||||
renderSpec.setIntArray("colours", intArray);
|
||||
}
|
||||
else {
|
||||
|
@ -77,7 +75,7 @@ public class ColourPickerFrame implements IGuiFrame {
|
|||
}
|
||||
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
|
||||
if (player.worldObj.isRemote) {
|
||||
PacketSender.sendToServer(new MusePacketColourInfo((EntityPlayer)player, this.itemSelector.getSelectedItem().inventorySlot, this.colours()));
|
||||
PacketSender.sendToServer(new MusePacketColourInfo(player, this.itemSelector.getSelectedItem().inventorySlot, this.colours()));
|
||||
}
|
||||
return (NBTTagIntArray) renderSpec.getTag("colours");
|
||||
}
|
||||
|
@ -88,25 +86,25 @@ public class ColourPickerFrame implements IGuiFrame {
|
|||
return null;
|
||||
}
|
||||
NBTTagCompound renderSpec = MuseItemUtils.getMuseRenderTag(this.itemSelector.getSelectedItem().getItem());
|
||||
renderSpec.setTag("colours", (NBTBase)new NBTTagIntArray(newarray));
|
||||
renderSpec.setTag("colours", new NBTTagIntArray(newarray));
|
||||
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
|
||||
if (player.worldObj.isRemote) {
|
||||
PacketSender.sendToServer(new MusePacketColourInfo((EntityPlayer)player, this.itemSelector.getSelectedItem().inventorySlot, this.colours()));
|
||||
PacketSender.sendToServer(new MusePacketColourInfo(player, this.itemSelector.getSelectedItem().inventorySlot, this.colours()));
|
||||
}
|
||||
return (NBTTagIntArray) renderSpec.getTag("colours");
|
||||
}
|
||||
|
||||
public ArrayList<Integer> importColours() {
|
||||
return new ArrayList<Integer>();
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
public void refreshColours() {
|
||||
// getOrCreateColourTag.map(coloursTag => {
|
||||
// val colourints: Array[Int] = coloursTag.intArray
|
||||
// val colourset: HashSet[Int] = HashSet.empty ++ colours ++ colourints
|
||||
// val colourarray = colourset.toArray
|
||||
// coloursTag.intArray = colourarray
|
||||
// })
|
||||
// getOrCreateColourTag.map(coloursTag => {
|
||||
// val colourints: Array[Int] = coloursTag.intArray
|
||||
// val colourset: HashSet[Int] = HashSet.empty ++ colours ++ colourints
|
||||
// val colourarray = colourset.toArray
|
||||
// coloursTag.intArray = colourarray
|
||||
// })
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -174,7 +172,10 @@ public class ColourPickerFrame implements IGuiFrame {
|
|||
this.onSelectColour(colourCol);
|
||||
} else if (colourCol == this.colours().length) {
|
||||
MuseLogger.logDebug("Adding");
|
||||
setColourTagMaybe(ArrayUtils.add(getIntArray(getOrCreateColourTag()), Colour.WHITE.getInt()));
|
||||
|
||||
NBTTagIntArray nbtTagIntArray = getOrCreateColourTag();
|
||||
int[] intArray = getIntArray(nbtTagIntArray);
|
||||
setColourTagMaybe(ArrayUtils.add(intArray, Colour.WHITE.getInt()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -183,7 +184,7 @@ public class ColourPickerFrame implements IGuiFrame {
|
|||
NBTTagIntArray nbtTagIntArray = getOrCreateColourTag();
|
||||
|
||||
int[] intArray = getIntArray(nbtTagIntArray);
|
||||
if (intArray.length > 1) {
|
||||
if (intArray != null && intArray.length > 1) {
|
||||
/* TODO - for 1.10.2 and above, simplyfy with Java 8 collections and streams. Seriously, all this to remove an element fron an int array*/
|
||||
List<Integer> integerArray = new ArrayList<>();
|
||||
int intToRemove = intArray[selectedColour];
|
||||
|
@ -212,6 +213,8 @@ public class ColourPickerFrame implements IGuiFrame {
|
|||
}
|
||||
|
||||
public int[] getIntArray(NBTTagIntArray e) {
|
||||
if (e == null) // null when no armor item selected
|
||||
return new int[0];
|
||||
return e.func_150302_c();
|
||||
}
|
||||
}
|
|
@ -27,19 +27,17 @@ import java.util.List;
|
|||
public class ItemModelViewFrame implements IGuiFrame {
|
||||
ItemSelectionFrame itemSelector;
|
||||
DrawableMuseRect border;
|
||||
|
||||
double anchorx = 0;
|
||||
double anchory = 0;
|
||||
int dragging = -1;
|
||||
double lastdWheel = 0;
|
||||
|
||||
double rotx = 0;
|
||||
double roty = 0;
|
||||
double offsetx = 0;
|
||||
double offsety = 0;
|
||||
double zoom = 64;
|
||||
|
||||
public ItemModelViewFrame(ItemSelectionFrame itemSelector, MusePoint2D topleft, MusePoint2D bottomright, Colour borderColour, Colour insideColour) {
|
||||
public ItemModelViewFrame(ItemSelectionFrame itemSelector, MusePoint2D topleft, MusePoint2D bottomright, Colour borderColour, Colour insideColour) {
|
||||
this.itemSelector = itemSelector;
|
||||
this.border = new DrawableMuseRect(topleft, bottomright, borderColour, insideColour);
|
||||
}
|
||||
|
@ -81,15 +79,15 @@ public class ItemModelViewFrame implements IGuiFrame {
|
|||
double dy = mousey - anchory;
|
||||
switch(dragging) {
|
||||
case 0: {
|
||||
rotx = MuseMathUtils.clampDouble((rotx + dy), -90, 90);
|
||||
roty = (roty - dx);
|
||||
rotx = MuseMathUtils.clampDouble(rotx + dy, -90, 90);
|
||||
roty = roty - dx;
|
||||
anchorx = mousex;
|
||||
anchory = mousey;
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
offsetx = (offsetx + dx);
|
||||
offsety = (offsety + dy);
|
||||
offsetx = offsetx + dx;
|
||||
offsety = offsety + dy;
|
||||
anchorx = mousex;
|
||||
anchory = mousey;
|
||||
break;
|
||||
|
|
|
@ -43,9 +43,7 @@ public class KeybindConfigFrame implements IGuiFrame {
|
|||
public KeybindConfigFrame(MuseGui gui, MusePoint2D ul, MusePoint2D br, EntityPlayer player) {
|
||||
modules = new HashSet();
|
||||
for (ClickableKeybinding kb : KeybindManager.getKeybindings()) {
|
||||
for (ClickableModule module : kb.getBoundModules()) {
|
||||
modules.add(module);
|
||||
}
|
||||
modules.addAll(kb.getBoundModules());
|
||||
}
|
||||
this.gui = gui;
|
||||
this.ul = ul;
|
||||
|
|
|
@ -63,7 +63,6 @@ public class ModuleTweakFrame extends ScrollableFrame {
|
|||
if (selectedSlider != null) {
|
||||
selectedSlider.moveSlider(mousex, mousey);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -111,7 +110,6 @@ public class ModuleTweakFrame extends ScrollableFrame {
|
|||
}
|
||||
}
|
||||
propertyStrings.put(property.getKey(), currValue);
|
||||
|
||||
}
|
||||
|
||||
sliders = new LinkedList();
|
||||
|
|
|
@ -55,7 +55,6 @@ public class PartManipSubFrame {
|
|||
var specs: Array[ModelPartSpec] = model.apply.values.filter(spec => isValidArmor(getSelectedItem, spec.slot)).toArray
|
||||
model.apply().values().filter(Function1<ModelPartSpec, Object> p) */
|
||||
this.specs = getSpecs();
|
||||
|
||||
this.open = true;
|
||||
}
|
||||
|
||||
|
@ -272,4 +271,4 @@ public class PartManipSubFrame {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -67,6 +67,10 @@ public class SMovingArmorModel extends ModelPlayer implements IArmorModel {
|
|||
visibleSection = value;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Sets the models various rotation angles then renders the model.
|
||||
*/
|
||||
|
|
|
@ -23,7 +23,7 @@ public class ModelSpec extends MuseRegistry<ModelPartSpec>
|
|||
this.textures = textures;
|
||||
this.offset = offset;
|
||||
this.rotation = rotation;
|
||||
this.filename = filename;
|
||||
ModelSpec.filename = filename;
|
||||
}
|
||||
|
||||
public void applyOffsetAndRotation() {
|
||||
|
|
|
@ -4,9 +4,9 @@ import com.google.gson.Gson;
|
|||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.api.IPowerModule;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.numina.basemod.Numina;
|
||||
import net.machinemuse.numina.general.MuseLogger;
|
||||
import net.machinemuse.powersuits.common.proxy.CommonProxy;
|
||||
|
|
|
@ -5,21 +5,9 @@ import cpw.mods.fml.common.SidedProxy;
|
|||
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import cpw.mods.fml.common.registry.EntityRegistry;
|
||||
import net.machinemuse.powersuits.common.proxy.CommonProxy;
|
||||
import net.machinemuse.powersuits.entity.EntityLuxCapacitor;
|
||||
import net.machinemuse.powersuits.entity.EntityPlasmaBolt;
|
||||
import net.machinemuse.powersuits.entity.EntitySpinningBlade;
|
||||
import net.machinemuse.powersuits.event.HarvestEventHandler;
|
||||
import net.machinemuse.powersuits.event.MovementManager;
|
||||
import net.machinemuse.powersuits.network.packets.MPSPacketList;
|
||||
import net.machinemuse.powersuits.powermodule.tool.TerminalHandler;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.io.File;
|
||||
|
||||
import static net.machinemuse.powersuits.common.ModularPowersuits.MODID;
|
||||
import static net.machinemuse.powersuits.common.ModularPowersuits.VERSION;
|
||||
|
@ -32,7 +20,7 @@ import static net.machinemuse.powersuits.common.ModularPowersuits.VERSION;
|
|||
*
|
||||
* Ported to Java by lehjr on 11/14/16.
|
||||
*/
|
||||
@Mod(modid = MODID, version = VERSION, dependencies = "required-after:numina@[@numina_version@,)")
|
||||
@Mod(modid = MODID, version = VERSION, dependencies = "required-after:numina@[@numina_version@,), ae2wct")
|
||||
public final class ModularPowersuits {
|
||||
public static final String MODID = "powersuits";
|
||||
public static final String VERSION = "@VERSION@";
|
||||
|
|
|
@ -77,9 +77,9 @@ public class CommonProxy {
|
|||
MinecraftForge.EVENT_BUS.register(new MovementManager());
|
||||
}
|
||||
|
||||
public void registerHandlers() {};
|
||||
public void registerHandlers() {}
|
||||
|
||||
public void registerRenderers() {};
|
||||
public void registerRenderers() {}
|
||||
|
||||
public void sendModeChange(int dMode, String newMode) {};
|
||||
public void sendModeChange(int dMode, String newMode) {}
|
||||
}
|
|
@ -10,7 +10,6 @@ import net.machinemuse.powersuits.item.IModeChangingModularItem;
|
|||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.entity.EntityClientPlayerMP;
|
||||
import net.minecraft.client.settings.KeyBinding;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
|
|
|
@ -11,7 +11,6 @@ import net.machinemuse.general.gui.WaterMeter;
|
|||
import net.machinemuse.general.gui.clickable.ClickableKeybinding;
|
||||
import net.machinemuse.numina.network.MusePacket;
|
||||
import net.machinemuse.numina.network.PacketSender;
|
||||
import net.machinemuse.powersuits.block.BlockTinkerTable;
|
||||
import net.machinemuse.powersuits.common.Config;
|
||||
import net.machinemuse.powersuits.control.KeybindManager;
|
||||
import net.machinemuse.powersuits.control.PlayerInputMap;
|
||||
|
|
|
@ -84,6 +84,8 @@ public class PlayerUpdateHandler {
|
|||
}
|
||||
}
|
||||
}
|
||||
else if ((player.worldObj.isRemote) && NuminaConfig.useSounds())
|
||||
Musique.stopPlayerSound(player, SoundDictionary.SOUND_GLIDER);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -34,7 +34,7 @@ public class RenderEventHandler {
|
|||
private final DrawableMuseRect frame = new DrawableMuseRect(Config.keybindHUDx(), Config.keybindHUDy(), Config.keybindHUDx() + (double)16, Config.keybindHUDy() + (double)16, true, Colour.DARKGREEN.withAlpha(0.2), Colour.GREEN.withAlpha(0.2));
|
||||
|
||||
public RenderEventHandler() {
|
||||
this.ownFly = false;
|
||||
ownFly = false;
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
|
|
@ -47,10 +47,4 @@ public interface IModularItemBase extends IModularItem, IMuseElectricItem {
|
|||
List<String> getLongInfo(EntityPlayer player, ItemStack stack);
|
||||
|
||||
double getArmorDouble(EntityPlayer player, ItemStack stack);
|
||||
|
||||
double getPlayerEnergy(EntityPlayer player);
|
||||
|
||||
void drainPlayerEnergy(EntityPlayer player, double drainEnergy);
|
||||
|
||||
void givePlayerEnergy(EntityPlayer player, double joulesToGive);
|
||||
}
|
||||
|
|
|
@ -1,190 +1,358 @@
|
|||
package net.machinemuse.powersuits.item;
|
||||
|
||||
import appeng.api.config.AccessRestriction;
|
||||
import cpw.mods.fml.common.Optional;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ic2.api.item.ElectricItem;
|
||||
import ic2.api.item.IElectricItemManager;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.api.electricity.ElectricConversions;
|
||||
import net.machinemuse.api.electricity.IMuseElectricItem;
|
||||
import net.machinemuse.api.electricity.MuseElectricItem;
|
||||
import net.machinemuse.numina.geometry.Colour;
|
||||
import net.machinemuse.powersuits.powermodule.misc.CosmeticGlowModule;
|
||||
import net.machinemuse.powersuits.powermodule.misc.TintModule;
|
||||
import net.machinemuse.utils.ElectricItemUtils;
|
||||
import net.machinemuse.utils.MuseCommonStrings;
|
||||
import net.machinemuse.utils.MuseItemUtils;
|
||||
import net.machinemuse.utils.MuseStringUtils;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.WeightedRandom;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static net.machinemuse.numina.general.MuseMathUtils.clampDouble;
|
||||
|
||||
/**
|
||||
* Ported to Java by lehjr on 10/26/16.
|
||||
*/
|
||||
@Optional.InterfaceList({
|
||||
@Optional.Interface(iface = "cofh.api.energy.IEnergyContainerItem", modid = "CoFHAPI|energy", striprefs = true),
|
||||
@Optional.Interface(iface = "ic2.api.item.IElectricItemManager", modid = "IC2", striprefs = true),
|
||||
@Optional.Interface(iface = "ic2.api.item.ISpecialElectricItem", modid = "IC2", striprefs = true),
|
||||
@Optional.Interface(iface = "appeng.api.implementations.items.IAEItemPowerStorage", modid = "appliedenergistics2", striprefs = true)
|
||||
})
|
||||
public abstract class ItemElectricArmor extends ItemArmor implements IModularItemBase, IMuseElectricItem {
|
||||
public ItemElectricArmor(final ItemArmor.ArmorMaterial material, final int index1, final int index2) {
|
||||
super(material, index1, index2);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public int getColorFromItemStack(ItemStack itemStack, int par2) {
|
||||
return getColorFromItemStack(itemStack).getInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Colour getGlowFromItemStack(ItemStack itemStack) {
|
||||
if (!ModuleManager.itemHasActiveModule(itemStack, CosmeticGlowModule.MODULE_GLOW)) {
|
||||
return Colour.LIGHTBLUE;
|
||||
}
|
||||
double computedred = ModuleManager.computeModularProperty(itemStack, CosmeticGlowModule.RED_GLOW);
|
||||
double computedgreen = ModuleManager.computeModularProperty(itemStack, CosmeticGlowModule.GREEN_GLOW);
|
||||
double computedblue = ModuleManager.computeModularProperty(itemStack, CosmeticGlowModule.BLUE_GLOW);
|
||||
return new Colour(clampDouble(computedred, 0, 1), clampDouble(computedgreen, 0, 1), clampDouble(computedblue, 0, 1), 0.8);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Colour getColorFromItemStack(ItemStack itemStack) {
|
||||
if (!ModuleManager.itemHasActiveModule(itemStack, TintModule.MODULE_TINT)) {
|
||||
return Colour.WHITE;
|
||||
}
|
||||
double computedred = ModuleManager.computeModularProperty(itemStack, TintModule.RED_TINT);
|
||||
double computedgreen = ModuleManager.computeModularProperty(itemStack, TintModule.GREEN_TINT);
|
||||
double computedblue = ModuleManager.computeModularProperty(itemStack, TintModule.BLUE_TINT);
|
||||
return new Colour(clampDouble(computedred, 0, 1), clampDouble(computedgreen, 0, 1), clampDouble(computedblue, 0, 1), 1.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean requiresMultipleRenderPasses() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void addInformation(ItemStack itemStack, EntityPlayer player, List currentTipList, boolean advancedToolTips) {
|
||||
MuseCommonStrings.addInformation(itemStack, player, currentTipList, advancedToolTips);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String formatInfo(String string, double value) {
|
||||
return string + '\t' + MuseStringUtils.formatNumberShort(value);
|
||||
}
|
||||
|
||||
|
||||
/* IModularItem ------------------------------------------------------------------------------- */
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public List<String> getLongInfo(EntityPlayer player, ItemStack itemStack) {
|
||||
List<String> info = new ArrayList<>();
|
||||
|
||||
info.add("Detailed Summary");
|
||||
info.add(formatInfo("Armor", getArmorDouble(player, itemStack)));
|
||||
info.add(formatInfo("Energy Storage", getCurrentEnergy(itemStack)) + 'J');
|
||||
info.add(formatInfo("Weight", MuseCommonStrings.getTotalWeight(itemStack)) + 'g');
|
||||
return info;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getArmorDouble(EntityPlayer player, ItemStack itemStack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getPlayerEnergy(EntityPlayer player) {
|
||||
return ElectricItemUtils.getPlayerEnergy(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drainPlayerEnergy(EntityPlayer player, double drainEnergy) {
|
||||
ElectricItemUtils.drainPlayerEnergy(player, drainEnergy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void givePlayerEnergy(EntityPlayer player, double joulesToGive) {
|
||||
ElectricItemUtils.givePlayerEnergy(player, joulesToGive);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxDamage(ItemStack itemStack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public String getToolTip(ItemStack itemStack) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getColorFromItemStack(final ItemStack stack, final int par2) {
|
||||
return ModularItemBase.getInstance().getColorFromItemStack(stack, par2);
|
||||
}
|
||||
|
||||
public Colour getGlowFromItemStack(final ItemStack stack) {
|
||||
return ModularItemBase.getInstance().getGlowFromItemStack(stack);
|
||||
}
|
||||
|
||||
public Colour getColorFromItemStack(final ItemStack stack) {
|
||||
return ModularItemBase.getInstance().getColorFromItemStack(stack);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean requiresMultipleRenderPasses() {
|
||||
return ModularItemBase.getInstance().requiresMultipleRenderPasses();
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
/**
|
||||
* Call to get the energy of an item
|
||||
*
|
||||
* @param stack ItemStack to set
|
||||
* @return Current energy level
|
||||
*/
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List currentTipList, boolean advancedToolTips) {
|
||||
ModularItemBase.getInstance().addInformation(stack, player, currentTipList, advancedToolTips);
|
||||
public double getCurrentEnergy(ItemStack stack) {
|
||||
return MuseItemUtils.getDoubleOrZero(stack, ElectricItemUtils.CURRENT_ENERGY);
|
||||
}
|
||||
|
||||
public String formatInfo(final String string, final double value) {
|
||||
return ModularItemBase.getInstance().formatInfo(string, value);
|
||||
/**
|
||||
* Call to set the energy of an item
|
||||
*
|
||||
* @param stack ItemStack to set
|
||||
* @return Maximum energy level
|
||||
*/
|
||||
@Override
|
||||
public double getMaxEnergy(ItemStack stack) {
|
||||
return ModuleManager.computeModularProperty(stack, ElectricItemUtils.MAXIMUM_ENERGY);
|
||||
}
|
||||
|
||||
public List<String> getLongInfo(final EntityPlayer player, final ItemStack stack) {
|
||||
return ModularItemBase.getInstance().getLongInfo(player, stack);
|
||||
/**
|
||||
* Call to set the energy of an item
|
||||
*
|
||||
* @param stack ItemStack to set
|
||||
* @param energy Level to set it to
|
||||
*/
|
||||
@Override
|
||||
public void setCurrentEnergy(ItemStack stack, double energy) {
|
||||
MuseItemUtils.setDoubleOrRemove(stack, ElectricItemUtils.CURRENT_ENERGY, Math.min(energy, getMaxEnergy(stack)));
|
||||
}
|
||||
|
||||
public double getArmorDouble(final EntityPlayer player, final ItemStack stack) {
|
||||
return ModularItemBase.getInstance().getArmorDouble(player, stack);
|
||||
/**
|
||||
* Call to drain energy from an item
|
||||
*
|
||||
* @param stack ItemStack being requested for energy
|
||||
* @param requested Amount of energy to drain
|
||||
* @return Amount of energy successfully drained
|
||||
*/
|
||||
@Override
|
||||
public double drainEnergyFrom(ItemStack stack, double requested) {
|
||||
double available = getCurrentEnergy(stack);
|
||||
if (available > requested) {
|
||||
setCurrentEnergy(stack, available - requested);
|
||||
return requested;
|
||||
} else {
|
||||
setCurrentEnergy(stack, 0);
|
||||
return available;
|
||||
}
|
||||
}
|
||||
|
||||
public double getPlayerEnergy(final EntityPlayer player) {
|
||||
return ModularItemBase.getInstance().getPlayerEnergy(player);
|
||||
/**
|
||||
* Call to give energy to an item
|
||||
*
|
||||
* @param stack ItemStack being provided with energy
|
||||
* @param provided Amount of energy to add
|
||||
* @return Amount of energy added
|
||||
*/
|
||||
@Override
|
||||
public double giveEnergyTo(ItemStack stack, double provided) {
|
||||
double available = getCurrentEnergy(stack);
|
||||
double max = getMaxEnergy(stack);
|
||||
if (available + provided < max) {
|
||||
setCurrentEnergy(stack, available + provided);
|
||||
return provided;
|
||||
} else {
|
||||
setCurrentEnergy(stack, max);
|
||||
return max - available;
|
||||
}
|
||||
}
|
||||
|
||||
public void drainPlayerEnergy(final EntityPlayer player, final double drainEnergy) {
|
||||
ModularItemBase.getInstance().drainPlayerEnergy(player, drainEnergy);
|
||||
/* Industrialcraft 2 -------------------------------------------------------------------------- */
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public boolean canProvideEnergy(ItemStack itemStack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void givePlayerEnergy(final EntityPlayer player, final double joulesToGive) {
|
||||
ModularItemBase.getInstance().givePlayerEnergy(player, joulesToGive);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public Item getChargedItem(ItemStack itemStack) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public double getCurrentEnergy(final ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getCurrentEnergy(stack);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public Item getEmptyItem(ItemStack itemStack) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public double getMaxEnergy(final ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getMaxEnergy(stack);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public double getMaxCharge(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToEU(getMaxEnergy(itemStack));
|
||||
}
|
||||
|
||||
public void setCurrentEnergy(final ItemStack stack, final double energy) {
|
||||
MuseElectricItem.getInstance().setCurrentEnergy(stack, energy);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public int getTier(ItemStack itemStack) {
|
||||
return ElectricConversions.getTier(itemStack);
|
||||
}
|
||||
|
||||
public double drainEnergyFrom(final ItemStack stack, final double requested) {
|
||||
return MuseElectricItem.getInstance().drainEnergyFrom(stack, requested);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public double getTransferLimit(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToEU(Math.sqrt(getMaxEnergy(itemStack)));
|
||||
}
|
||||
|
||||
public double giveEnergyTo(final ItemStack stack, final double provided) {
|
||||
return MuseElectricItem.getInstance().giveEnergyTo(stack, provided);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public double charge(ItemStack itemStack, double amount, int tier, boolean ignoreTransferLimit, boolean simulate){
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double transfer = (ignoreTransferLimit || amount < getTransferLimit(itemStack)) ? ElectricConversions.museEnergyFromEU(amount) : getTransferLimit(itemStack);
|
||||
double given = giveEnergyTo(itemStack, transfer);
|
||||
if (simulate) {
|
||||
setCurrentEnergy(itemStack, current);
|
||||
}
|
||||
return ElectricConversions.museEnergyToEU(given);
|
||||
}
|
||||
|
||||
public IMuseElectricItem getManager(final ItemStack itemStack) {
|
||||
return (IMuseElectricItem) MuseElectricItem.getInstance().getManager(itemStack);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public double discharge(ItemStack itemStack, double amount, int tier, boolean ignoreTransferLimit, boolean externally, boolean simulate) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double transfer = (ignoreTransferLimit || amount < getTransferLimit(itemStack)) ? ElectricConversions.museEnergyFromEU(amount) : getTransferLimit(itemStack);
|
||||
double taken = drainEnergyFrom(itemStack, transfer);
|
||||
if (simulate) {
|
||||
setCurrentEnergy(itemStack, current);
|
||||
}
|
||||
return ElectricConversions.museEnergyToEU(taken);
|
||||
}
|
||||
|
||||
public void chargeFromArmor(final ItemStack itemStack, final EntityLivingBase entity) {
|
||||
MuseElectricItem.getInstance().chargeFromArmor(itemStack, entity);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public double getCharge(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToEU(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
public boolean use(final ItemStack itemStack, final double amount, final EntityLivingBase entity) {
|
||||
return MuseElectricItem.getInstance().use(itemStack, amount, entity);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public boolean canUse(ItemStack itemStack, double amount) {
|
||||
return ElectricConversions.museEnergyFromEU(amount) < getCurrentEnergy(itemStack);
|
||||
}
|
||||
|
||||
public boolean canProvideEnergy(final ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().canProvideEnergy(itemStack);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public boolean use(ItemStack itemStack, double amount, EntityLivingBase entity) {
|
||||
return ElectricItem.rawManager.use(itemStack, ElectricConversions.museEnergyToEU(amount), entity);
|
||||
}
|
||||
|
||||
public double getCharge(final ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getCharge(itemStack);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public void chargeFromArmor(ItemStack itemStack, EntityLivingBase entity) {
|
||||
ElectricItem.rawManager.chargeFromArmor(itemStack, entity);
|
||||
}
|
||||
|
||||
public double getMaxCharge(final ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getMaxCharge(itemStack);
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public IElectricItemManager getManager(ItemStack itemStack) {
|
||||
return this;
|
||||
}
|
||||
/* Thermal Expansion -------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public int receiveEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double receivedME = ElectricConversions.museEnergyFromRF(energy);
|
||||
double eatenME = giveEnergyTo(itemStack, receivedME);
|
||||
if (simulate) setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToRF(eatenME);
|
||||
}
|
||||
|
||||
public int getTier(final ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getTier(itemStack);
|
||||
@Override
|
||||
public int extractEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double requesteddME = ElectricConversions.museEnergyFromRF(energy);
|
||||
double takenME = drainEnergyFrom(itemStack, requesteddME);
|
||||
if (simulate) {
|
||||
setCurrentEnergy(itemStack, current);
|
||||
}
|
||||
return ElectricConversions.museEnergyToRF(takenME);
|
||||
}
|
||||
|
||||
public double getTransferLimit(final ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getTransferLimit(itemStack);
|
||||
@Override
|
||||
public int getEnergyStored(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToRF(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
public double charge(final ItemStack itemStack, final double amount, final int tier, final boolean ignoreTransferLimit, final boolean simulate) {
|
||||
return MuseElectricItem.getInstance().charge(itemStack, amount, tier, ignoreTransferLimit, simulate);
|
||||
}
|
||||
|
||||
public double discharge(final ItemStack itemStack, final double amount, final int tier, final boolean ignoreTransferLimit, final boolean externally, final boolean simulate) {
|
||||
return MuseElectricItem.getInstance().discharge(itemStack, amount, tier, ignoreTransferLimit, externally, simulate);
|
||||
}
|
||||
|
||||
public boolean canUse(final ItemStack itemStack, final double amount) {
|
||||
return MuseElectricItem.getInstance().canUse(itemStack, amount);
|
||||
}
|
||||
|
||||
public Item getChargedItem(final ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getChargedItem(itemStack);
|
||||
}
|
||||
|
||||
public Item getEmptyItem(final ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getEmptyItem(itemStack);
|
||||
}
|
||||
|
||||
public int receiveEnergy(final ItemStack stack, final int energy, final boolean simulate) {
|
||||
return MuseElectricItem.getInstance().receiveEnergy(stack, energy, simulate);
|
||||
}
|
||||
|
||||
public int extractEnergy(final ItemStack stack, final int energy, final boolean simulate) {
|
||||
return MuseElectricItem.getInstance().extractEnergy(stack, energy, simulate);
|
||||
}
|
||||
|
||||
public int getEnergyStored(final ItemStack theItem) {
|
||||
return MuseElectricItem.getInstance().getEnergyStored(theItem);
|
||||
}
|
||||
|
||||
public int getMaxEnergyStored(final ItemStack theItem) {
|
||||
return MuseElectricItem.getInstance().getMaxEnergyStored(theItem);
|
||||
}
|
||||
|
||||
public int getMaxDamage(final ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getMaxDamage(itemStack);
|
||||
@Override
|
||||
public int getMaxEnergyStored(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToRF(getMaxEnergy(itemStack));
|
||||
}
|
||||
|
||||
/* Applied Energistics 2 ---------------------------------------------------------------------- */
|
||||
public double injectAEPower(final ItemStack stack, final double ae) {
|
||||
return MuseElectricItem.getInstance().injectAEPower(stack, ae);
|
||||
@Override
|
||||
public double injectAEPower(ItemStack itemStack, double ae) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double recieved = ElectricConversions.museEnergyFromAE(ae);
|
||||
setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToAE(recieved);
|
||||
}
|
||||
|
||||
public double extractAEPower(final ItemStack stack, final double ae) {
|
||||
return MuseElectricItem.getInstance().extractAEPower(stack, ae);
|
||||
@Override
|
||||
public double extractAEPower(ItemStack itemStack, double ae) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double taken = ElectricConversions.museEnergyFromAE(ae);
|
||||
setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToAE(taken);
|
||||
}
|
||||
|
||||
public double getAEMaxPower(final ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getAEMaxPower(stack);
|
||||
@Override
|
||||
public double getAEMaxPower(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToAE(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
public double getAECurrentPower(final ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getAECurrentPower(stack);
|
||||
@Override
|
||||
public double getAECurrentPower(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToAE(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
public AccessRestriction getPowerFlow(final ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getPowerFlow(stack);
|
||||
@Override
|
||||
public AccessRestriction getPowerFlow(ItemStack itemStack) {
|
||||
return AccessRestriction.READ_WRITE;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,9 +5,7 @@ import cpw.mods.fml.common.Optional;
|
|||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.machinemuse.api.IApiaristArmor;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.numina.geometry.Colour;
|
||||
import net.machinemuse.powersuits.client.render.item.ArmorModelInstance;
|
||||
import net.machinemuse.powersuits.client.render.item.IArmorModel;
|
||||
import net.machinemuse.powersuits.common.Config;
|
||||
|
@ -99,14 +97,9 @@ public abstract class ItemPowerArmor extends ItemElectricArmor implements ISpeci
|
|||
return ModuleManager.tagHasModule(itemTag, TintModule.RED_TINT) || ModuleManager.tagHasModule(itemTag, TintModule.GREEN_TINT) || ModuleManager.tagHasModule(itemTag, TintModule.BLUE_TINT);
|
||||
}
|
||||
|
||||
double getHeatResistance(EntityPlayer player, ItemStack stack) {
|
||||
return MuseHeatUtils.getMaxHeat(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getArmorDouble(EntityPlayer player, ItemStack stack) {
|
||||
double totalArmor = 0;
|
||||
NBTTagCompound props = MuseItemUtils.getMuseItemTag(stack);
|
||||
double energy = ElectricItemUtils.getPlayerEnergy(player);
|
||||
double physArmor = ModuleManager.computeModularProperty(stack, MuseCommonStrings.ARMOR_VALUE_PHYSICAL);
|
||||
double enerArmor = ModuleManager.computeModularProperty(stack, MuseCommonStrings.ARMOR_VALUE_ENERGY);
|
||||
|
@ -162,7 +155,6 @@ public abstract class ItemPowerArmor extends ItemElectricArmor implements ISpeci
|
|||
*/
|
||||
@Override
|
||||
public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) {
|
||||
NBTTagCompound itemProperties = MuseItemUtils.getMuseItemTag(stack);
|
||||
if (entity instanceof EntityPlayer) {
|
||||
if (source == MuseHeatUtils.overheatDamage) {
|
||||
} else if (source.isFireDamage()) {
|
||||
|
|
|
@ -44,6 +44,7 @@ public class ItemPowerArmorHelmet extends ItemPowerArmor implements
|
|||
itemIcon = iconRegister.registerIcon(iconpath);
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "Thaumcraft")
|
||||
@Override
|
||||
public boolean showIngamePopups(ItemStack itemStack, EntityLivingBase entityLivingBase) {
|
||||
return ModuleManager.itemHasActiveModule(itemStack, ThaumGogglesModule.MODULE_THAUM_GOGGLES);
|
||||
|
@ -71,4 +72,4 @@ public class ItemPowerArmorHelmet extends ItemPowerArmor implements
|
|||
public boolean canBreathe(ItemStack itemStack, EntityPlayer entityPlayer, EnumGearType enumGearType) {
|
||||
return ModuleManager.itemHasActiveModule(itemStack, AirtightSealModule.AIRTIGHT_SEAL_MODULE);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -3,7 +3,7 @@ package net.machinemuse.powersuits.item;
|
|||
import appeng.api.implementations.items.IAEWrench;
|
||||
import buildcraft.api.tools.IToolWrench;
|
||||
import cofh.api.item.IToolHammer;
|
||||
import com.bluepowermod.api.misc.IScrewdriver;
|
||||
import com.google.common.collect.Multimap;
|
||||
import cpw.mods.fml.common.Optional;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
@ -17,7 +17,6 @@ import net.machinemuse.api.ModuleManager;
|
|||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||
import net.machinemuse.general.gui.MuseIcon;
|
||||
import net.machinemuse.numina.item.IModeChangingItem;
|
||||
import net.machinemuse.numina.item.NuminaItemUtils;
|
||||
import net.machinemuse.numina.network.MusePacketModeChangeRequest;
|
||||
import net.machinemuse.numina.network.PacketSender;
|
||||
|
@ -29,8 +28,9 @@ import net.machinemuse.utils.ElectricItemUtils;
|
|||
import net.machinemuse.utils.MuseHeatUtils;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.entity.item.EntityMinecart;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumAction;
|
||||
|
@ -41,8 +41,6 @@ import net.minecraft.util.Vec3;
|
|||
import net.minecraft.world.World;
|
||||
import powercrystals.minefactoryreloaded.api.IMFRHammer;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -73,7 +71,8 @@ public class ItemPowerFist extends MPSItemElectricTool implements
|
|||
IToolWrench,
|
||||
com.bluepowermod.api.misc.IScrewdriver,
|
||||
mrtjp.projectred.api.IScrewdriver,
|
||||
ITool, IMekWrench,
|
||||
ITool,
|
||||
IMekWrench,
|
||||
IModeChangingModularItem
|
||||
{
|
||||
public final String iconpath = MuseIcon.ICON_PREFIX + "handitem";
|
||||
|
@ -163,18 +162,11 @@ public class ItemPowerFist extends MPSItemElectricTool implements
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* An itemstack sensitive version of getDamageVsEntity - allows items to
|
||||
* handle damage based on
|
||||
* itemstack data, like tags. Falls back to getDamageVsEntity.
|
||||
*
|
||||
* @param entity The entity being attacked (or the attacking mob, if it's a mob
|
||||
* - vanilla bug?)
|
||||
* @param itemStack The itemstack
|
||||
* @return the damage
|
||||
*/
|
||||
public float getDamageVsEntity(Entity entity, ItemStack itemStack){
|
||||
return (float) ModuleManager.computeModularProperty(itemStack, MeleeAssistModule.PUNCH_DAMAGE);
|
||||
@Override
|
||||
public Multimap getAttributeModifiers(ItemStack stack) {
|
||||
Multimap<String, AttributeModifier> multimap = super.getAttributeModifiers(stack);
|
||||
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Weapon modifier", ModuleManager.computeModularProperty(stack, MeleeAssistModule.PUNCH_DAMAGE), 0));
|
||||
return multimap;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
@ -249,10 +241,6 @@ public class ItemPowerFist extends MPSItemElectricTool implements
|
|||
((IRightClickModule)module).onPlayerStoppedUsing(itemStack, world, player, par4);
|
||||
}
|
||||
|
||||
public boolean shouldPassSneakingClickToBlock(World world, int x, int y, int z) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onItemUseFirst(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) {
|
||||
String mode = getActiveMode(itemStack, player);
|
||||
|
@ -299,88 +287,105 @@ public class ItemPowerFist extends MPSItemElectricTool implements
|
|||
}
|
||||
|
||||
/* TE Crescent Hammer */
|
||||
@Optional.Method(modid = "CoFHCore")
|
||||
@Override
|
||||
public void toolUsed(ItemStack itemStack, EntityLivingBase entityLivingBase, int i, int i1, int i2) {}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@Optional.Method(modid = "Railcraft")
|
||||
@Override
|
||||
public boolean canWhack(EntityPlayer entityPlayer, ItemStack itemStack, int i, int i1, int i2) {
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@Optional.Method(modid = "Railcraft")
|
||||
@Override
|
||||
public boolean canLink(EntityPlayer entityPlayer, ItemStack itemStack, EntityMinecart entityMinecart) {
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@Optional.Method(modid = "Railcraft")
|
||||
@Override
|
||||
public boolean canBoost(EntityPlayer entityPlayer, ItemStack itemStack, EntityMinecart entityMinecart) {
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@Optional.Method(modid = "Railcraft")
|
||||
@Override
|
||||
public void onLink(EntityPlayer entityPlayer, ItemStack itemStack, EntityMinecart entityMinecart) {}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@Optional.Method(modid = "Railcraft")
|
||||
@Override
|
||||
public void onWhack(EntityPlayer entityPlayer, ItemStack itemStack, int i, int i1, int i2) {}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@Optional.Method(modid = "Railcraft")
|
||||
@Override
|
||||
public void onBoost(EntityPlayer entityPlayer, ItemStack itemStack, EntityMinecart entityMinecart) {}
|
||||
|
||||
/* AE wrench */
|
||||
@Optional.Method(modid = "appliedenergistics2")
|
||||
@Override
|
||||
public boolean canWrench(ItemStack itemStack, EntityPlayer entityPlayer, int i, int i1, int i2) {
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* Buildcraft Wrench */
|
||||
@Optional.Method(modid = "BuildCraft|Core")
|
||||
@Override
|
||||
public void wrenchUsed(EntityPlayer entityPlayer, int i, int i1, int i2) {}
|
||||
|
||||
/* Buildcraft Wrench */
|
||||
@Optional.Method(modid = "BuildCraft|Core")
|
||||
@Override
|
||||
public boolean canWrench(EntityPlayer entityPlayer, int i, int i1, int i2) {
|
||||
return getActiveMode(entityPlayer.getHeldItem(), entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* Bluepower Screwdriver */
|
||||
@Optional.Method(modid = "ProjRed|Core")
|
||||
@Override
|
||||
public boolean damage(ItemStack itemStack, int i, EntityPlayer entityPlayer, boolean b) {
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* ProjectRed Screwdriver */
|
||||
@Optional.Method(modid = "ProjRed|Core")
|
||||
@Override
|
||||
public void damageScrewdriver(EntityPlayer entityPlayer, ItemStack itemStack) {}
|
||||
|
||||
/* ProjectRed Screwdriver */
|
||||
@Optional.Method(modid = "ProjRed|Core")
|
||||
@Override
|
||||
public boolean canUse(EntityPlayer entityPlayer, ItemStack itemStack) {
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* EnderIO Tool */
|
||||
@Optional.Method(modid = "EnderIO")
|
||||
@Override
|
||||
public void used(ItemStack itemStack, EntityPlayer entityPlayer, int i, int i1, int i2) {}
|
||||
|
||||
/* EnderIO Tool */
|
||||
@Optional.Method(modid = "EnderIO")
|
||||
@Override
|
||||
public boolean canUse(ItemStack itemStack, EntityPlayer entityPlayer, int i, int i1, int i2) {
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* EnderIO Tool */
|
||||
@Optional.Method(modid = "EnderIO")
|
||||
@Override
|
||||
public boolean shouldHideFacades(ItemStack itemStack, EntityPlayer entityPlayer) {
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* Mekanism Wrench */
|
||||
@Optional.Method(modid = "Mekanism")
|
||||
@Override
|
||||
public boolean canUseWrench(EntityPlayer entityPlayer, int i, int i1, int i2) {
|
||||
return getActiveMode(entityPlayer.getHeldItem(), entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
|
|
|
@ -2,12 +2,21 @@ package net.machinemuse.powersuits.item;
|
|||
|
||||
import appeng.api.config.AccessRestriction;
|
||||
import com.google.common.collect.Sets;
|
||||
import cpw.mods.fml.common.Optional;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ic2.api.item.ElectricItem;
|
||||
import ic2.api.item.IElectricItemManager;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.api.electricity.ElectricConversions;
|
||||
import net.machinemuse.api.electricity.IMuseElectricItem;
|
||||
import net.machinemuse.api.electricity.MuseElectricItem;
|
||||
import net.machinemuse.numina.geometry.Colour;
|
||||
import net.machinemuse.powersuits.powermodule.misc.CosmeticGlowModule;
|
||||
import net.machinemuse.powersuits.powermodule.misc.TintModule;
|
||||
import net.machinemuse.utils.ElectricItemUtils;
|
||||
import net.machinemuse.utils.MuseCommonStrings;
|
||||
import net.machinemuse.utils.MuseItemUtils;
|
||||
import net.machinemuse.utils.MuseStringUtils;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
@ -16,12 +25,23 @@ import net.minecraft.item.Item;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemTool;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static net.machinemuse.numina.general.MuseMathUtils.clampDouble;
|
||||
|
||||
/**
|
||||
* Ported to Java by lehjr on 11/4/16.
|
||||
*/
|
||||
|
||||
|
||||
@Optional.InterfaceList({
|
||||
@Optional.Interface(iface = "cofh.api.energy.IEnergyContainerItem", modid = "CoFHAPI|energy", striprefs = true),
|
||||
@Optional.Interface(iface = "ic2.api.item.IElectricItemManager", modid = "IC2", striprefs = true),
|
||||
@Optional.Interface(iface = "ic2.api.item.ISpecialElectricItem", modid = "IC2", striprefs = true),
|
||||
@Optional.Interface(iface = "appeng.api.implementations.items.IAEItemPowerStorage", modid = "appliedenergistics2", striprefs = true)
|
||||
})
|
||||
public class MPSItemElectricTool extends ItemTool implements IModularItemBase, IMuseElectricItem {
|
||||
public static final Set<Block> blocksEffectiveOn = Sets.newHashSet(Blocks.cobblestone, Blocks.double_stone_slab, Blocks.stone_slab, Blocks.stone, Blocks.sandstone, Blocks.mossy_cobblestone,
|
||||
Blocks.iron_ore, Blocks.iron_block, Blocks.coal_ore, Blocks.gold_block, Blocks.gold_ore, Blocks.diamond_ore,
|
||||
|
@ -33,194 +53,320 @@ public class MPSItemElectricTool extends ItemTool implements IModularItemBase, I
|
|||
super(damageBonus, material, blocksEffectiveOn);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getToolTip(ItemStack itemStack) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getCurrentEnergy(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getCurrentEnergy(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxEnergy(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getMaxEnergy(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCurrentEnergy(ItemStack stack, double energy) {
|
||||
MuseElectricItem.getInstance().setCurrentEnergy(stack, energy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double drainEnergyFrom(ItemStack stack, double requested) {
|
||||
return MuseElectricItem.getInstance().drainEnergyFrom(stack, requested);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double giveEnergyTo(ItemStack stack, double provided) {
|
||||
return MuseElectricItem.getInstance().giveEnergyTo(stack, provided);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List currentTipList, boolean advancedToolTips) {
|
||||
ModularItemBase.getInstance().addInformation(stack, player, currentTipList, advancedToolTips);
|
||||
}
|
||||
|
||||
/* Industrialcraft 2 -------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public IElectricItemManager getManager(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getManager(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void chargeFromArmor(ItemStack itemStack, EntityLivingBase entity) {
|
||||
MuseElectricItem.getInstance().chargeFromArmor(itemStack, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean use(ItemStack itemStack, double amount, EntityLivingBase entity) {
|
||||
return MuseElectricItem.getInstance().use(itemStack, amount, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canProvideEnergy(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().canProvideEnergy(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getCharge(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getCharge(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxCharge(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getMaxCharge(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTier(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getTier(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getTransferLimit(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getTransferLimit(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double charge(ItemStack itemStack, double amount, int tier, boolean ignoreTransferLimit, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().charge(itemStack, amount, tier, ignoreTransferLimit, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double discharge(ItemStack itemStack, double amount, int tier, boolean ignoreTransferLimit, boolean externally, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().discharge(itemStack, amount, tier, ignoreTransferLimit, externally, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUse(ItemStack itemStack, double amount) {
|
||||
return MuseElectricItem.getInstance().canUse(itemStack, amount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getChargedItem(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getChargedItem(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getEmptyItem(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getEmptyItem(itemStack);
|
||||
}
|
||||
|
||||
/* Thermal Expansion -------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public int receiveEnergy(ItemStack stack, int energy, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().receiveEnergy(stack, energy, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int extractEnergy(ItemStack stack, int energy, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().extractEnergy(stack, energy, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnergyStored(ItemStack theItem) {
|
||||
return MuseElectricItem.getInstance().getEnergyStored(theItem);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxEnergyStored(ItemStack theItem) {
|
||||
return MuseElectricItem.getInstance().getMaxEnergyStored(theItem);
|
||||
}
|
||||
|
||||
/* Applied Energistics 2 ---------------------------------------------------------------------- */
|
||||
@Override
|
||||
public double injectAEPower(ItemStack stack, double ae) {
|
||||
return MuseElectricItem.getInstance().injectAEPower(stack, ae);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double extractAEPower(ItemStack stack, double ae) {
|
||||
return MuseElectricItem.getInstance().extractAEPower(stack, ae);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAEMaxPower(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getAEMaxPower(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAECurrentPower(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getAECurrentPower(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccessRestriction getPowerFlow(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getPowerFlow(stack);
|
||||
}
|
||||
|
||||
/* IModularItemBase ------------------------------------------------------------------------------ */
|
||||
@Override
|
||||
public Colour getGlowFromItemStack(ItemStack stack) {
|
||||
return ModularItemBase.getInstance().getGlowFromItemStack(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Colour getColorFromItemStack(ItemStack stack) {
|
||||
return ModularItemBase.getInstance().getColorFromItemStack(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String formatInfo(String string, double value) {
|
||||
return ModularItemBase.getInstance().formatInfo(string, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getLongInfo(EntityPlayer player, ItemStack stack) {
|
||||
return ModularItemBase.getInstance().getLongInfo(player, stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getArmorDouble(EntityPlayer player, ItemStack stack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* MPSItemElectricTool ------------------------------------------------------------------------ */
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public int getColorFromItemStack(ItemStack itemStack, int par2) {
|
||||
return getColorFromItemStack(itemStack).getInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Colour getGlowFromItemStack(ItemStack itemStack) {
|
||||
if (!ModuleManager.itemHasActiveModule(itemStack, CosmeticGlowModule.MODULE_GLOW)) {
|
||||
return Colour.LIGHTBLUE;
|
||||
}
|
||||
double computedred = ModuleManager.computeModularProperty(itemStack, CosmeticGlowModule.RED_GLOW);
|
||||
double computedgreen = ModuleManager.computeModularProperty(itemStack, CosmeticGlowModule.GREEN_GLOW);
|
||||
double computedblue = ModuleManager.computeModularProperty(itemStack, CosmeticGlowModule.BLUE_GLOW);
|
||||
return new Colour(clampDouble(computedred, 0, 1), clampDouble(computedgreen, 0, 1), clampDouble(computedblue, 0, 1), 0.8);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Colour getColorFromItemStack(ItemStack itemStack) {
|
||||
if (!ModuleManager.itemHasActiveModule(itemStack, TintModule.MODULE_TINT)) {
|
||||
return Colour.WHITE;
|
||||
}
|
||||
double computedred = ModuleManager.computeModularProperty(itemStack, TintModule.RED_TINT);
|
||||
double computedgreen = ModuleManager.computeModularProperty(itemStack, TintModule.GREEN_TINT);
|
||||
double computedblue = ModuleManager.computeModularProperty(itemStack, TintModule.BLUE_TINT);
|
||||
return new Colour(clampDouble(computedred, 0, 1), clampDouble(computedgreen, 0, 1), clampDouble(computedblue, 0, 1), 1.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean requiresMultipleRenderPasses() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void addInformation(ItemStack itemStack, EntityPlayer player, List currentTipList, boolean advancedToolTips) {
|
||||
MuseCommonStrings.addInformation(itemStack, player, currentTipList, advancedToolTips);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String formatInfo(String string, double value) {
|
||||
return string + '\t' + MuseStringUtils.formatNumberShort(value);
|
||||
}
|
||||
|
||||
|
||||
/* IModularItem ------------------------------------------------------------------------------- */
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public List<String> getLongInfo(EntityPlayer player, ItemStack itemStack) {
|
||||
List<String> info = new ArrayList<>();
|
||||
|
||||
info.add("Detailed Summary");
|
||||
info.add(formatInfo("Armor", getArmorDouble(player, itemStack)));
|
||||
info.add(formatInfo("Energy Storage", getCurrentEnergy(itemStack)) + 'J');
|
||||
info.add(formatInfo("Weight", MuseCommonStrings.getTotalWeight(itemStack)) + 'g');
|
||||
return info;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getPlayerEnergy(EntityPlayer player) {
|
||||
return 0;
|
||||
return ElectricItemUtils.getPlayerEnergy(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drainPlayerEnergy(EntityPlayer player, double drainEnergy) {
|
||||
|
||||
ElectricItemUtils.drainPlayerEnergy(player, drainEnergy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void givePlayerEnergy(EntityPlayer player, double joulesToGive) {
|
||||
ElectricItemUtils.givePlayerEnergy(player, joulesToGive);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxDamage(ItemStack itemStack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public String getToolTip(ItemStack itemStack) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call to get the energy of an item
|
||||
*
|
||||
* @param stack ItemStack to set
|
||||
* @return Current energy level
|
||||
*/
|
||||
@Override
|
||||
public double getCurrentEnergy(ItemStack stack) {
|
||||
return MuseItemUtils.getDoubleOrZero(stack, ElectricItemUtils.CURRENT_ENERGY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Call to set the energy of an item
|
||||
*
|
||||
* @param stack ItemStack to set
|
||||
* @return Maximum energy level
|
||||
*/
|
||||
@Override
|
||||
public double getMaxEnergy(ItemStack stack) {
|
||||
return ModuleManager.computeModularProperty(stack, ElectricItemUtils.MAXIMUM_ENERGY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Call to set the energy of an item
|
||||
*
|
||||
* @param stack ItemStack to set
|
||||
* @param energy Level to set it to
|
||||
*/
|
||||
@Override
|
||||
public void setCurrentEnergy(ItemStack stack, double energy) {
|
||||
MuseItemUtils.setDoubleOrRemove(stack, ElectricItemUtils.CURRENT_ENERGY, Math.min(energy, getMaxEnergy(stack)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Call to drain energy from an item
|
||||
*
|
||||
* @param stack ItemStack being requested for energy
|
||||
* @param requested Amount of energy to drain
|
||||
* @return Amount of energy successfully drained
|
||||
*/
|
||||
@Override
|
||||
public double drainEnergyFrom(ItemStack stack, double requested) {
|
||||
double available = getCurrentEnergy(stack);
|
||||
if (available > requested) {
|
||||
setCurrentEnergy(stack, available - requested);
|
||||
return requested;
|
||||
} else {
|
||||
setCurrentEnergy(stack, 0);
|
||||
return available;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Call to give energy to an item
|
||||
*
|
||||
* @param stack ItemStack being provided with energy
|
||||
* @param provided Amount of energy to add
|
||||
* @return Amount of energy added
|
||||
*/
|
||||
@Override
|
||||
public double giveEnergyTo(ItemStack stack, double provided) {
|
||||
double available = getCurrentEnergy(stack);
|
||||
double max = getMaxEnergy(stack);
|
||||
if (available + provided < max) {
|
||||
setCurrentEnergy(stack, available + provided);
|
||||
return provided;
|
||||
} else {
|
||||
setCurrentEnergy(stack, max);
|
||||
return max - available;
|
||||
}
|
||||
}
|
||||
|
||||
/* Industrialcraft 2 -------------------------------------------------------------------------- */
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public boolean canProvideEnergy(ItemStack itemStack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public Item getChargedItem(ItemStack itemStack) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public Item getEmptyItem(ItemStack itemStack) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public double getMaxCharge(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToEU(getMaxEnergy(itemStack));
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public int getTier(ItemStack itemStack) {
|
||||
return ElectricConversions.getTier(itemStack);
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public double getTransferLimit(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToEU(Math.sqrt(getMaxEnergy(itemStack)));
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public double charge(ItemStack itemStack, double amount, int tier, boolean ignoreTransferLimit, boolean simulate){
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double transfer = (ignoreTransferLimit || amount < getTransferLimit(itemStack)) ? ElectricConversions.museEnergyFromEU(amount) : getTransferLimit(itemStack);
|
||||
double given = giveEnergyTo(itemStack, transfer);
|
||||
if (simulate) {
|
||||
setCurrentEnergy(itemStack, current);
|
||||
}
|
||||
return ElectricConversions.museEnergyToEU(given);
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public double discharge(ItemStack itemStack, double amount, int tier, boolean ignoreTransferLimit, boolean externally, boolean simulate) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double transfer = (ignoreTransferLimit || amount < getTransferLimit(itemStack)) ? ElectricConversions.museEnergyFromEU(amount) : getTransferLimit(itemStack);
|
||||
double taken = drainEnergyFrom(itemStack, transfer);
|
||||
if (simulate) {
|
||||
setCurrentEnergy(itemStack, current);
|
||||
}
|
||||
return ElectricConversions.museEnergyToEU(taken);
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public double getCharge(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToEU(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public boolean canUse(ItemStack itemStack, double amount) {
|
||||
return ElectricConversions.museEnergyFromEU(amount) < getCurrentEnergy(itemStack);
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public boolean use(ItemStack itemStack, double amount, EntityLivingBase entity) {
|
||||
return ElectricItem.rawManager.use(itemStack, ElectricConversions.museEnergyToEU(amount), entity);
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public void chargeFromArmor(ItemStack itemStack, EntityLivingBase entity) {
|
||||
ElectricItem.rawManager.chargeFromArmor(itemStack, entity);
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "IC2")
|
||||
@Override
|
||||
public IElectricItemManager getManager(ItemStack itemStack) {
|
||||
return this;
|
||||
}
|
||||
|
||||
/* Thermal Expansion -------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public int receiveEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double receivedME = ElectricConversions.museEnergyFromRF(energy);
|
||||
double eatenME = giveEnergyTo(itemStack, receivedME);
|
||||
if (simulate) setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToRF(eatenME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int extractEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double requesteddME = ElectricConversions.museEnergyFromRF(energy);
|
||||
double takenME = drainEnergyFrom(itemStack, requesteddME);
|
||||
if (simulate) {
|
||||
setCurrentEnergy(itemStack, current);
|
||||
}
|
||||
return ElectricConversions.museEnergyToRF(takenME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnergyStored(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToRF(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxEnergyStored(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToRF(getMaxEnergy(itemStack));
|
||||
}
|
||||
|
||||
/* Applied Energistics 2 ---------------------------------------------------------------------- */
|
||||
@Override
|
||||
public double injectAEPower(ItemStack itemStack, double ae) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double recieved = ElectricConversions.museEnergyFromAE(ae);
|
||||
setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToAE(recieved);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double extractAEPower(ItemStack itemStack, double ae) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double taken = ElectricConversions.museEnergyFromAE(ae);
|
||||
setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToAE(taken);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAEMaxPower(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToAE(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAECurrentPower(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToAE(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccessRestriction getPowerFlow(ItemStack itemStack) {
|
||||
return AccessRestriction.READ_WRITE;
|
||||
}
|
||||
}
|
|
@ -1,130 +0,0 @@
|
|||
//package net.machinemuse.powersuits.item;
|
||||
//
|
||||
//import net.machinemuse.api.ModuleManager;
|
||||
//import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||
//import net.machinemuse.numina.item.NuminaItemUtils;
|
||||
//import net.machinemuse.numina.network.MusePacketModeChangeRequest;
|
||||
//import net.machinemuse.numina.network.PacketSender;
|
||||
//import net.minecraft.entity.player.EntityPlayer;
|
||||
//import net.minecraft.item.ItemStack;
|
||||
//import net.minecraft.util.IIcon;
|
||||
//
|
||||
//import java.util.ArrayList;
|
||||
//import java.util.List;
|
||||
//
|
||||
///**
|
||||
// * Author: MachineMuse (Claire Semple)
|
||||
// * Created: 4:52 PM, 9/5/13
|
||||
// *
|
||||
// * Ported to Java by lehjr on 12/12/16.
|
||||
// */
|
||||
//public class ModeChangingModularItem implements IModeChangingModularItem {
|
||||
// private static ModeChangingModularItem ourInstance = new ModeChangingModularItem();
|
||||
//
|
||||
// public static ModeChangingModularItem getInstance() {
|
||||
// return ourInstance;
|
||||
// }
|
||||
//
|
||||
// private ModeChangingModularItem() {
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void setActiveMode(ItemStack itemStack, String newMode) {
|
||||
// NuminaItemUtils.getTagCompound(itemStack).setString("mode", newMode);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public String getActiveMode(ItemStack itemStack, EntityPlayer player) {
|
||||
// return getActiveMode(itemStack);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void cycleMode(ItemStack itemStack, EntityPlayer player, int dMode) {
|
||||
// List<String> modes = getValidModes(itemStack, player);
|
||||
// if (!modes.isEmpty()) {
|
||||
// int newindex = clampMode(modes.indexOf(getActiveMode(itemStack, player)) + dMode, modes.size());
|
||||
// String newmode = modes.get(newindex);
|
||||
// setActiveMode(itemStack, newmode);
|
||||
// PacketSender.sendToServer(new MusePacketModeChangeRequest(player,newmode, player.inventory.currentItem));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public String nextMode(ItemStack itemStack, EntityPlayer player) {
|
||||
// List<String> modes = getValidModes(itemStack, player);
|
||||
// if (!modes.isEmpty()) {
|
||||
// int newindex = clampMode(modes.indexOf(getActiveMode(itemStack, player)) + 1, modes.size());
|
||||
// return modes.get(newindex);
|
||||
// } else {
|
||||
// return "";
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public String prevMode(ItemStack itemStack, EntityPlayer player) {
|
||||
// List<String> modes = getValidModes(itemStack, player);
|
||||
// if (!modes.isEmpty()) {
|
||||
// int newindex = clampMode(modes.indexOf(getActiveMode(itemStack, player)) - 1, modes.size());
|
||||
// return modes.get(newindex);
|
||||
// } else {
|
||||
// return "";
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void cycleModeForItem(ItemStack itemStack, EntityPlayer player, int dMode) {
|
||||
// if (itemStack != null) {
|
||||
// this.cycleMode(itemStack, player, dMode);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public IIcon getModeIcon(String mode, ItemStack itemStack, EntityPlayer player) {
|
||||
// if (!mode.isEmpty())
|
||||
// return ModuleManager.getModule(mode).getIcon(itemStack);
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
//
|
||||
// private int clampMode(int selection, int modesSize) {
|
||||
// if (selection > 0) {
|
||||
// return selection % modesSize;
|
||||
// } else {
|
||||
// return (selection + modesSize * (-selection)) % modesSize;
|
||||
// }
|
||||
// }
|
||||
////-------------
|
||||
//
|
||||
//
|
||||
// @Override
|
||||
// public List<String> getValidModes(ItemStack stack, EntityPlayer player) {
|
||||
// return getValidModes(stack);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public List<String> getValidModes(ItemStack itemStack) {
|
||||
//// List<String> validModes = new ArrayList<>();
|
||||
////
|
||||
//// for (IRightClickModule module : ModuleManager.getRightClickModules()) {
|
||||
//// if (module.isValidForItem(itemStack))
|
||||
//// if (ModuleManager.itemHasActiveModule(itemStack, module.getDataName()))
|
||||
//// validModes.add(module.getDataName());
|
||||
//// }
|
||||
// return ModuleManager.getValidModes(itemStack);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public String getActiveMode(ItemStack itemStack) {
|
||||
// String modeFromNBT = NuminaItemUtils.getTagCompound(itemStack).getString("mode");
|
||||
// if (!modeFromNBT.isEmpty()) {
|
||||
// return modeFromNBT;
|
||||
// } else {
|
||||
// List<String> validModes = getValidModes(itemStack);
|
||||
// if (!validModes.isEmpty()) {
|
||||
// return validModes.get(0);
|
||||
// } else {
|
||||
// return "";
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
|
@ -1,273 +0,0 @@
|
|||
package net.machinemuse.powersuits.item;
|
||||
|
||||
import appeng.api.config.AccessRestriction;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ic2.api.item.IElectricItemManager;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.api.electricity.MuseElectricItem;
|
||||
import net.machinemuse.numina.geometry.Colour;
|
||||
import net.machinemuse.powersuits.powermodule.misc.CosmeticGlowModule;
|
||||
import net.machinemuse.powersuits.powermodule.misc.TintModule;
|
||||
import net.machinemuse.utils.ElectricItemUtils;
|
||||
import net.machinemuse.utils.MuseCommonStrings;
|
||||
import net.machinemuse.utils.MuseStringUtils;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static net.machinemuse.numina.general.MuseMathUtils.clampDouble;
|
||||
|
||||
/**
|
||||
* Author: MachineMuse (Claire Semple)
|
||||
* Created: 7:49 PM, 4/23/13
|
||||
*
|
||||
* Ported to Java by lehjr on 11/4/16.
|
||||
*/
|
||||
public class ModularItemBase extends Item implements IModularItemBase {
|
||||
private static ModularItemBase INSTANCE;
|
||||
|
||||
public static ModularItemBase getInstance() {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = new ModularItemBase();
|
||||
}
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public int getColorFromItemStack(ItemStack itemStack, int par2) {
|
||||
return getColorFromItemStack(itemStack).getInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Colour getGlowFromItemStack(ItemStack itemStack) {
|
||||
if (!ModuleManager.itemHasActiveModule(itemStack, CosmeticGlowModule.MODULE_GLOW)) {
|
||||
return Colour.LIGHTBLUE;
|
||||
}
|
||||
double computedred = ModuleManager.computeModularProperty(itemStack, CosmeticGlowModule.RED_GLOW);
|
||||
double computedgreen = ModuleManager.computeModularProperty(itemStack, CosmeticGlowModule.GREEN_GLOW);
|
||||
double computedblue = ModuleManager.computeModularProperty(itemStack, CosmeticGlowModule.BLUE_GLOW);
|
||||
return new Colour(clampDouble(computedred, 0, 1), clampDouble(computedgreen, 0, 1), clampDouble(computedblue, 0, 1), 0.8);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Colour getColorFromItemStack(ItemStack itemStack) {
|
||||
if (!ModuleManager.itemHasActiveModule(itemStack, TintModule.MODULE_TINT)) {
|
||||
return Colour.WHITE;
|
||||
}
|
||||
double computedred = ModuleManager.computeModularProperty(itemStack, TintModule.RED_TINT);
|
||||
double computedgreen = ModuleManager.computeModularProperty(itemStack, TintModule.GREEN_TINT);
|
||||
double computedblue = ModuleManager.computeModularProperty(itemStack, TintModule.BLUE_TINT);
|
||||
return new Colour(clampDouble(computedred, 0, 1), clampDouble(computedgreen, 0, 1), clampDouble(computedblue, 0, 1), 1.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean requiresMultipleRenderPasses() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemStack, EntityPlayer player, List currentTipList, boolean advancedToolTips) {
|
||||
MuseCommonStrings.addInformation(itemStack, player, currentTipList, advancedToolTips);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String formatInfo(String string, double value) {
|
||||
return string + '\t' + MuseStringUtils.formatNumberShort(value);
|
||||
}
|
||||
|
||||
|
||||
/* IModularItem ------------------------------------------------------------------------------- */
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public List<String> getLongInfo(EntityPlayer player, ItemStack itemStack) {
|
||||
List<String> info = new ArrayList<>();
|
||||
|
||||
info.add("Detailed Summary");
|
||||
info.add(formatInfo("Armor", getArmorDouble(player, itemStack)));
|
||||
info.add(formatInfo("Energy Storage", getCurrentEnergy(itemStack)) + 'J');
|
||||
info.add(formatInfo("Weight", MuseCommonStrings.getTotalWeight(itemStack)) + 'g');
|
||||
return info;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getArmorDouble(EntityPlayer player, ItemStack itemStack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getPlayerEnergy(EntityPlayer player) {
|
||||
return ElectricItemUtils.getPlayerEnergy(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drainPlayerEnergy(EntityPlayer player, double drainEnergy) {
|
||||
ElectricItemUtils.drainPlayerEnergy(player, drainEnergy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void givePlayerEnergy(EntityPlayer player, double joulesToGive) {
|
||||
ElectricItemUtils.drainPlayerEnergy(player, joulesToGive);
|
||||
}
|
||||
|
||||
|
||||
/* MuseElectricItem --------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public double getCurrentEnergy(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getCurrentEnergy(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxEnergy(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getCurrentEnergy(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCurrentEnergy(ItemStack itemStack, double energy) {
|
||||
MuseElectricItem.getInstance().setCurrentEnergy(itemStack, energy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double drainEnergyFrom(ItemStack itemStack, double requested) {
|
||||
return MuseElectricItem.getInstance().drainEnergyFrom(itemStack, requested);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double giveEnergyTo(ItemStack itemStack, double provided) {
|
||||
return MuseElectricItem.getInstance().giveEnergyTo(itemStack, provided);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxDamage(ItemStack itemStack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public String getToolTip(ItemStack itemStack) {
|
||||
return itemStack.getTooltip(Minecraft.getMinecraft().thePlayer, false).toString();
|
||||
}
|
||||
|
||||
|
||||
/* Industrialcraft 2 -------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public boolean canProvideEnergy(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().canProvideEnergy(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getChargedItem(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getChargedItem(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getEmptyItem(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getEmptyItem(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxCharge(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getMaxCharge(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTier(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getTier(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getTransferLimit(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getTransferLimit(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double charge(ItemStack itemStack, double amount, int tier, boolean ignoreTransferLimit, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().charge(itemStack, amount, tier, ignoreTransferLimit, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double discharge(ItemStack itemStack, double amount, int tier, boolean ignoreTransferLimit, boolean externally, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().discharge(itemStack, amount, tier, ignoreTransferLimit, externally, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getCharge(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getCharge(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUse(ItemStack itemStack, double amount) {
|
||||
return MuseElectricItem.getInstance().canUse(itemStack, amount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean use(ItemStack itemStack, double amount, EntityLivingBase entity) {
|
||||
return MuseElectricItem.getInstance().use(itemStack, amount, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void chargeFromArmor(ItemStack itemStack, EntityLivingBase entity) {
|
||||
MuseElectricItem.getInstance().chargeFromArmor(itemStack, entity);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public IElectricItemManager getManager(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getManager(itemStack);
|
||||
}
|
||||
|
||||
|
||||
/* Thermal Expansion -------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public int receiveEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().receiveEnergy(itemStack, energy, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int extractEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().extractEnergy(itemStack, energy, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnergyStored(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getEnergyStored(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxEnergyStored(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getMaxEnergyStored(itemStack);
|
||||
}
|
||||
|
||||
|
||||
/* Applied Energistics 2 ---------------------------------------------------------------------- */
|
||||
@Override
|
||||
public double injectAEPower(ItemStack itemStack, double ae) {
|
||||
return MuseElectricItem.getInstance().injectAEPower(itemStack, ae);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double extractAEPower(ItemStack itemStack, double ae) {
|
||||
return MuseElectricItem.getInstance().extractAEPower(itemStack, ae);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAEMaxPower(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getAEMaxPower(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAECurrentPower(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getAECurrentPower(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccessRestriction getPowerFlow(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getPowerFlow(itemStack);
|
||||
}
|
||||
}
|
|
@ -22,12 +22,6 @@ public class PowerModule extends PowerModuleBase {
|
|||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLocalizedName() {
|
||||
return "This module did not correctly label its name.";
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return description;
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
package net.machinemuse.powersuits.powermodule;
|
||||
|
||||
import net.machinemuse.api.ILocalizeableModule;
|
||||
import net.machinemuse.api.IPowerModule;
|
||||
import net.machinemuse.api.IPropertyModifier;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.api.*;
|
||||
import net.machinemuse.general.gui.MuseIcon;
|
||||
import net.machinemuse.numina.render.MuseTextureUtils;
|
||||
import net.machinemuse.powersuits.common.Config;
|
||||
|
@ -166,11 +162,6 @@ public abstract class PowerModuleBase implements ILocalizeableModule {
|
|||
// return "/terrain.png";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLocalizedName() {
|
||||
return StatCollector.translateToLocal("module." + getUnlocalizedName() + ".name");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return StatCollector.translateToLocal("module." + getUnlocalizedName() + ".desc");
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package net.machinemuse.powersuits.powermodule.energy;
|
||||
|
||||
import net.machinemuse.api.electricity.ElectricConversions;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.api.electricity.ElectricConversions;
|
||||
import net.machinemuse.powersuits.item.ItemComponent;
|
||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||
import net.machinemuse.utils.ElectricItemUtils;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package net.machinemuse.powersuits.powermodule.energy;
|
||||
|
||||
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
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;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package net.machinemuse.powersuits.powermodule.misc;
|
||||
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
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;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package net.machinemuse.powersuits.powermodule.movement;
|
||||
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
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;
|
||||
|
@ -39,10 +39,8 @@ public class SprintAssistModule extends PowerModuleBase implements IToggleableMo
|
|||
|
||||
@Override
|
||||
public void onPlayerTickActive(EntityPlayer player, ItemStack item) {
|
||||
double motionX = player.posX - player.lastTickPosX;
|
||||
double motionY = player.posY - player.lastTickPosY;
|
||||
double motionZ = player.posZ - player.lastTickPosZ;
|
||||
double horzMovement = Math.sqrt(motionX * motionX + motionZ * motionZ);
|
||||
double horzMovement = player.distanceWalkedModified - player.prevDistanceWalkedModified;
|
||||
|
||||
double totalEnergy = ElectricItemUtils.getPlayerEnergy(player);
|
||||
if (player.isSprinting()) {
|
||||
double exhaustion = Math.round(horzMovement * 100.0F) * 0.01;
|
||||
|
|
|
@ -63,7 +63,7 @@ public class AppEngWirelessFluidModule extends PowerModuleBase implements IRight
|
|||
|
||||
@Override
|
||||
public void onRightClick(EntityPlayer player, World world, ItemStack item) {
|
||||
ECApi.instance().openWirelessTerminal(player, player.getHeldItem(), world);
|
||||
ECApi.instance().openWirelessFluidTerminal(player, player.getHeldItem(), world);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -88,9 +88,7 @@ public class AxeModule extends PowerModuleBase implements IBlockBreakingModule,
|
|||
@Override
|
||||
public boolean canHarvestBlock(ItemStack stack, Block block, int meta, EntityPlayer player) {
|
||||
if (istEffectiveHarvestTool(block, meta)) {
|
||||
if (ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, AXE_ENERGY_CONSUMPTION)) {
|
||||
return true;
|
||||
}
|
||||
return ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, AXE_ENERGY_CONSUMPTION);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -72,9 +72,7 @@ public class ChiselModule extends PowerModuleBase implements IBlockBreakingModul
|
|||
public boolean canHarvestBlock(ItemStack stack, Block block, int meta, EntityPlayer player) {
|
||||
if (ModCompatibility.isChiselLoaded() && ITEM_CHISEL != null) {
|
||||
if (ForgeHooks.canToolHarvestBlock(block, meta, new ItemStack(ITEM_CHISEL))) {
|
||||
if (ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, CHISEL_ENERGY_CONSUMPTION)) {
|
||||
return true;
|
||||
}
|
||||
return ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, CHISEL_ENERGY_CONSUMPTION);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -55,9 +55,7 @@ public class DiamondPickUpgradeModule extends PowerModuleBase implements IBlockB
|
|||
public boolean canHarvestBlock(ItemStack stack, Block block, int meta, EntityPlayer player) {
|
||||
if (!Items.iron_pickaxe.canHarvestBlock(block, stack)) {
|
||||
if (Items.diamond_pickaxe.canHarvestBlock(block, stack)) {
|
||||
if (ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, PickaxeModule.PICKAXE_ENERGY_CONSUMPTION)) {
|
||||
return true;
|
||||
}
|
||||
return ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, PickaxeModule.PICKAXE_ENERGY_CONSUMPTION);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -73,9 +73,7 @@ public class PersonalShrinkingModule extends PowerModuleBase implements IRightCl
|
|||
int block = Block.getIdFromBlock(world.getBlock(x, y, z));
|
||||
if (block == Block.getIdFromBlock(GameRegistry.findBlock("CompactMachines", "machine"))) {
|
||||
return false;
|
||||
} else if (block == Block.getIdFromBlock(GameRegistry.findBlock("CompactMachines", "innerwall"))) {
|
||||
return true;
|
||||
}
|
||||
} else return block == Block.getIdFromBlock(GameRegistry.findBlock("CompactMachines", "innerwall"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -90,10 +90,7 @@ public class PickaxeModule extends PowerModuleBase implements IBlockBreakingModu
|
|||
|
||||
// some blocks like stairs do no not have a tool assigned to them
|
||||
if (effectiveHarvestTool == null) {
|
||||
if (emulatedTool.func_150997_a/*getStrVsBlock*/(block) >= ((ItemTool) emulatedTool.getItem()).func_150913_i/*getToolMaterial*/().getEfficiencyOnProperMaterial())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return emulatedTool.func_150997_a/*getStrVsBlock*/(block) >= ((ItemTool) emulatedTool.getItem()).func_150913_i/*getToolMaterial*/().getEfficiencyOnProperMaterial();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -66,9 +66,7 @@ public class ScoopModule extends PowerModuleBase implements IBlockBreakingModule
|
|||
@Override
|
||||
public boolean canHarvestBlock(ItemStack stack, Block block, int meta, EntityPlayer player) {
|
||||
if (ForgeHooks.canToolHarvestBlock(block, meta, scoop)) {
|
||||
if (ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, SCOOP_ENERGY_CONSUMPTION)) {
|
||||
return true;
|
||||
}
|
||||
return ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, SCOOP_ENERGY_CONSUMPTION);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -111,9 +111,7 @@ public class ShearsModule extends PowerModuleBase implements IBlockBreakingModul
|
|||
@Override
|
||||
public boolean canHarvestBlock(ItemStack stack, Block block, int meta, EntityPlayer player) {
|
||||
if (ForgeHooks.canToolHarvestBlock(block, meta, shears)) {
|
||||
if (ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, SHEARING_ENERGY_CONSUMPTION)) {
|
||||
return true;
|
||||
}
|
||||
return ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, SHEARING_ENERGY_CONSUMPTION);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -79,9 +79,7 @@ public class ShovelModule extends PowerModuleBase implements IBlockBreakingModul
|
|||
@Override
|
||||
public boolean canHarvestBlock(ItemStack stack, Block block, int meta, EntityPlayer player) {
|
||||
if (istEffectiveHarvestTool(block, meta)) {
|
||||
if (ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, SHOVEL_ENERGY_CONSUMPTION)) {
|
||||
return true;
|
||||
}
|
||||
return ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, SHOVEL_ENERGY_CONSUMPTION);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -37,9 +37,7 @@ public class TerminalHandler implements IWirelessTermHandler, IWirelessFluidTerm
|
|||
return false;
|
||||
if(is.getUnlocalizedName() == null)
|
||||
return false;
|
||||
if(is.getUnlocalizedName().equals("item.powerFist"))
|
||||
return true;
|
||||
return false;
|
||||
return is.getUnlocalizedName().equals("item.powerFist");
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "appliedenergistics2")
|
||||
|
@ -115,7 +113,7 @@ public class TerminalHandler implements IWirelessTermHandler, IWirelessFluidTerm
|
|||
|
||||
@Optional.Method(modid = "extracells")
|
||||
private static void registerECHandler(TerminalHandler handler){
|
||||
ECApi.instance().registerWirelessFluidTermHandler(handler);
|
||||
ECApi.instance().registerWirelessTermHandler(handler);
|
||||
}
|
||||
|
||||
public static void registerHandler() {
|
||||
|
|
|
@ -41,6 +41,8 @@ public class ElectricItemUtils {
|
|||
}
|
||||
|
||||
public static void drainPlayerEnergy(EntityPlayer player, double drainAmount) {
|
||||
if (player.capabilities.isCreativeMode)
|
||||
return;
|
||||
double drainleft = drainAmount;
|
||||
for (ElectricAdapter adapter: electricItemsEquipped(player))
|
||||
if (drainleft > 0)
|
||||
|
|
|
@ -55,6 +55,9 @@ public class MuseHeatUtils {
|
|||
}
|
||||
|
||||
public static void heatPlayer(EntityPlayer player, double heatDegrees) {
|
||||
if (player.capabilities.isCreativeMode)
|
||||
return;
|
||||
|
||||
List<ItemStack> items = MuseItemUtils.getModularItemsInInventory(player);
|
||||
if (player.isUsingItem()) {
|
||||
items.remove(player.getCurrentEquippedItem());
|
||||
|
|
|
@ -233,7 +233,7 @@ public abstract class MuseStringUtils {
|
|||
*
|
||||
* @author MachineMuse
|
||||
*/
|
||||
public static enum FormatCodes {
|
||||
public enum FormatCodes {
|
||||
Black('0'),
|
||||
DarkBlue('1'),
|
||||
DarkGreen('2'),
|
||||
|
@ -259,7 +259,7 @@ public abstract class MuseStringUtils {
|
|||
|
||||
public char character;
|
||||
|
||||
private FormatCodes(char character) {
|
||||
FormatCodes(char character) {
|
||||
this.character = character;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#Made by users: KazoBurg, Vexatos, Dongonzales
|
||||
#Last edited on 7/2/13
|
||||
|
||||
tile.luxCapacitor.name=Luxkompensator
|
||||
tile.tinkerTable.name=Energierüstungsbasteltisch
|
||||
|
||||
itemGroup.powersuits=Modular Powersuits
|
||||
|
||||
item.powerArmorBoots.name=Energiestiefel
|
||||
item.powerArmorLeggings.name=Energiehose
|
||||
item.powerArmorChestplate.name=Energiebrustplatte
|
||||
|
@ -31,6 +31,9 @@ item.powerArmorComponent.componentArtificialMuscle.name=Künstlicher Muskel
|
|||
item.powerArmorComponent.componentSolarPanel.name=Solarzelle
|
||||
item.powerArmorComponent.componentMagnet.name=Magnet
|
||||
item.powerArmorComponent.componentComputerChip.name=Mikroprozessor
|
||||
item.powerArmorComponent.componentLiquidNitrogen.name=Liquid Nitrogen Bucket
|
||||
item.powerArmorComponent.componentRubberHose.name=Insulated Rubber Hose
|
||||
item.powerArmorComponent.componentRawCarbon.name=Raw Carbon
|
||||
|
||||
module.basicPlating.name=Eisenplatte
|
||||
module.diamondPlating.name=Diamantplatte
|
||||
|
@ -74,6 +77,7 @@ module.transparentArmor.name=Transparentrüstung
|
|||
module.cosmeticGlow.name=Leuchtmodul
|
||||
module.mffsFieldTeleporter.name=MFFS-Kraftfeldteleporter
|
||||
module.grafter.name=Gartenschere
|
||||
module.scoop.name=Scoop
|
||||
module.apiaristArmor.name=Imkerrüstung
|
||||
module.hazmat.name=Strahlungsschild
|
||||
module.redstoneLaser.name=Rotsteinlaser
|
||||
|
@ -96,11 +100,15 @@ module.clock.name=Uhr
|
|||
module.compass.name=Kompass
|
||||
module.lightningSummoner.name=Blitz-o-Mat
|
||||
module.waterTank.name=Wassertank
|
||||
module.euReader.name=EU-Lesegerät
|
||||
module.treetap.name=Kautschukhahn
|
||||
module.teMultimeter.name=TE-Multimeter
|
||||
module.appengWireless.name=Kabelloses ME-Terminal
|
||||
module.bucket.name=Eimer
|
||||
module.appengECWirelessFluid.name=ExtraCells Wireless Fluid Terminal
|
||||
module.advSolarGenerator.name=High Efficiency Solar Generator
|
||||
module.nitrogenCoolingSystem.name=Liquid Nitrogen Cooling System
|
||||
module.mechAssistance.name=Mechanical Assistance
|
||||
module.cmPSD.name=Personal Shrinking Device
|
||||
module.omniProbe.name=Prototype OmniProbe
|
||||
module.dimRiftGen.name=Dimensional Tear Generator
|
||||
|
||||
module.basicPlating.desc=Basic plating is heavy but protective.
|
||||
module.diamondPlating.desc=Advanced plating is lighter, harder, and more protective than Basic but much harder to make.
|
||||
|
@ -142,7 +150,36 @@ module.coolingSystem.desc=Cools down heat-producing modules quicker.
|
|||
module.tint.desc=Give your armor some coloured tinting to customize your armor's appearance.
|
||||
module.transparentArmor.desc=Make the item transparent, so you can show off your skin without losing armor.
|
||||
module.cosmeticGlow.desc=Change the appearance of the glowy bits on your armor.
|
||||
|
||||
module.hazmat.desc=Protect yourself from electricity and radiation poisoning. *Must be on every piece for 100% protection*
|
||||
module.aurameter.desc=Connect up some Thaumic goggles to have them embedded in your helmet. (Does not give Vis usage discount)
|
||||
module.airtightSeal.desc=Seal the suit against hostile atmospheres for venturing to other planets.
|
||||
module.grafter.desc=A Forestry grafter integrated into your power tool.
|
||||
module.scoop.desc=A Forestry Scoop integrated into your power tool.
|
||||
module.apiaristArmor.desc=A set of Forestry apiarist armor integrated into your armor.
|
||||
module.chisel.desc=This won't let you chisel blocks, but it will at least let you harvest them.
|
||||
module.lightningSummoner.desc=Allows you to summon lightning for a large energy cost.
|
||||
module.portableCraftingTable.desc=A larger crafting grid, on the go.
|
||||
module.kineticGenerator.desc=Generate power with your movement.
|
||||
module.solarGenerator.desc=Let the sun power your adventures.
|
||||
module.thermalGenerator.desc=Generate power from extreme amounts of heat.
|
||||
module.autoFeeder.desc=Whenever you're hungry, this module will grab the bottom-left-most food item from your inventory and feed it to you, storing the rest for later.
|
||||
module.magnet.desc=Generates a magnetic field strong enough to attract items towards the player. WARNING: This module drains power continuously. Turn it off when not needed. (Keybind menu: k)
|
||||
module.oreScanner.desc=A way to see how valuable the land around you is.
|
||||
module.leafBlower.desc=Create a torrent of air to knock plants out of the ground and leaves off of trees.
|
||||
module.mobRepulsor.desc=Pushes mobs away from you when activated, but constantly drains power. It is highly recommended that you set this module to a keybind because of the high energy draw.
|
||||
module.flintAndSteel.desc=A portable igniter that creates fire through the power of energy.
|
||||
module.clock.desc=A clock on the run that shows you the time, no matter where you are. Toggleable by keybinds.
|
||||
module.compass.desc=A compass on the run that shows you your direction, no matter where you are. Toggleable by keybinds.
|
||||
module.waterTank.desc=Store water which can later be used to cool yourself in emergency situations.
|
||||
module.teMultimeter.desc=A prototype multi-use probe integrated into your power tool.
|
||||
module.appengWireless.desc=An Applied Energistics wireless terminal integrated into your power tool.
|
||||
module.appengECWirelessFluid.desc=An Applied Energistics ExtraCells wireless fluid terminal integrated into your power tool.
|
||||
module.advSolarGenerator.desc=A solar generator with 3 times the power generation of the standard solar generator.
|
||||
module.nitrogenCoolingSystem.desc=Cools down heat-producing modules even faster than the standard cooling system.
|
||||
module.mechAssistance.desc=Robotic assistance to reduce the effect of weight on the user
|
||||
module.cmPSD.desc=A Compact Machines Personal Shrinking Device integrated into your power tool.
|
||||
module.omniProbe.desc=A prototype multi-use probe integrated into your power tool.
|
||||
module.dimRiftGen.desc=Generate a tear in the space-time continuum that will teleport the player to its relative coordinates in the nether or overworld.
|
||||
|
||||
gui.noModulesFound.line1=Keine Energierüstungs-Items
|
||||
gui.noModulesFound.line2=im Inventar gefunden. Bastle welche!
|
||||
|
@ -160,8 +197,27 @@ gui.pressKey=Drücke Taste
|
|||
gui.keybindInstructions1=Nutze "Neu", um neue Tastenfunktionen zu konfigurieren.
|
||||
gui.keybindInstructions2=Ziehe Module hierhin, um sie mit Tasten zu verbinden.
|
||||
gui.keybindInstructions3=Ziehe Tasten auf das "Entfernen"-Feld, um die Konfiguration zu entfernen.
|
||||
gui.keybindInstructions4=Right-click keybinds to add them to the HUD.
|
||||
gui.keybindTaken=Bereits in gebrauch!
|
||||
|
||||
gui.tab.tinker=Bastlen
|
||||
gui.tab.keybinds=Tastenkombinationen
|
||||
gui.tab.visual=Visuelles
|
||||
|
||||
gui.equippedTotals=Equipped Totals
|
||||
gui.energyStorage=Energy Storage
|
||||
gui.weight=Weight
|
||||
gui.armor=Armor
|
||||
|
||||
nei.jsonShaped=JSON Shaped
|
||||
|
||||
tooltip.pressShift=Press SHIFT for more information.
|
||||
tooltip.componentTooltip=For use in Tinker Table.
|
||||
tooltip.changeModes=Change modes: Sneak+mousewheel.
|
||||
tooltip.energy=Energy:
|
||||
tooltip.noModules=No installed modules! This item is useless until you add some modules at a Tinker Table.
|
||||
tooltip.installedModules=Installed Modules:
|
||||
tooltip.mode=Mode:
|
||||
module.bucket.name=Eimer
|
||||
module.euReader.name=EU-Lesegerät
|
||||
module.treetap.name=Kautschukhahn
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Made by users: Andrew2448, MachineMuse
|
||||
Last edited on 6/25/13 12:18AM EST
|
||||
# Made by users: Andrew2448, MachineMuse
|
||||
# Last edited on 6/25/13 12:18AM EST
|
||||
|
||||
tile.luxCapacitor.name=Lux Capacitor
|
||||
tile.tinkerTable.name=Power Armor Tinker Table
|
||||
|
|
|
@ -1,88 +1,114 @@
|
|||
Made by users: Mazdallier, AegisLesha, solomon56
|
||||
Last edited on 08/31/15
|
||||
|
||||
tile.luxCapacitor.name=Condensateur Lux
|
||||
tile.tinkerTable.name=Table de bricolage d'Armure énergétique
|
||||
tile.luxCapacitor.name=Condensateur Lux
|
||||
tile.tinkerTable.name=Table de bricolage d'Armure énergétique
|
||||
|
||||
itemGroup.powersuits=Armure énergétique modulaire
|
||||
itemGroup.powersuits=Armure énergétique modulaire
|
||||
|
||||
item.powerArmorBoots.name=Bottes d'Armure énergétique
|
||||
item.powerArmorBoots.name=Bottes d'Armure énergétique
|
||||
item.powerArmorLeggings.name=Pantalon d'Armure énergétique
|
||||
item.powerArmorChestplate.name=Plastron d'Armure énergétique
|
||||
item.powerArmorChestplate.name=Plastron d'Armure énergétique
|
||||
item.powerArmorHelmet.name=Casque d'Armure énergétique
|
||||
item.powerFist.name=Poing énergétique
|
||||
|
||||
item.powerArmorComponent.componentWiring.name=Câblage
|
||||
item.powerArmorComponent.componentSolenoid.name=Solénoïde
|
||||
item.powerArmorComponent.componentServo.name=Servo Moteur
|
||||
item.powerArmorComponent.componentServo.name=Servo Moteur
|
||||
item.powerArmorComponent.componentGliderWing.name=Ailes de planeur
|
||||
item.powerArmorComponent.componentIonThruster.name=Propulseur Ionique
|
||||
item.powerArmorComponent.componentLVCapacitor.name=Condensateur BT
|
||||
item.powerArmorComponent.componentMVCapacitor.name=Condensateur MT
|
||||
item.powerArmorComponent.componentIonThruster.name=Propulseur Ionique
|
||||
item.powerArmorComponent.componentLVCapacitor.name=Condensateur BT
|
||||
item.powerArmorComponent.componentMVCapacitor.name=Condensateur MT
|
||||
item.powerArmorComponent.componentHVCapacitor.name=Condensateur HT
|
||||
item.powerArmorComponent.componentParachute.name=Parachute
|
||||
item.powerArmorComponent.componentPlatingBasic.name=Plaquage de base
|
||||
item.powerArmorComponent.componentPlatingAdvanced.name=Plaquage avancé
|
||||
item.powerArmorComponent.componentParachute.name=Parachute
|
||||
item.powerArmorComponent.componentPlatingBasic.name=Plaquage de base
|
||||
item.powerArmorComponent.componentPlatingAdvanced.name=Plaquage avancé
|
||||
item.powerArmorComponent.componentFieldEmitter.name=Emetteur de champ de force
|
||||
item.powerArmorComponent.componentLaserEmitter.name=Emetteur d'hologramme
|
||||
item.powerArmorComponent.componentLaserEmitter.name=Emetteur d'hologramme
|
||||
item.powerArmorComponent.componentCarbonMyofiber.name=Myofibre carbone
|
||||
item.powerArmorComponent.componentControlCircuit.name=Circuit de contrôle
|
||||
item.powerArmorComponent.componentMyofiberGel.name=Gel myofibre
|
||||
item.powerArmorComponent.componentArtificialMuscle.name=Muscle artificiel
|
||||
item.powerArmorComponent.componentArtificialMuscle.name=Muscle artificiel
|
||||
|
||||
item.powerArmorComponent.componentSolarPanel.name=Panneau Solaire
|
||||
item.powerArmorComponent.componentMagnet.name=Aimant
|
||||
item.powerArmorComponent.componentComputerChip.name=Puce informatique
|
||||
item.powerArmorComponent.componentLiquidNitrogen.name=Liquid Nitrogen Bucket
|
||||
item.powerArmorComponent.componentRubberHose.name=Insulated Rubber Hose
|
||||
item.powerArmorComponent.componentRawCarbon.name=Raw Carbon
|
||||
|
||||
module.basicPlating.name=Plaquage en Fer
|
||||
module.diamondPlating.name=Plaquage en Diamant
|
||||
module.energyShield.name=Champ énergétique
|
||||
module.heatSink.name=Dissipateur de chaleur
|
||||
module.axe.name=Hache
|
||||
module.pickaxe.name=Pioche
|
||||
module.shovel.name=Pelle
|
||||
module.shears.name=Ciseaux
|
||||
module.hoe.name=Houe
|
||||
module.luxCapacitor.name=Condensateur Lux
|
||||
module.omniwrench.name=Prototype Multiclef
|
||||
module.basicPlating.name=Plaquage en Fer
|
||||
module.diamondPlating.name=Plaquage en Diamant
|
||||
module.energyShield.name=Champ énergétique
|
||||
module.heatSink.name=Dissipateur de chaleur
|
||||
module.axe.name=Hache
|
||||
module.pickaxe.name=Pioche
|
||||
module.shovel.name=Pelle
|
||||
module.shears.name=Ciseaux
|
||||
module.hoe.name=Houe
|
||||
module.luxCapacitor.name=Condensateur Lux
|
||||
module.omniwrench.name=Prototype Multiclef
|
||||
module.fieldTinkerer.name=Module de champ ambulant
|
||||
module.meleeAssist.name=Assistant de combat
|
||||
module.meleeAssist.name=Assistant de combat
|
||||
module.plasmaCannon.name=Canon à plasma
|
||||
module.railgun.name=Railgun
|
||||
module.railgun.name=Railgun
|
||||
module.bladeLauncher.name=Lanceur de lame
|
||||
module.basicBattery.name=Batterie de base
|
||||
module.eliteBattery.name=batterie élite
|
||||
module.advancedBattery.name=Batterie avancée
|
||||
module.parachute.name=Parachute
|
||||
module.glider.name=Planneur
|
||||
module.jetpack.name=Jetpack
|
||||
module.basicBattery.name=Batterie de base
|
||||
module.eliteBattery.name=batterie élite
|
||||
module.advancedBattery.name=Batterie avancée
|
||||
module.parachute.name=Parachute
|
||||
module.glider.name=Planneur
|
||||
module.jetpack.name=Jetpack
|
||||
module.sprintAssist.name=Assistant de course
|
||||
module.jumpAssist.name=Assistant de saut
|
||||
module.swimAssist.name=Amplificateur de nage
|
||||
module.climbAssist.name=Assistant de monté de bloc
|
||||
module.jetBoots.name=Bottes Jet
|
||||
module.shockAbsorber.name=Absorbeur de choc
|
||||
module.waterElectrolyzer.name=Electrolyseur d'eau
|
||||
module.binoculars.name=Binoculaires
|
||||
module.nightVision.name=Vision nocturne
|
||||
module.flightControl.name=Contrôleur de vol
|
||||
module.invisibility.name=Camouflage actif
|
||||
module.blinkDrive.name=Pilote de clignotement
|
||||
module.diamondPickUpgrade.name=Mise à jour foret diamant
|
||||
module.aquaAffinity.name=Affinité aquatique
|
||||
module.jumpAssist.name=Assistant de saut
|
||||
module.swimAssist.name=Amplificateur de nage
|
||||
module.climbAssist.name=Assistant de monté de bloc
|
||||
module.jetBoots.name=Bottes Jet
|
||||
module.shockAbsorber.name=Absorbeur de choc
|
||||
module.waterElectrolyzer.name=Electrolyseur d'eau
|
||||
module.binoculars.name=Binoculaires
|
||||
module.nightVision.name=Vision nocturne
|
||||
module.flightControl.name=Contrôleur de vol
|
||||
module.invisibility.name=Camouflage actif
|
||||
module.blinkDrive.name=Pilote de clignotement
|
||||
module.diamondPickUpgrade.name=Mise à jour foret diamant
|
||||
module.aquaAffinity.name=Affinité aquatique
|
||||
module.coolingSystem.name=Système de refroidissement
|
||||
module.tint.name=Module de couleur personnalisée
|
||||
module.transparentArmor.name=Armure transparente
|
||||
module.cosmeticGlow.name=Module lumineux
|
||||
module.tint.name=Module de couleur personnalisée
|
||||
module.transparentArmor.name=Armure transparente
|
||||
module.cosmeticGlow.name=Module lumineux
|
||||
module.mffsFieldTeleporter.name=Téléporteur de champ MFFS
|
||||
module.grafter.name=Greffeur
|
||||
module.apiaristArmor.name=Armure de l'apiariste
|
||||
module.hazmat.name=Protection anti-radiation
|
||||
module.redstoneLaser.name=Laser de Redstone
|
||||
module.aurameter.name=Auramètre
|
||||
module.airtightSeal.name=Etanchéité à l'air
|
||||
module.grafter.name=Greffeur
|
||||
module.scoop.name=Scoop
|
||||
module.apiaristArmor.name=Armure de l'apiariste
|
||||
module.hazmat.name=Protection anti-radiation
|
||||
module.redstoneLaser.name=Laser de Redstone
|
||||
module.aurameter.name=Auramètre
|
||||
module.airtightSeal.name=Etanchéité à l'air
|
||||
module.citizenJoe.name=Armure Citizen Joe
|
||||
module.sonicWeapon.name=Arme sonique
|
||||
module.sonicWeapon.name=Arme sonique
|
||||
|
||||
module.portableCraftingTable.name=Poche Tableau Artisanat
|
||||
module.kineticGenerator.name=Générateur Cinétique
|
||||
module.solarGenerator.name=Générateur Solaire
|
||||
module.thermalGenerator.name=Générateur Thermique
|
||||
module.autoFeeder.name=Nourriture-Automatique
|
||||
module.magnet.name=Aimant
|
||||
module.oreScanner.name=Scanneur des Minerais
|
||||
module.leafBlower.name=Souffleur
|
||||
module.mobRepulsor.name=Repousseur de Monstre
|
||||
module.flintAndSteel.name=Briquet
|
||||
module.clock.name=Montre
|
||||
module.compass.name=Boussole
|
||||
module.lightningSummoner.name=Porteur de la Foudre
|
||||
module.waterTank.name=Réservoir d'eau
|
||||
module.teMultimeter.name=Multimètre de TE
|
||||
module.appengWireless.name=Terminal sans fil d'AppEng
|
||||
module.appengECWirelessFluid.name=ExtraCells Wireless Fluid Terminal
|
||||
module.advSolarGenerator.name=High Efficiency Solar Generator
|
||||
module.nitrogenCoolingSystem.name=Liquid Nitrogen Cooling System
|
||||
module.mechAssistance.name=Mechanical Assistance
|
||||
module.cmPSD.name=Personal Shrinking Device
|
||||
module.omniProbe.name=Prototype OmniProbe
|
||||
module.dimRiftGen.name=Dimensional Tear Generator
|
||||
|
||||
module.basicPlating.desc=Le plaquage en fer est lourd mais efficace.
|
||||
module.diamondPlating.desc=Le plaquage en diamant est plus léger, plus dur et protège plus mais est aussi plus difficile à faire.
|
||||
|
@ -125,26 +151,35 @@ module.tint.desc=Permet à votre armure de se tinter pour la customisation de so
|
|||
module.transparentArmor.desc=Rend l'objet transparent, pour que vous puissiez montrer votre skin sans perdre la protection offerte par l'armure.
|
||||
module.cosmeticGlow.desc=Change l'apparence des parties lumineuse de l'armure.
|
||||
module.hazmat.desc=Vous protège de l'électricité et de l'empoisonnement dû aux radiations. (Doit être présent sur toutes les parties de l'armure pour une protection totale)
|
||||
|
||||
module.portableCraftingTable.name=Poche Tableau Artisanat
|
||||
module.kineticGenerator.name=Générateur Cinétique
|
||||
module.solarGenerator.name=Générateur Solaire
|
||||
module.thermalGenerator.name=Générateur Thermique
|
||||
module.autoFeeder.name=Nourriture-Automatique
|
||||
module.magnet.name=Aimant
|
||||
module.oreScanner.name=Scanneur des Minerais
|
||||
module.leafBlower.name=Souffleur
|
||||
module.mobRepulsor.name=Repousseur de Monstre
|
||||
module.flintAndSteel.name=Briquet
|
||||
module.clock.name=Montre
|
||||
module.compass.name=Boussole
|
||||
module.lightningSummoner.name=Porteur de la Foudre
|
||||
module.waterTank.name=Réservoir d'eau
|
||||
module.euReader.name= Interpréteur d'EU
|
||||
module.treetap.name=Sève prise
|
||||
module.teMultimeter.name=Multimètre de TE
|
||||
module.appengWireless.name=Terminal sans fil d'AppEng
|
||||
module.bucket.name=Seau
|
||||
module.aurameter.desc=Connect up some Thaumic goggles to have them embedded in your helmet. (Does not give Vis usage discount)
|
||||
module.airtightSeal.desc=Seal the suit against hostile atmospheres for venturing to other planets.
|
||||
module.grafter.desc=A Forestry grafter integrated into your power tool.
|
||||
module.scoop.desc=A Forestry Scoop integrated into your power tool.
|
||||
module.apiaristArmor.desc=A set of Forestry apiarist armor integrated into your armor.
|
||||
module.chisel.desc=This won't let you chisel blocks, but it will at least let you harvest them.
|
||||
module.lightningSummoner.desc=Allows you to summon lightning for a large energy cost.
|
||||
module.portableCraftingTable.desc=A larger crafting grid, on the go.
|
||||
module.kineticGenerator.desc=Generate power with your movement.
|
||||
module.solarGenerator.desc=Let the sun power your adventures.
|
||||
module.thermalGenerator.desc=Generate power from extreme amounts of heat.
|
||||
module.autoFeeder.desc=Whenever you're hungry, this module will grab the bottom-left-most food item from your inventory and feed it to you, storing the rest for later.
|
||||
module.magnet.desc=Generates a magnetic field strong enough to attract items towards the player. WARNING: This module drains power continuously. Turn it off when not needed. (Keybind menu: k)
|
||||
module.oreScanner.desc=A way to see how valuable the land around you is.
|
||||
module.leafBlower.desc=Create a torrent of air to knock plants out of the ground and leaves off of trees.
|
||||
module.mobRepulsor.desc=Pushes mobs away from you when activated, but constantly drains power. It is highly recommended that you set this module to a keybind because of the high energy draw.
|
||||
module.flintAndSteel.desc=A portable igniter that creates fire through the power of energy.
|
||||
module.clock.desc=A clock on the run that shows you the time, no matter where you are. Toggleable by keybinds.
|
||||
module.compass.desc=A compass on the run that shows you your direction, no matter where you are. Toggleable by keybinds.
|
||||
module.waterTank.desc=Store water which can later be used to cool yourself in emergency situations.
|
||||
module.teMultimeter.desc=A prototype multi-use probe integrated into your power tool.
|
||||
module.appengWireless.desc=An Applied Energistics wireless terminal integrated into your power tool.
|
||||
module.appengECWirelessFluid.desc=An Applied Energistics ExtraCells wireless fluid terminal integrated into your power tool.
|
||||
module.advSolarGenerator.desc=A solar generator with 3 times the power generation of the standard solar generator.
|
||||
module.nitrogenCoolingSystem.desc=Cools down heat-producing modules even faster than the standard cooling system.
|
||||
module.mechAssistance.desc=Robotic assistance to reduce the effect of weight on the user
|
||||
module.cmPSD.desc=A Compact Machines Personal Shrinking Device integrated into your power tool.
|
||||
module.omniProbe.desc=A prototype multi-use probe integrated into your power tool.
|
||||
module.dimRiftGen.desc=Generate a tear in the space-time continuum that will teleport the player to its relative coordinates in the nether or overworld.
|
||||
|
||||
gui.noModulesFound.line1=Aucune armure énergétique modulaire
|
||||
gui.noModulesFound.line2=trouvée dans les alentours.
|
||||
|
@ -162,10 +197,27 @@ gui.pressKey=Appuyer sur une touche
|
|||
gui.keybindInstructions1=Utiliser 'Nouvelle' pour créer de nouvelles combinaisons de touches.
|
||||
gui.keybindInstructions2=Glisser-déposer des modules pour les lier avec des touches.
|
||||
gui.keybindInstructions3=Déposer des touches dans la corbeille pour annuler les liaisons.
|
||||
gui.keybindInstructions4=Right-click keybinds to add them to the HUD.
|
||||
gui.keybindTaken=Occupée!
|
||||
|
||||
gui.tab.tinker=Bricolage
|
||||
gui.tab.keybinds=Combinaisons
|
||||
gui.tab.visual=Apparence
|
||||
|
||||
gui.equippedTotals=Equipped Totals
|
||||
gui.energyStorage=Energy Storage
|
||||
gui.weight=Weight
|
||||
gui.armor=Armor
|
||||
|
||||
nei.jsonShaped=JSON Shaped
|
||||
|
||||
tooltip.pressShift=Press SHIFT for more information.
|
||||
tooltip.componentTooltip=For use in Tinker Table.
|
||||
tooltip.changeModes=Change modes: Sneak+mousewheel.
|
||||
tooltip.energy=Energy:
|
||||
tooltip.noModules=No installed modules! This item is useless until you add some modules at a Tinker Table.
|
||||
tooltip.installedModules=Installed Modules:
|
||||
tooltip.mode=Mode:
|
||||
module.bucket.name=Seau
|
||||
module.euReader.name= Interpréteur d'EU
|
||||
module.treetap.name=Sève prise
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
Made by users: EzerArch
|
||||
Last edited on 12/24/14 07:02AM GMT-2
|
||||
|
||||
tile.luxCapacitor.name=Capacitor de Luz
|
||||
tile.tinkerTable.name=Mesa de Trabalho Power Armor
|
||||
|
@ -25,11 +23,18 @@ item.powerArmorComponent.componentPlatingBasic.name=Blindagem Básica
|
|||
item.powerArmorComponent.componentPlatingAdvanced.name=Blindagem Avançada
|
||||
item.powerArmorComponent.componentFieldEmitter.name=Emissor de Campo de Força
|
||||
item.powerArmorComponent.componentLaserEmitter.name=Emissor de Holograma
|
||||
item.powerArmorComponent.componentCarbonMyofiber.name=Miofibra de Carbono
|
||||
item.powerArmorComponent.componentControlCircuit.name=Circuito de Controle
|
||||
item.powerArmorComponent.componentCarbonMyofiber.name=Miofibra de Carbono
|
||||
item.powerArmorComponent.componentControlCircuit.name=Circuito de Controle
|
||||
item.powerArmorComponent.componentMyofiberGel.name=Gel de Miofibra
|
||||
item.powerArmorComponent.componentArtificialMuscle.name=Músculo Artificial
|
||||
|
||||
item.powerArmorComponent.componentSolarPanel.name=Solar Panel
|
||||
item.powerArmorComponent.componentMagnet.name=Magnet
|
||||
item.powerArmorComponent.componentComputerChip.name=Computer Chip
|
||||
item.powerArmorComponent.componentLiquidNitrogen.name=Liquid Nitrogen Bucket
|
||||
item.powerArmorComponent.componentRubberHose.name=Insulated Rubber Hose
|
||||
item.powerArmorComponent.componentRawCarbon.name=Raw Carbon
|
||||
|
||||
module.basicPlating.name=Blindagem de Ferro
|
||||
module.diamondPlating.name=Blindagem de Diamante
|
||||
module.energyShield.name=Campo de Energia
|
||||
|
@ -64,7 +69,7 @@ module.nightVision.name=Visão Noturna
|
|||
module.flightControl.name=Controle de Voo
|
||||
module.invisibility.name=Camuflagem Ativa
|
||||
module.blinkDrive.name=Blink Drive
|
||||
module.diamondPickUpgrade.name=Melhoramento da Broca de Diamante
|
||||
module.diamondPickUpgrade.name=Melhoramento da Broca de Diamante
|
||||
module.aquaAffinity.name=Afinidade Aquática
|
||||
module.coolingSystem.name=Sistema de Resfriamento
|
||||
module.tint.name=Módulo de Cores Personalizáveis
|
||||
|
@ -72,6 +77,7 @@ module.transparentArmor.name=Armadura Transparente
|
|||
module.cosmeticGlow.name=Módulo de Brilho
|
||||
module.mffsFieldTeleporter.name=Teleportador MFFS Field
|
||||
module.grafter.name=Enxertador
|
||||
module.scoop.name=Scoop
|
||||
module.apiaristArmor.name=Armadura para Apicultor
|
||||
module.hazmat.name=Proteção contra Radiação
|
||||
module.redstoneLaser.name=Redstone Laser
|
||||
|
@ -80,6 +86,29 @@ module.airtightSeal.name=Vedação Hermética
|
|||
module.citizenJoe.name=Armadura Citizen Joe
|
||||
module.sonicWeapon.name=Arma Sônica
|
||||
|
||||
module.portableCraftingTable.name=In-Place Assembler
|
||||
module.kineticGenerator.name=Kinetic Generator
|
||||
module.solarGenerator.name=Solar Generator
|
||||
module.thermalGenerator.name=Thermal Generator
|
||||
module.autoFeeder.name=Auto-Feeder
|
||||
module.magnet.name=Magnet
|
||||
module.oreScanner.name=Ore Scanner
|
||||
module.leafBlower.name=Leaf Blower
|
||||
module.mobRepulsor.name=Mob Repulsor
|
||||
module.flintAndSteel.name=Flint and Steel
|
||||
module.clock.name=Clock
|
||||
module.compass.name=Compass
|
||||
module.lightningSummoner.name=Lightning Summoner
|
||||
module.waterTank.name=Water Tank
|
||||
module.teMultimeter.name=TE Multimeter
|
||||
module.appengWireless.name=AppEng Wireless Terminal
|
||||
module.appengECWirelessFluid.name=ExtraCells Wireless Fluid Terminal
|
||||
module.advSolarGenerator.name=High Efficiency Solar Generator
|
||||
module.nitrogenCoolingSystem.name=Liquid Nitrogen Cooling System
|
||||
module.mechAssistance.name=Mechanical Assistance
|
||||
module.cmPSD.name=Personal Shrinking Device
|
||||
module.omniProbe.name=Prototype OmniProbe
|
||||
module.dimRiftGen.name=Dimensional Tear Generator
|
||||
|
||||
module.basicPlating.desc=Basic plating is heavy but protective.
|
||||
module.diamondPlating.desc=Advanced plating is lighter, harder, and more protective than Basic but much harder to make.
|
||||
|
@ -121,7 +150,36 @@ module.coolingSystem.desc=Cools down heat-producing modules quicker.
|
|||
module.tint.desc=Give your armor some coloured tinting to customize your armor's appearance.
|
||||
module.transparentArmor.desc=Make the item transparent, so you can show off your skin without losing armor.
|
||||
module.cosmeticGlow.desc=Change the appearance of the glowy bits on your armor.
|
||||
|
||||
module.hazmat.desc=Protect yourself from electricity and radiation poisoning. *Must be on every piece for 100% protection*
|
||||
module.aurameter.desc=Connect up some Thaumic goggles to have them embedded in your helmet. (Does not give Vis usage discount)
|
||||
module.airtightSeal.desc=Seal the suit against hostile atmospheres for venturing to other planets.
|
||||
module.grafter.desc=A Forestry grafter integrated into your power tool.
|
||||
module.scoop.desc=A Forestry Scoop integrated into your power tool.
|
||||
module.apiaristArmor.desc=A set of Forestry apiarist armor integrated into your armor.
|
||||
module.chisel.desc=This won't let you chisel blocks, but it will at least let you harvest them.
|
||||
module.lightningSummoner.desc=Allows you to summon lightning for a large energy cost.
|
||||
module.portableCraftingTable.desc=A larger crafting grid, on the go.
|
||||
module.kineticGenerator.desc=Generate power with your movement.
|
||||
module.solarGenerator.desc=Let the sun power your adventures.
|
||||
module.thermalGenerator.desc=Generate power from extreme amounts of heat.
|
||||
module.autoFeeder.desc=Whenever you're hungry, this module will grab the bottom-left-most food item from your inventory and feed it to you, storing the rest for later.
|
||||
module.magnet.desc=Generates a magnetic field strong enough to attract items towards the player. WARNING: This module drains power continuously. Turn it off when not needed. (Keybind menu: k)
|
||||
module.oreScanner.desc=A way to see how valuable the land around you is.
|
||||
module.leafBlower.desc=Create a torrent of air to knock plants out of the ground and leaves off of trees.
|
||||
module.mobRepulsor.desc=Pushes mobs away from you when activated, but constantly drains power. It is highly recommended that you set this module to a keybind because of the high energy draw.
|
||||
module.flintAndSteel.desc=A portable igniter that creates fire through the power of energy.
|
||||
module.clock.desc=A clock on the run that shows you the time, no matter where you are. Toggleable by keybinds.
|
||||
module.compass.desc=A compass on the run that shows you your direction, no matter where you are. Toggleable by keybinds.
|
||||
module.waterTank.desc=Store water which can later be used to cool yourself in emergency situations.
|
||||
module.teMultimeter.desc=A prototype multi-use probe integrated into your power tool.
|
||||
module.appengWireless.desc=An Applied Energistics wireless terminal integrated into your power tool.
|
||||
module.appengECWirelessFluid.desc=An Applied Energistics ExtraCells wireless fluid terminal integrated into your power tool.
|
||||
module.advSolarGenerator.desc=A solar generator with 3 times the power generation of the standard solar generator.
|
||||
module.nitrogenCoolingSystem.desc=Cools down heat-producing modules even faster than the standard cooling system.
|
||||
module.mechAssistance.desc=Robotic assistance to reduce the effect of weight on the user
|
||||
module.cmPSD.desc=A Compact Machines Personal Shrinking Device integrated into your power tool.
|
||||
module.omniProbe.desc=A prototype multi-use probe integrated into your power tool.
|
||||
module.dimRiftGen.desc=Generate a tear in the space-time continuum that will teleport the player to its relative coordinates in the nether or overworld.
|
||||
|
||||
gui.noModulesFound.line1=No modular powersuit items
|
||||
gui.noModulesFound.line2=found in inventory. Make some!
|
||||
|
@ -139,8 +197,24 @@ gui.pressKey=Press Key
|
|||
gui.keybindInstructions1=Use 'new' to bind new keys.
|
||||
gui.keybindInstructions2=Drag and drop modules to bind them to keys.
|
||||
gui.keybindInstructions3=Drop keys on 'trash' to unbind them.
|
||||
gui.keybindInstructions4=Right-click keybinds to add them to the HUD.
|
||||
gui.keybindTaken=Taken!
|
||||
|
||||
gui.tab.tinker=Tinker
|
||||
gui.tab.keybinds=Keybinds
|
||||
gui.tab.visual=Visual
|
||||
gui.tab.visual=Visual
|
||||
|
||||
gui.equippedTotals=Equipped Totals
|
||||
gui.energyStorage=Energy Storage
|
||||
gui.weight=Weight
|
||||
gui.armor=Armor
|
||||
|
||||
nei.jsonShaped=JSON Shaped
|
||||
|
||||
tooltip.pressShift=Press SHIFT for more information.
|
||||
tooltip.componentTooltip=For use in Tinker Table.
|
||||
tooltip.changeModes=Change modes: Sneak+mousewheel.
|
||||
tooltip.energy=Energy:
|
||||
tooltip.noModules=No installed modules! This item is useless until you add some modules at a Tinker Table.
|
||||
tooltip.installedModules=Installed Modules:
|
||||
tooltip.mode=Mode:
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
Made by users: EzerArch
|
||||
Last edited on 12/24/14 07:02AM GMT-2
|
||||
|
||||
tile.luxCapacitor.name=Condensador de Luz
|
||||
tile.tinkerTable.name=Mesa de Trabalho Power Armor
|
||||
|
@ -25,11 +23,18 @@ item.powerArmorComponent.componentPlatingBasic.name=Blindagem Básica
|
|||
item.powerArmorComponent.componentPlatingAdvanced.name=Blindagem Avançada
|
||||
item.powerArmorComponent.componentFieldEmitter.name=Emissor de Campo de Força
|
||||
item.powerArmorComponent.componentLaserEmitter.name=Emissor de Holograma
|
||||
item.powerArmorComponent.componentCarbonMyofiber.name=Miofibra de Carbono
|
||||
item.powerArmorComponent.componentControlCircuit.name=Circuito de Controle
|
||||
item.powerArmorComponent.componentCarbonMyofiber.name=Miofibra de Carbono
|
||||
item.powerArmorComponent.componentControlCircuit.name=Circuito de Controle
|
||||
item.powerArmorComponent.componentMyofiberGel.name=Gel de Miofibra
|
||||
item.powerArmorComponent.componentArtificialMuscle.name=Músculo Artificial
|
||||
|
||||
item.powerArmorComponent.componentSolarPanel.name=Solar Panel
|
||||
item.powerArmorComponent.componentMagnet.name=Magnet
|
||||
item.powerArmorComponent.componentComputerChip.name=Computer Chip
|
||||
item.powerArmorComponent.componentLiquidNitrogen.name=Liquid Nitrogen Bucket
|
||||
item.powerArmorComponent.componentRubberHose.name=Insulated Rubber Hose
|
||||
item.powerArmorComponent.componentRawCarbon.name=Raw Carbon
|
||||
|
||||
module.basicPlating.name=Blindagem de Ferro
|
||||
module.diamondPlating.name=Blindagem de Diamante
|
||||
module.energyShield.name=Campo de Energia
|
||||
|
@ -64,7 +69,7 @@ module.nightVision.name=Visão Noturna
|
|||
module.flightControl.name=Controlo de Voo
|
||||
module.invisibility.name=Camuflagem Ativa
|
||||
module.blinkDrive.name=Blink Drive
|
||||
module.diamondPickUpgrade.name=Melhoramento da Broca de Diamante
|
||||
module.diamondPickUpgrade.name=Melhoramento da Broca de Diamante
|
||||
module.aquaAffinity.name=Afinidade Aquática
|
||||
module.coolingSystem.name=Sistema de Resfriamento
|
||||
module.tint.name=Módulo de Cores Personalizáveis
|
||||
|
@ -72,6 +77,7 @@ module.transparentArmor.name=Armadura Transparente
|
|||
module.cosmeticGlow.name=Módulo de Brilho
|
||||
module.mffsFieldTeleporter.name=Teleportador MFFS Field
|
||||
module.grafter.name=Enxertador
|
||||
module.scoop.name=Scoop
|
||||
module.apiaristArmor.name=Armadura para Apicultor
|
||||
module.hazmat.name=Proteção contra Radiação
|
||||
module.redstoneLaser.name=Redstone Laser
|
||||
|
@ -80,6 +86,29 @@ module.airtightSeal.name=Vedação Hermética
|
|||
module.citizenJoe.name=Armadura Citizen Joe
|
||||
module.sonicWeapon.name=Arma Sônica
|
||||
|
||||
module.portableCraftingTable.name=In-Place Assembler
|
||||
module.kineticGenerator.name=Kinetic Generator
|
||||
module.solarGenerator.name=Solar Generator
|
||||
module.thermalGenerator.name=Thermal Generator
|
||||
module.autoFeeder.name=Auto-Feeder
|
||||
module.magnet.name=Magnet
|
||||
module.oreScanner.name=Ore Scanner
|
||||
module.leafBlower.name=Leaf Blower
|
||||
module.mobRepulsor.name=Mob Repulsor
|
||||
module.flintAndSteel.name=Flint and Steel
|
||||
module.clock.name=Clock
|
||||
module.compass.name=Compass
|
||||
module.lightningSummoner.name=Lightning Summoner
|
||||
module.waterTank.name=Water Tank
|
||||
module.teMultimeter.name=TE Multimeter
|
||||
module.appengWireless.name=AppEng Wireless Terminal
|
||||
module.appengECWirelessFluid.name=ExtraCells Wireless Fluid Terminal
|
||||
module.advSolarGenerator.name=High Efficiency Solar Generator
|
||||
module.nitrogenCoolingSystem.name=Liquid Nitrogen Cooling System
|
||||
module.mechAssistance.name=Mechanical Assistance
|
||||
module.cmPSD.name=Personal Shrinking Device
|
||||
module.omniProbe.name=Prototype OmniProbe
|
||||
module.dimRiftGen.name=Dimensional Tear Generator
|
||||
|
||||
module.basicPlating.desc=Basic plating is heavy but protective.
|
||||
module.diamondPlating.desc=Advanced plating is lighter, harder, and more protective than Basic but much harder to make.
|
||||
|
@ -121,7 +150,36 @@ module.coolingSystem.desc=Cools down heat-producing modules quicker.
|
|||
module.tint.desc=Give your armor some coloured tinting to customize your armor's appearance.
|
||||
module.transparentArmor.desc=Make the item transparent, so you can show off your skin without losing armor.
|
||||
module.cosmeticGlow.desc=Change the appearance of the glowy bits on your armor.
|
||||
|
||||
module.hazmat.desc=Protect yourself from electricity and radiation poisoning. *Must be on every piece for 100% protection*
|
||||
module.aurameter.desc=Connect up some Thaumic goggles to have them embedded in your helmet. (Does not give Vis usage discount)
|
||||
module.airtightSeal.desc=Seal the suit against hostile atmospheres for venturing to other planets.
|
||||
module.grafter.desc=A Forestry grafter integrated into your power tool.
|
||||
module.scoop.desc=A Forestry Scoop integrated into your power tool.
|
||||
module.apiaristArmor.desc=A set of Forestry apiarist armor integrated into your armor.
|
||||
module.chisel.desc=This won't let you chisel blocks, but it will at least let you harvest them.
|
||||
module.lightningSummoner.desc=Allows you to summon lightning for a large energy cost.
|
||||
module.portableCraftingTable.desc=A larger crafting grid, on the go.
|
||||
module.kineticGenerator.desc=Generate power with your movement.
|
||||
module.solarGenerator.desc=Let the sun power your adventures.
|
||||
module.thermalGenerator.desc=Generate power from extreme amounts of heat.
|
||||
module.autoFeeder.desc=Whenever you're hungry, this module will grab the bottom-left-most food item from your inventory and feed it to you, storing the rest for later.
|
||||
module.magnet.desc=Generates a magnetic field strong enough to attract items towards the player. WARNING: This module drains power continuously. Turn it off when not needed. (Keybind menu: k)
|
||||
module.oreScanner.desc=A way to see how valuable the land around you is.
|
||||
module.leafBlower.desc=Create a torrent of air to knock plants out of the ground and leaves off of trees.
|
||||
module.mobRepulsor.desc=Pushes mobs away from you when activated, but constantly drains power. It is highly recommended that you set this module to a keybind because of the high energy draw.
|
||||
module.flintAndSteel.desc=A portable igniter that creates fire through the power of energy.
|
||||
module.clock.desc=A clock on the run that shows you the time, no matter where you are. Toggleable by keybinds.
|
||||
module.compass.desc=A compass on the run that shows you your direction, no matter where you are. Toggleable by keybinds.
|
||||
module.waterTank.desc=Store water which can later be used to cool yourself in emergency situations.
|
||||
module.teMultimeter.desc=A prototype multi-use probe integrated into your power tool.
|
||||
module.appengWireless.desc=An Applied Energistics wireless terminal integrated into your power tool.
|
||||
module.appengECWirelessFluid.desc=An Applied Energistics ExtraCells wireless fluid terminal integrated into your power tool.
|
||||
module.advSolarGenerator.desc=A solar generator with 3 times the power generation of the standard solar generator.
|
||||
module.nitrogenCoolingSystem.desc=Cools down heat-producing modules even faster than the standard cooling system.
|
||||
module.mechAssistance.desc=Robotic assistance to reduce the effect of weight on the user
|
||||
module.cmPSD.desc=A Compact Machines Personal Shrinking Device integrated into your power tool.
|
||||
module.omniProbe.desc=A prototype multi-use probe integrated into your power tool.
|
||||
module.dimRiftGen.desc=Generate a tear in the space-time continuum that will teleport the player to its relative coordinates in the nether or overworld.
|
||||
|
||||
gui.noModulesFound.line1=No modular powersuit items
|
||||
gui.noModulesFound.line2=found in inventory. Make some!
|
||||
|
@ -139,8 +197,24 @@ gui.pressKey=Press Key
|
|||
gui.keybindInstructions1=Use 'new' to bind new keys.
|
||||
gui.keybindInstructions2=Drag and drop modules to bind them to keys.
|
||||
gui.keybindInstructions3=Drop keys on 'trash' to unbind them.
|
||||
gui.keybindInstructions4=Right-click keybinds to add them to the HUD.
|
||||
gui.keybindTaken=Taken!
|
||||
|
||||
gui.tab.tinker=Tinker
|
||||
gui.tab.keybinds=Keybinds
|
||||
gui.tab.visual=Visual
|
||||
gui.tab.visual=Visual
|
||||
|
||||
gui.equippedTotals=Equipped Totals
|
||||
gui.energyStorage=Energy Storage
|
||||
gui.weight=Weight
|
||||
gui.armor=Armor
|
||||
|
||||
nei.jsonShaped=JSON Shaped
|
||||
|
||||
tooltip.pressShift=Press SHIFT for more information.
|
||||
tooltip.componentTooltip=For use in Tinker Table.
|
||||
tooltip.changeModes=Change modes: Sneak+mousewheel.
|
||||
tooltip.energy=Energy:
|
||||
tooltip.noModules=No installed modules! This item is useless until you add some modules at a Tinker Table.
|
||||
tooltip.installedModules=Installed Modules:
|
||||
tooltip.mode=Mode:
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
Made by users: Adaptivity
|
||||
Last edited on 9/08/15
|
||||
|
||||
tile.luxCapacitor.name=Конденсатор света
|
||||
tile.tinkerTable.name=Верстак для создания силовой брони
|
||||
|
||||
|
@ -30,6 +27,13 @@ item.powerArmorComponent.componentControlCircuit.name=Микросхема уп
|
|||
item.powerArmorComponent.componentMyofiberGel.name=Гель из мышечного волокна
|
||||
item.powerArmorComponent.componentArtificialMuscle.name=Искусственные мышцы
|
||||
|
||||
item.powerArmorComponent.componentSolarPanel.name=Solar Panel
|
||||
item.powerArmorComponent.componentMagnet.name=Magnet
|
||||
item.powerArmorComponent.componentComputerChip.name=Computer Chip
|
||||
item.powerArmorComponent.componentLiquidNitrogen.name=Liquid Nitrogen Bucket
|
||||
item.powerArmorComponent.componentRubberHose.name=Insulated Rubber Hose
|
||||
item.powerArmorComponent.componentRawCarbon.name=Raw Carbon
|
||||
|
||||
module.basicPlating.name=Железная обшивка
|
||||
module.diamondPlating.name=Алмазная обшивка
|
||||
module.energyShield.name=Энергетический щит
|
||||
|
@ -81,6 +85,30 @@ module.airtightSeal.name=Герметичность
|
|||
module.citizenJoe.name=Броня гражданина Джо
|
||||
module.sonicWeapon.name=Звуковое оружие
|
||||
|
||||
module.portableCraftingTable.name=In-Place Assembler
|
||||
module.kineticGenerator.name=Kinetic Generator
|
||||
module.solarGenerator.name=Solar Generator
|
||||
module.thermalGenerator.name=Thermal Generator
|
||||
module.autoFeeder.name=Auto-Feeder
|
||||
module.magnet.name=Magnet
|
||||
module.oreScanner.name=Ore Scanner
|
||||
module.leafBlower.name=Leaf Blower
|
||||
module.mobRepulsor.name=Mob Repulsor
|
||||
module.flintAndSteel.name=Flint and Steel
|
||||
module.clock.name=Clock
|
||||
module.compass.name=Compass
|
||||
module.lightningSummoner.name=Lightning Summoner
|
||||
module.waterTank.name=Water Tank
|
||||
module.teMultimeter.name=TE Multimeter
|
||||
module.appengWireless.name=AppEng Wireless Terminal
|
||||
module.appengECWirelessFluid.name=ExtraCells Wireless Fluid Terminal
|
||||
module.advSolarGenerator.name=High Efficiency Solar Generator
|
||||
module.nitrogenCoolingSystem.name=Liquid Nitrogen Cooling System
|
||||
module.mechAssistance.name=Mechanical Assistance
|
||||
module.cmPSD.name=Personal Shrinking Device
|
||||
module.omniProbe.name=Prototype OmniProbe
|
||||
module.dimRiftGen.name=Dimensional Tear Generator
|
||||
|
||||
module.basicPlating.desc=Основная обшивка достаточна тяжела, но хорошо защищает.
|
||||
module.diamondPlating.desc=Продвинутая обшивка легче, прочнее и защищает ещё лучше основной, но её непросто получить.
|
||||
module.energyShield.desc=Энергетические щиты намного легче обшивок, но потребляют энергию.
|
||||
|
@ -92,6 +120,7 @@ module.shears.desc=Подходят для стрижки листьев, шер
|
|||
module.hoe.desc=Автоматическое вспахивающее дополнение, подходящее для вспахивания больших кусков земли.
|
||||
module.luxCapacitor.desc=Излучает практически бесконечное число источников света на стены.
|
||||
module.omniwrench.desc=Ключ, который может взаимодействовать почти с каждым модом.
|
||||
module.fieldTinkerer.desc=Maybe you can't memorize the blueprints, but you should at least be able to fine tune your modules without Inspiration Inc. LLC.
|
||||
module.meleeAssist.desc=Простое дополнение, усиливает удары Вашего силового инструмента.
|
||||
module.plasmaCannon.desc=Use electrical arcs in a containment field to superheat air to a plasma and launch it at enemies.
|
||||
module.railgun.desc=Сборка, которая ускоряет снаряд до сверхзвуковой скорости, применяя магнитную силу. Большая отдача.
|
||||
|
@ -100,10 +129,15 @@ module.basicBattery.desc=Аккумулятор, позволяющий пред
|
|||
module.advancedBattery.desc=Продвинутый аккумулятор, позволяющий предмету хранить больше энергии.
|
||||
module.eliteBattery.desc=Самый продвинутый аккумулятор, позволяющий предмету хранить ещё больше энергии.
|
||||
module.parachute.desc=Парашют для замедления падений. Активируется нажатием клавиши приседания (по-умолч. Shift) в воздухе.
|
||||
module.glider.desc=Tack on some wings to turn downward into forward momentum. Press sneak+forward while falling to activate.
|
||||
module.jetpack.desc=Реактивный ранец позволит Вам прыгать сколько угодно или, по крайней мере, пока у Вас не кончится энергия.
|
||||
module.sprintAssist.desc=Набор серводвигателей, который поможет Вам бежать (дважды нажмите вперёд) и ходить быстрее.
|
||||
module.jumpAssist.desc=Ещё один набор серводвигателей, который поможет Вам прыгать выше.
|
||||
module.swimAssist.desc=By refitting an ion thruster for underwater use, you may be able to add extra forward (or backward) thrust when underwater.
|
||||
module.climbAssist.desc=Пара дополнительных серводвигателей позволит Вам перешагивать выступы высотой 1 метр.
|
||||
module.jetBoots.desc=Jet boots are not as strong as a jetpack, but they should at least be strong enough to counteract gravity.
|
||||
module.shockAbsorber.desc=With some servos, springs, and padding, you should be able to negate a portion of fall damage.
|
||||
module.waterElectrolyzer.desc=When you run out of air, this module will jolt the water around you, electrolyzing a small bubble to breathe from.
|
||||
module.nightVision.desc=Пара усиленных очков поможет Вам хорошо видеть как и в ночное время, так и под водой.
|
||||
module.binoculars.desc=Из-за многочисленных графических проблем с модификацией Optifine, Вы решили взять способность "Приближения" под свой контроль.
|
||||
module.flightControl.desc=Интегрированная схема управления поможет Вам в полёте. Нажмите Z, чтобы снизиться.
|
||||
|
@ -119,9 +153,32 @@ module.hazmat.desc=Защитит Вас от удара электрическ
|
|||
module.aurameter.desc=Встраивает очки Откровения в Ваш шлем. (Не понижает затраты Вис)
|
||||
module.airtightSeal.desc=Делает Вашу броню герметичной, позволяет Вам отправиться на другие планеты.
|
||||
module.grafter.desc=Интегрирует садовый нож модификации Forestry в Ваш силовой инструмент.
|
||||
module.scoop.desc=Сачок, интегрированный в силовой кулак.
|
||||
module.apiaristArmor.desc=Интегрирует костюм пчеловода модификации Forestry в Вашу броню.
|
||||
module.chisel.desc=Это улучшение не позволит Вам обрабатывать блоки, но позволит Вам добывать уже обработанные блоки.
|
||||
module.scoop.desc=Сачок, интегрированный в силовой кулак.
|
||||
module.lightningSummoner.desc=Allows you to summon lightning for a large energy cost.
|
||||
module.portableCraftingTable.desc=A larger crafting grid, on the go.
|
||||
module.kineticGenerator.desc=Generate power with your movement.
|
||||
module.solarGenerator.desc=Let the sun power your adventures.
|
||||
module.thermalGenerator.desc=Generate power from extreme amounts of heat.
|
||||
module.autoFeeder.desc=Whenever you're hungry, this module will grab the bottom-left-most food item from your inventory and feed it to you, storing the rest for later.
|
||||
module.magnet.desc=Generates a magnetic field strong enough to attract items towards the player. WARNING: This module drains power continuously. Turn it off when not needed. (Keybind menu: k)
|
||||
module.oreScanner.desc=A way to see how valuable the land around you is.
|
||||
module.leafBlower.desc=Create a torrent of air to knock plants out of the ground and leaves off of trees.
|
||||
module.mobRepulsor.desc=Pushes mobs away from you when activated, but constantly drains power. It is highly recommended that you set this module to a keybind because of the high energy draw.
|
||||
module.flintAndSteel.desc=A portable igniter that creates fire through the power of energy.
|
||||
module.clock.desc=A clock on the run that shows you the time, no matter where you are. Toggleable by keybinds.
|
||||
module.compass.desc=A compass on the run that shows you your direction, no matter where you are. Toggleable by keybinds.
|
||||
module.waterTank.desc=Store water which can later be used to cool yourself in emergency situations.
|
||||
module.teMultimeter.desc=A prototype multi-use probe integrated into your power tool.
|
||||
module.appengWireless.desc=An Applied Energistics wireless terminal integrated into your power tool.
|
||||
module.appengECWirelessFluid.desc=An Applied Energistics ExtraCells wireless fluid terminal integrated into your power tool.
|
||||
module.advSolarGenerator.desc=A solar generator with 3 times the power generation of the standard solar generator.
|
||||
module.nitrogenCoolingSystem.desc=Cools down heat-producing modules even faster than the standard cooling system.
|
||||
module.mechAssistance.desc=Robotic assistance to reduce the effect of weight on the user
|
||||
module.cmPSD.desc=A Compact Machines Personal Shrinking Device integrated into your power tool.
|
||||
module.omniProbe.desc=A prototype multi-use probe integrated into your power tool.
|
||||
module.dimRiftGen.desc=Generate a tear in the space-time continuum that will teleport the player to its relative coordinates in the nether or overworld.
|
||||
|
||||
gui.noModulesFound.line1=Части модульной силовой брони
|
||||
gui.noModulesFound.line2=не найдены в инвентаре. Сделайте несколько!
|
||||
|
@ -152,3 +209,11 @@ gui.weight=Вес
|
|||
gui.armor=Броня
|
||||
|
||||
nei.jsonShaped=Форменное JSON
|
||||
|
||||
tooltip.pressShift=Press SHIFT for more information.
|
||||
tooltip.componentTooltip=For use in Tinker Table.
|
||||
tooltip.changeModes=Change modes: Sneak+mousewheel.
|
||||
tooltip.energy=Energy:
|
||||
tooltip.noModules=No installed modules! This item is useless until you add some modules at a Tinker Table.
|
||||
tooltip.installedModules=Installed Modules:
|
||||
tooltip.mode=Mode:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Made by users: crafteverywhere, 3TUSK, Joccob
|
||||
Last edited on 8/30/15 1:35 AM EST
|
||||
# Made by users: crafteverywhere, 3TUSK, Joccob
|
||||
# Last edited on 8/30/15 1:35 AM EST
|
||||
|
||||
tile.luxCapacitor.name=光能容器
|
||||
tile.tinkerTable.name=动力装甲改装台
|
||||
|
|
|
@ -27,7 +27,8 @@
|
|||
"Thaumcraft",
|
||||
"GalacticraftCore",
|
||||
"numina",
|
||||
"chisel"
|
||||
"chisel",
|
||||
"ae2wct"
|
||||
],
|
||||
"useDependencyInformation": true
|
||||
|
||||
|
|
Loading…
Reference in a new issue