Getting ready for final 1.7.10 RC build
This commit is contained in:
parent
f134baa092
commit
7247fc7acb
|
@ -15,7 +15,6 @@ buildscript {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
name = "ChickenBones"
|
||||
|
|
|
@ -1,36 +1,36 @@
|
|||
package net.machinemuse.api;
|
||||
|
||||
import cpw.mods.fml.common.Optional;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
* Author: MachineMuse (Claire Semple)
|
||||
* Created: 6:54 AM, 4/28/13
|
||||
*
|
||||
* Ported to Java by lehjr on 11/4/16.
|
||||
*/
|
||||
@Optional.Interface(iface = "forestry.api.apiculture.IArmorApiarist", modid = "Forestry", striprefs = true)
|
||||
public class ApiaristArmor implements IApiaristArmor {
|
||||
private static ApiaristArmor INSTANCE;
|
||||
|
||||
public static ApiaristArmor getInstance() {
|
||||
if (INSTANCE == null)
|
||||
INSTANCE = new ApiaristArmor();
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
|
||||
@Optional.Method(modid = "Forestry")
|
||||
@Override
|
||||
public boolean protectPlayer(EntityPlayer player, ItemStack armor, String cause, boolean doProtect) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "Forestry")
|
||||
@Override
|
||||
public boolean protectEntity(EntityLivingBase player, ItemStack armor, String cause, boolean doProtect) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//package net.machinemuse.api;
|
||||
//
|
||||
//import cpw.mods.fml.common.Optional;
|
||||
//import net.minecraft.entity.EntityLivingBase;
|
||||
//import net.minecraft.entity.player.EntityPlayer;
|
||||
//import net.minecraft.item.ItemStack;
|
||||
//
|
||||
///**
|
||||
// * Author: MachineMuse (Claire Semple)
|
||||
// * Created: 6:54 AM, 4/28/13
|
||||
// *
|
||||
// * Ported to Java by lehjr on 11/4/16.
|
||||
// */
|
||||
//@Optional.Interface(iface = "forestry.api.apiculture.IArmorApiarist", modid = "Forestry", striprefs = true)
|
||||
//public class ApiaristArmor implements IApiaristArmor {
|
||||
// private static ApiaristArmor INSTANCE;
|
||||
//
|
||||
// public static ApiaristArmor getInstance() {
|
||||
// if (INSTANCE == null)
|
||||
// INSTANCE = new ApiaristArmor();
|
||||
// return INSTANCE;
|
||||
// }
|
||||
//
|
||||
//
|
||||
// @Optional.Method(modid = "Forestry")
|
||||
// @Override
|
||||
// public boolean protectPlayer(EntityPlayer player, ItemStack armor, String cause, boolean doProtect) {
|
||||
// return false;
|
||||
// }
|
||||
//
|
||||
// @Optional.Method(modid = "Forestry")
|
||||
// @Override
|
||||
// public boolean protectEntity(EntityLivingBase player, ItemStack armor, String cause, boolean doProtect) {
|
||||
// return false;
|
||||
// }
|
||||
//}
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
package net.machinemuse.api;
|
||||
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
|
||||
/**
|
||||
* Ported to Java by lehjr on 11/4/16.
|
||||
*/
|
||||
public interface IArmorTraits extends IModularItem, IApiaristArmor {
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package net.machinemuse.api.electricity;
|
||||
package net.machinemuse.api;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -16,6 +16,7 @@ public interface IModularItem {
|
|||
/**
|
||||
* Gets the item's extended summary for displaying in the gui.
|
||||
*
|
||||
* @param player
|
||||
* @param stack
|
||||
* @return
|
||||
*/
|
||||
|
@ -38,7 +39,6 @@ public interface IModularItem {
|
|||
*/
|
||||
void drainPlayerEnergy(EntityPlayer player, double drainAmount);
|
||||
|
||||
|
||||
/**
|
||||
* Adds the amount of energy to the player's inventory.
|
||||
*
|
||||
|
@ -47,4 +47,4 @@ public interface IModularItem {
|
|||
* @return
|
||||
*/
|
||||
void givePlayerEnergy(EntityPlayer player, double joulesToGive);
|
||||
}
|
||||
}
|
|
@ -1,11 +1,13 @@
|
|||
package net.machinemuse.api;
|
||||
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||
import net.machinemuse.numina.item.IModeChangingItem;
|
||||
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;
|
||||
|
||||
|
@ -19,13 +21,13 @@ public class ModuleManager {
|
|||
|
||||
public static final String ONLINE = "Active";
|
||||
|
||||
protected static final Map<String, List<ItemStack>> customInstallCosts = new HashMap<>();
|
||||
protected static final Map<String, IPowerModule> moduleMap = new HashMap<>();
|
||||
protected static final List<IPowerModule> moduleList = new ArrayList<>();
|
||||
protected static final List<IPlayerTickModule> playerTickModules = new ArrayList<>();
|
||||
protected static final List<IRightClickModule> rightClickModules = new ArrayList<>();
|
||||
protected static final List<IToggleableModule> toggleableModules = new ArrayList<>();
|
||||
protected static final List<IBlockBreakingModule> blockBreakingModules = new ArrayList<>();
|
||||
protected static final Map<String, List<ItemStack>> customInstallCosts = new HashMap<String, List<ItemStack>>();
|
||||
protected static final Map<String, IPowerModule> moduleMap = new HashMap<String, IPowerModule>();
|
||||
protected static final List<IPowerModule> moduleList = new ArrayList<IPowerModule>();
|
||||
protected static final List<IPlayerTickModule> playerTickModules = new ArrayList<IPlayerTickModule>();
|
||||
protected static final List<IRightClickModule> rightClickModules = new ArrayList<IRightClickModule>();
|
||||
protected static final List<IToggleableModule> toggleableModules = new ArrayList<IToggleableModule>();
|
||||
protected static final List<IBlockBreakingModule> blockBreakingModules = new ArrayList<IBlockBreakingModule>();
|
||||
|
||||
public static List<IPowerModule> getAllModules() {
|
||||
return moduleList;
|
||||
|
@ -81,7 +83,7 @@ public class ModuleManager {
|
|||
return blockBreakingModules;
|
||||
}
|
||||
|
||||
public static List<IPowerModule> getValidModulesForItem(ItemStack stack) {
|
||||
public static List<IPowerModule> getValidModulesForItem(EntityPlayer player, ItemStack stack) {
|
||||
List<IPowerModule> validModules = new ArrayList();
|
||||
for (IPowerModule module : getAllModules()) {
|
||||
if (module.isValidForItem(stack)) {
|
||||
|
@ -91,6 +93,17 @@ public class ModuleManager {
|
|||
return validModules;
|
||||
}
|
||||
|
||||
public static List<String> getValidModes(ItemStack itemStack) {
|
||||
List<String> validModes = new ArrayList<>();
|
||||
|
||||
for (IRightClickModule rightclickModule : getRightClickModules()) {
|
||||
if (rightclickModule.isValidForItem(itemStack) && itemHasModule(itemStack, rightclickModule.getDataName()))
|
||||
validModes.add(rightclickModule.getDataName() );
|
||||
}
|
||||
return validModes;
|
||||
}
|
||||
|
||||
|
||||
public static boolean tagHasModule(NBTTagCompound tag, String moduleName) {
|
||||
return tag.hasKey(moduleName);
|
||||
}
|
||||
|
@ -142,12 +155,20 @@ public class ModuleManager {
|
|||
// playerEntity.sendChatToPlayer("Server has disallowed this module. Sorry!");
|
||||
return false;
|
||||
}
|
||||
if (module instanceof IRightClickModule && itemStack.getItem() instanceof IModeChangingItem) {
|
||||
if (module instanceof IRightClickModule && itemStack.getItem() instanceof IModeChangingModularItem) {
|
||||
// MuseLogger.logDebug("Module: " + moduleName + " vs Mode: " +
|
||||
// MuseItemUtils.getActiveMode(itemStack));
|
||||
IModeChangingItem item = (IModeChangingItem) itemStack.getItem();
|
||||
// MuseItemUtils.getActiveMode(itemStack));
|
||||
IModeChangingModularItem item = (IModeChangingModularItem) itemStack.getItem();
|
||||
String activeMode = NuminaItemUtils.getTagCompound(itemStack).getString("mode");
|
||||
if (!activeMode.isEmpty())
|
||||
return moduleName.equals(activeMode);
|
||||
List<String> validModes = getValidModes(itemStack);
|
||||
|
||||
if (validModes.isEmpty())
|
||||
return false;
|
||||
return validModes.contains(moduleName);
|
||||
// return moduleName.equals(item.getActiveMode(itemStack)); //<--- FIXME!!! creates an endless loop.
|
||||
|
||||
return moduleName.equals(item.getActiveMode(itemStack));
|
||||
} else {
|
||||
return isModuleOnline(MuseItemTag.getMuseItemTag(itemStack), moduleName);
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ public class MuseItemTag {
|
|||
*
|
||||
* @param stack
|
||||
* @return an NBTTagCompound, may be newly created. If stack is null,
|
||||
* returns null.
|
||||
* returns null.
|
||||
*/
|
||||
@Nullable
|
||||
public static NBTTagCompound getMuseItemTag(ItemStack stack) {
|
||||
|
@ -33,4 +33,4 @@ public class MuseItemTag {
|
|||
stackTag.setTag(NBTPREFIX, properties);
|
||||
return properties;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,43 +8,35 @@ import net.minecraft.item.ItemStack;
|
|||
* Ported to Java by lehjr on 11/4/16.
|
||||
*/
|
||||
public class AE2ElectricAdapter extends ElectricAdapter {
|
||||
private final ItemStack stack;
|
||||
private final IAEItemPowerStorage item;
|
||||
ItemStack stack;
|
||||
IAEItemPowerStorage item;
|
||||
|
||||
public AE2ElectricAdapter(final ItemStack stack) {
|
||||
public AE2ElectricAdapter(ItemStack stack) {
|
||||
this.stack = stack;
|
||||
this.item = (IAEItemPowerStorage)stack.getItem();
|
||||
}
|
||||
|
||||
public ItemStack stack() {
|
||||
return this.stack;
|
||||
}
|
||||
|
||||
public IAEItemPowerStorage item() {
|
||||
return this.item;
|
||||
item = (IAEItemPowerStorage) stack.getItem();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getCurrentEnergy() {
|
||||
return ElectricConversions.museEnergyFromAE(this.item().getAECurrentPower(this.stack()));
|
||||
return ElectricConversions.museEnergyFromAE(item.getAECurrentPower(stack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxEnergy() {
|
||||
return ElectricConversions.museEnergyFromAE(this.item().getAEMaxPower(this.stack()));
|
||||
return ElectricConversions.museEnergyFromAE(item.getAEMaxPower(stack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double drainEnergy(final double requested) {
|
||||
return ElectricConversions.museEnergyFromAE(this.item().extractAEPower(this.stack(), ElectricConversions.museEnergyToAE(requested)));
|
||||
public double drainEnergy(double requested) {
|
||||
return ElectricConversions.museEnergyFromAE(item.extractAEPower(stack, ElectricConversions.museEnergyToAE(requested)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double giveEnergy(final double provided) {
|
||||
return ElectricConversions.museEnergyFromAE(this.item().injectAEPower(this.stack(), ElectricConversions.museEnergyToAE(provided)));
|
||||
public double giveEnergy(double provided) {
|
||||
return ElectricConversions.museEnergyFromAE(item.injectAEPower(stack, ElectricConversions.museEnergyToAE(provided)));
|
||||
}
|
||||
|
||||
public AccessRestriction getPowerFlow(final ItemStack stack) {
|
||||
return AccessRestriction.READ_WRITE;
|
||||
public AccessRestriction getPowerFlow(ItemStack stack) {
|
||||
return AccessRestriction.READ_WRITE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,12 +11,21 @@ import net.minecraft.item.ItemStack;
|
|||
* Ported to Java by lehjr on 11/4/16.
|
||||
*/
|
||||
public abstract class ElectricAdapter {
|
||||
public static ElectricAdapter wrap(final ItemStack stack) {
|
||||
if (stack == null) {
|
||||
public static ElectricAdapter wrap(ItemStack stack) {
|
||||
if (stack == null)
|
||||
return null;
|
||||
Item i = stack.getItem();
|
||||
if (i instanceof MuseElectricItem) {
|
||||
return new MuseElectricAdapter(stack);
|
||||
} else if (ModCompatibility.isRFAPILoaded() && i instanceof IEnergyContainerItem) {
|
||||
return new TEElectricAdapter(stack);
|
||||
} else if (ModCompatibility.isIndustrialCraftLoaded() && i instanceof IElectricItem) {
|
||||
return new IC2ElectricAdapter(stack);
|
||||
} else if (ModCompatibility.isAppengLoaded() && i instanceof IAEItemPowerStorage) {
|
||||
return new AE2ElectricAdapter(stack);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
final Item i = stack.getItem();
|
||||
return (i instanceof MuseElectricItem) ? new MuseElectricAdapter(stack) : ((ModCompatibility.isRFAPILoaded() && i instanceof IEnergyContainerItem) ? new TEElectricAdapter(stack) : ((ModCompatibility.isIndustrialCraftLoaded() && i instanceof IElectricItem) ? new IC2ElectricAdapter(stack) : ((ModCompatibility.isAppengLoaded() && i instanceof IAEItemPowerStorage) ? new AE2ElectricAdapter(stack) : null)));
|
||||
}
|
||||
|
||||
public abstract double getCurrentEnergy();
|
||||
|
@ -26,4 +35,4 @@ public abstract class ElectricAdapter {
|
|||
public abstract double drainEnergy(double requested);
|
||||
|
||||
public abstract double giveEnergy(double provided);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,40 +10,40 @@ import net.minecraft.item.ItemStack;
|
|||
*
|
||||
* Ported to Java by lehjr on 11/4/16.
|
||||
*/
|
||||
public final class ElectricConversions {
|
||||
public class ElectricConversions {
|
||||
|
||||
/* Industrialcraft 2 -------------------------------------------------------------------------- */
|
||||
public static final String IC2_TIER = "IC2 Tier";
|
||||
|
||||
public static int getTier(final ItemStack stack) {
|
||||
public static int getTier(ItemStack stack) {
|
||||
return (int) ModuleManager.computeModularProperty(stack, IC2_TIER);
|
||||
}
|
||||
|
||||
public static double museEnergyToEU(final double museEnergy) {
|
||||
public static double museEnergyToEU(double museEnergy) {
|
||||
return museEnergy / ModCompatibility.getIC2Ratio();
|
||||
}
|
||||
|
||||
public static double museEnergyFromEU(final double eu) {
|
||||
public static double museEnergyFromEU(double eu) {
|
||||
return eu * ModCompatibility.getIC2Ratio();
|
||||
}
|
||||
|
||||
|
||||
/* Thermal Expansion -------------------------------------------------------------------------- */
|
||||
public static int museEnergyToRF(final double museEnergy) {
|
||||
public static int museEnergyToRF(double museEnergy) {
|
||||
return (int)Math.ceil(museEnergy / ModCompatibility.getRFRatio());
|
||||
}
|
||||
|
||||
public static double museEnergyFromRF(final int rf) {
|
||||
public static double museEnergyFromRF(int rf) {
|
||||
return rf * ModCompatibility.getRFRatio();
|
||||
}
|
||||
|
||||
|
||||
/* Applied Energistics 2 ---------------------------------------------------------------------- */
|
||||
public static double museEnergyFromAE(final double ae) {
|
||||
public static double museEnergyFromAE(double ae) {
|
||||
return ae * ModCompatibility.getAE2Ratio();
|
||||
}
|
||||
|
||||
public static double museEnergyToAE(final double museEnergy) {
|
||||
public static double museEnergyToAE(double museEnergy) {
|
||||
return museEnergy / ModCompatibility.getAE2Ratio();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,43 +8,36 @@ import net.minecraft.item.ItemStack;
|
|||
* Ported to Java by lehjr on 11/4/16.
|
||||
*/
|
||||
public class IC2ElectricAdapter extends ElectricAdapter {
|
||||
private final ItemStack stack;
|
||||
private final IElectricItem item;
|
||||
ItemStack stack;
|
||||
IElectricItem item;
|
||||
|
||||
public IC2ElectricAdapter(final ItemStack stack) {
|
||||
public IC2ElectricAdapter(ItemStack stack) {
|
||||
this.stack = stack;
|
||||
this.item = (IElectricItem)stack.getItem();
|
||||
}
|
||||
|
||||
public ItemStack stack() {
|
||||
return this.stack;
|
||||
}
|
||||
|
||||
public IElectricItem item() {
|
||||
return this.item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getCurrentEnergy() {
|
||||
return ElectricConversions.museEnergyFromEU(ElectricItem.manager.getCharge(this.stack()));
|
||||
return ElectricConversions.museEnergyFromEU(ElectricItem.manager.getCharge(stack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxEnergy() {
|
||||
return ElectricConversions.museEnergyFromEU(this.item().getMaxCharge(this.stack()));
|
||||
return ElectricConversions.museEnergyFromEU(item.getMaxCharge(stack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double drainEnergy(final double requested) {
|
||||
return ElectricConversions.museEnergyFromEU(ElectricItem.manager.discharge(this.stack(), ElectricConversions.museEnergyToEU(requested), this.getTier(), true, false, false));
|
||||
public double drainEnergy(double requested) {
|
||||
return ElectricConversions.museEnergyFromEU(ElectricItem.manager.discharge(stack, ElectricConversions.museEnergyToEU(requested), getTier(), true, false, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double giveEnergy(final double provided) {
|
||||
return ElectricConversions.museEnergyFromEU(ElectricItem.manager.charge(this.stack(), ElectricConversions.museEnergyToEU(provided), this.getTier(), true, false));
|
||||
public double giveEnergy(double provided) {
|
||||
return ElectricConversions.museEnergyFromEU(ElectricItem.manager.charge(stack, ElectricConversions.museEnergyToEU(provided), getTier(), true, false));
|
||||
}
|
||||
|
||||
public int getTier() {
|
||||
return this.item().getTier(this.stack());
|
||||
return item.getTier(stack);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,6 +4,7 @@ import appeng.api.config.AccessRestriction;
|
|||
import appeng.api.implementations.items.IAEItemPowerStorage;
|
||||
import cofh.api.energy.IEnergyContainerItem;
|
||||
import cpw.mods.fml.common.Optional;
|
||||
import ic2.api.item.IElectricItem;
|
||||
import ic2.api.item.IElectricItemManager;
|
||||
import ic2.api.item.ISpecialElectricItem;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
|
@ -20,11 +21,13 @@ 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)})
|
||||
public interface IMuseElectricItem
|
||||
extends IEnergyContainerItem,
|
||||
@Optional.Interface(iface = "appeng.api.implementations.items.IAEItemPowerStorage", modid = "AE2", striprefs = true)
|
||||
})
|
||||
public interface IMuseElectricItem extends
|
||||
IEnergyContainerItem,
|
||||
ISpecialElectricItem,
|
||||
IElectricItemManager,
|
||||
IElectricItem,
|
||||
IAEItemPowerStorage {
|
||||
/**
|
||||
* Call to get the energy of an item
|
||||
|
@ -68,24 +71,29 @@ public interface IMuseElectricItem
|
|||
*/
|
||||
double giveEnergyTo(ItemStack stack, double provided);
|
||||
|
||||
/**
|
||||
* Override max damage of an item. Nothing to do with power, at all :P
|
||||
*/
|
||||
int getMaxDamage(ItemStack itemStack);
|
||||
|
||||
|
||||
/* Industrialcraft 2 -------------------------------------------------------------------------- */
|
||||
IMuseElectricItem getManager(ItemStack stack);
|
||||
|
||||
@Override
|
||||
void chargeFromArmor(ItemStack itemStack, EntityLivingBase entity);
|
||||
|
||||
@Override
|
||||
boolean use(ItemStack itemStack, double amount, EntityLivingBase entity);
|
||||
|
||||
boolean canProvideEnergy(ItemStack itemStack);
|
||||
|
||||
@Override
|
||||
double getCharge(ItemStack itemStack);
|
||||
Item getChargedItem(ItemStack itemStack);
|
||||
|
||||
@Override
|
||||
Item getEmptyItem(ItemStack itemStack);
|
||||
|
||||
@Override
|
||||
double getMaxCharge(ItemStack itemStack);
|
||||
|
||||
@Override
|
||||
int getTier(ItemStack itemStack);
|
||||
|
||||
@Override
|
||||
double getTransferLimit(ItemStack itemStack);
|
||||
|
||||
@Override
|
||||
|
@ -94,35 +102,51 @@ public interface IMuseElectricItem
|
|||
@Override
|
||||
double discharge(ItemStack itemStack, double amount, int tier, boolean ignoreTransferLimit, boolean externally, boolean simulate);
|
||||
|
||||
@Override
|
||||
double getCharge(ItemStack itemStack);
|
||||
|
||||
@Override
|
||||
boolean canUse(ItemStack itemStack, double amount);
|
||||
|
||||
@Override
|
||||
boolean use(ItemStack itemStack, double amount, EntityLivingBase entity);
|
||||
|
||||
@Override
|
||||
void chargeFromArmor(ItemStack itemStack, EntityLivingBase entity);
|
||||
|
||||
@Override
|
||||
String getToolTip(ItemStack itemStack);
|
||||
|
||||
Item getChargedItem(ItemStack itemStack);
|
||||
|
||||
Item getEmptyItem(ItemStack itemStack);
|
||||
@Override
|
||||
IElectricItemManager getManager(ItemStack itemStack);
|
||||
|
||||
/* Thermal Expansion -------------------------------------------------------------------------- */
|
||||
int receiveEnergy(ItemStack stack, int energy, boolean simulate);
|
||||
@Override
|
||||
int receiveEnergy(ItemStack itemStack, int energy, boolean simulate);
|
||||
|
||||
int extractEnergy(ItemStack stack, int energy, boolean simulate);
|
||||
@Override
|
||||
int extractEnergy(ItemStack itemStack, int energy, boolean simulate);
|
||||
|
||||
int getEnergyStored(ItemStack theItem);
|
||||
@Override
|
||||
int getEnergyStored(ItemStack itemStack);
|
||||
|
||||
int getMaxEnergyStored(ItemStack theItem);
|
||||
@Override
|
||||
int getMaxEnergyStored(ItemStack itemStack);
|
||||
|
||||
int getMaxDamage(ItemStack itemStack);
|
||||
|
||||
/* Applied Energistics 2 ---------------------------------------------------------------------- */
|
||||
double injectAEPower(ItemStack stack, double ae);
|
||||
@Override
|
||||
double injectAEPower(ItemStack itemStack, double ae);
|
||||
|
||||
double extractAEPower(ItemStack stack, double ae);
|
||||
@Override
|
||||
double extractAEPower(ItemStack itemStack, double ae);
|
||||
|
||||
double getAEMaxPower(ItemStack stack);
|
||||
@Override
|
||||
double getAEMaxPower(ItemStack itemStack);
|
||||
|
||||
double getAECurrentPower(ItemStack stack);
|
||||
@Override
|
||||
double getAECurrentPower(ItemStack itemStack);
|
||||
|
||||
AccessRestriction getPowerFlow(ItemStack stack);
|
||||
}
|
||||
@Override
|
||||
AccessRestriction getPowerFlow(ItemStack itemStack);
|
||||
}
|
||||
|
|
|
@ -6,39 +6,31 @@ import net.minecraft.item.ItemStack;
|
|||
* Ported to Java by lehjr on 11/4/16.
|
||||
*/
|
||||
public class MuseElectricAdapter extends ElectricAdapter {
|
||||
private final ItemStack stack;
|
||||
private final MuseElectricItem item;
|
||||
ItemStack stack;
|
||||
MuseElectricItem item;
|
||||
|
||||
public MuseElectricAdapter(final ItemStack stack) {
|
||||
public MuseElectricAdapter(ItemStack stack) {
|
||||
this.stack = stack;
|
||||
this.item = (MuseElectricItem)stack.getItem();
|
||||
}
|
||||
|
||||
public ItemStack stack() {
|
||||
return this.stack;
|
||||
}
|
||||
|
||||
public MuseElectricItem item() {
|
||||
return this.item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getCurrentEnergy() {
|
||||
return this.item().getCurrentEnergy(this.stack());
|
||||
return item.getCurrentEnergy(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxEnergy() {
|
||||
return this.item().getMaxEnergy(this.stack());
|
||||
return item.getMaxEnergy(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double drainEnergy(final double requested) {
|
||||
return this.item().drainEnergyFrom(this.stack(), requested);
|
||||
public double drainEnergy(double requested) {
|
||||
return item.drainEnergyFrom(stack, requested);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double giveEnergy(final double provided) {
|
||||
return this.item().giveEnergyTo(this.stack(), provided);
|
||||
public double giveEnergy(double provided) {
|
||||
return item.giveEnergyTo(stack, provided);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ 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;
|
||||
|
@ -30,6 +31,7 @@ public class MuseElectricItem extends Item implements IMuseElectricItem {
|
|||
* @param stack ItemStack to set
|
||||
* @return Current energy level
|
||||
*/
|
||||
@Override
|
||||
public double getCurrentEnergy(ItemStack stack) {
|
||||
return MuseItemUtils.getDoubleOrZero(stack, ElectricItemUtils.CURRENT_ENERGY);
|
||||
}
|
||||
|
@ -40,6 +42,7 @@ public class MuseElectricItem extends Item implements IMuseElectricItem {
|
|||
* @param stack ItemStack to set
|
||||
* @return Maximum energy level
|
||||
*/
|
||||
@Override
|
||||
public double getMaxEnergy(ItemStack stack) {
|
||||
return ModuleManager.computeModularProperty(stack, ElectricItemUtils.MAXIMUM_ENERGY);
|
||||
}
|
||||
|
@ -50,6 +53,7 @@ public class MuseElectricItem extends Item implements IMuseElectricItem {
|
|||
* @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)));
|
||||
}
|
||||
|
@ -61,6 +65,7 @@ public class MuseElectricItem extends Item implements IMuseElectricItem {
|
|||
* @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) {
|
||||
|
@ -79,10 +84,10 @@ public class MuseElectricItem extends Item implements IMuseElectricItem {
|
|||
* @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;
|
||||
|
@ -92,38 +97,38 @@ public class MuseElectricItem extends Item implements IMuseElectricItem {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxDamage(ItemStack itemStack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Industrialcraft 2 -------------------------------------------------------------------------- */
|
||||
public IMuseElectricItem getManager(ItemStack stack) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void chargeFromArmor(ItemStack itemStack, EntityLivingBase entity) {
|
||||
ElectricItem.rawManager.chargeFromArmor(itemStack, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean use(ItemStack itemStack, double amount, EntityLivingBase entity) {
|
||||
return ElectricItem.rawManager.use(itemStack, ElectricConversions.museEnergyToEU(amount), entity);
|
||||
}
|
||||
|
||||
public boolean canProvideEnergy(ItemStack itemStack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getCharge(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToEU(getCurrentEnergy(itemStack));
|
||||
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)));
|
||||
}
|
||||
|
@ -150,82 +155,99 @@ public class MuseElectricItem extends Item implements IMuseElectricItem {
|
|||
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 "";
|
||||
}
|
||||
|
||||
public Item getChargedItem(ItemStack itemStack) {
|
||||
@Override
|
||||
public IElectricItemManager getManager(ItemStack itemStack) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Item getEmptyItem(ItemStack itemStack) {
|
||||
return this;
|
||||
}
|
||||
|
||||
/* Thermal Expansion -------------------------------------------------------------------------- */
|
||||
public int receiveEnergy(ItemStack stack, int energy, boolean simulate) {
|
||||
double current = getCurrentEnergy(stack);
|
||||
@Override
|
||||
public int receiveEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double receivedME = ElectricConversions.museEnergyFromRF(energy);
|
||||
double eatenME = giveEnergyTo(stack, receivedME);
|
||||
if (simulate) {
|
||||
setCurrentEnergy(stack, current);
|
||||
}
|
||||
double eatenME = giveEnergyTo(itemStack, receivedME);
|
||||
if (simulate) setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToRF(eatenME);
|
||||
}
|
||||
|
||||
public int extractEnergy(ItemStack stack, int energy, boolean simulate) {
|
||||
double current = getCurrentEnergy(stack);
|
||||
@Override
|
||||
public int extractEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double requesteddME = ElectricConversions.museEnergyFromRF(energy);
|
||||
double takenME = drainEnergyFrom(stack, requesteddME);
|
||||
double takenME = drainEnergyFrom(itemStack, requesteddME);
|
||||
if (simulate) {
|
||||
setCurrentEnergy(stack, current);
|
||||
setCurrentEnergy(itemStack, current);
|
||||
}
|
||||
return ElectricConversions.museEnergyToRF(takenME);
|
||||
}
|
||||
|
||||
public int getEnergyStored(ItemStack theItem) {
|
||||
return ElectricConversions.museEnergyToRF(getCurrentEnergy(theItem));
|
||||
@Override
|
||||
public int getEnergyStored(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToRF(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
public int getMaxEnergyStored(ItemStack theItem) {
|
||||
return ElectricConversions.museEnergyToRF(getMaxEnergy(theItem));
|
||||
@Override
|
||||
public int getMaxEnergyStored(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToRF(getMaxEnergy(itemStack));
|
||||
}
|
||||
|
||||
public int getMaxDamage(ItemStack itemStack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Applied Energistics 2 ---------------------------------------------------------------------- */
|
||||
public double injectAEPower(ItemStack stack, double ae) {
|
||||
double current = getCurrentEnergy(stack);
|
||||
@Override
|
||||
public double injectAEPower(ItemStack itemStack, double ae) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double recieved = ElectricConversions.museEnergyFromAE(ae);
|
||||
setCurrentEnergy(stack, current);
|
||||
setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToAE(recieved);
|
||||
}
|
||||
|
||||
public double extractAEPower(ItemStack stack, double ae) {
|
||||
double current = getCurrentEnergy(stack);
|
||||
@Override
|
||||
public double extractAEPower(ItemStack itemStack, double ae) {
|
||||
double current = getCurrentEnergy(itemStack);
|
||||
double taken = ElectricConversions.museEnergyFromAE(ae);
|
||||
setCurrentEnergy(stack, current);
|
||||
setCurrentEnergy(itemStack, current);
|
||||
return ElectricConversions.museEnergyToAE(taken);
|
||||
}
|
||||
|
||||
public double getAEMaxPower(ItemStack stack) {
|
||||
return ElectricConversions.museEnergyToAE(getCurrentEnergy(stack));
|
||||
@Override
|
||||
public double getAEMaxPower(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToAE(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
public double getAECurrentPower(ItemStack stack) {
|
||||
return ElectricConversions.museEnergyToAE(getCurrentEnergy(stack));
|
||||
@Override
|
||||
public double getAECurrentPower(ItemStack itemStack) {
|
||||
return ElectricConversions.museEnergyToAE(getCurrentEnergy(itemStack));
|
||||
}
|
||||
|
||||
public AccessRestriction getPowerFlow(ItemStack stack) {
|
||||
@Override
|
||||
public AccessRestriction getPowerFlow(ItemStack itemStack) {
|
||||
return AccessRestriction.READ_WRITE;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,39 +7,31 @@ import net.minecraft.item.ItemStack;
|
|||
* Ported to Java by lehjr on 11/4/16.
|
||||
*/
|
||||
public class TEElectricAdapter extends ElectricAdapter {
|
||||
private final ItemStack stack;
|
||||
private final IEnergyContainerItem item;
|
||||
ItemStack stack;
|
||||
IEnergyContainerItem item;
|
||||
|
||||
public TEElectricAdapter(final ItemStack stack) {
|
||||
public TEElectricAdapter(ItemStack stack) {
|
||||
this.stack = stack;
|
||||
this.item = (IEnergyContainerItem)stack.getItem();
|
||||
}
|
||||
|
||||
public ItemStack stack() {
|
||||
return this.stack;
|
||||
}
|
||||
|
||||
public IEnergyContainerItem item() {
|
||||
return this.item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getCurrentEnergy() {
|
||||
return ElectricConversions.museEnergyFromRF(this.item().getEnergyStored(this.stack()));
|
||||
return ElectricConversions.museEnergyFromRF(item.getEnergyStored(stack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxEnergy() {
|
||||
return ElectricConversions.museEnergyFromRF(this.item().getMaxEnergyStored(this.stack()));
|
||||
return ElectricConversions.museEnergyFromRF(item.getMaxEnergyStored(stack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double drainEnergy(final double requested) {
|
||||
return ElectricConversions.museEnergyFromRF(this.item().extractEnergy(this.stack(), ElectricConversions.museEnergyToRF(requested), false));
|
||||
public double drainEnergy(double requested) {
|
||||
return ElectricConversions.museEnergyFromRF(item.extractEnergy(stack, ElectricConversions.museEnergyToRF(requested), false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double giveEnergy(final double provided) {
|
||||
return ElectricConversions.museEnergyFromRF(this.item().receiveEnergy(this.stack(), ElectricConversions.museEnergyToRF(provided), false));
|
||||
public double giveEnergy(double provided) {
|
||||
return ElectricConversions.museEnergyFromRF(item.receiveEnergy(stack, ElectricConversions.museEnergyToRF(provided), false));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//import cofh.api.item.IToolHammer
|
||||
//import cpw.mods.fml.common.FMLCommonHandler
|
||||
//import mods.railcraft.api.core.items.IToolCrowbar
|
||||
//import net.machinemuse.api.electricity.IModularItem
|
||||
//import net.machinemuse.api.IModularItem
|
||||
//import net.machinemuse.powersuits.powermodule.tool.{MFFSFieldTeleporterModule, OmniWrenchModule}
|
||||
//import net.machinemuse.utils.ElectricItemUtils
|
||||
//import net.minecraft.entity.item.EntityMinecart
|
||||
|
|
|
@ -67,7 +67,7 @@ public class NBTTagAccessor extends NBTTagCompound {
|
|||
|
||||
public static List<NBTTagCompound> getValues(NBTTagCompound nbt) {
|
||||
Set<String> keyset = (Set<String>) nbt.func_150296_c();
|
||||
ArrayList<NBTTagCompound> a = new ArrayList<>(keyset.size());
|
||||
ArrayList<NBTTagCompound> a = new ArrayList<NBTTagCompound>(keyset.size());
|
||||
for (String key : keyset) {
|
||||
NBTBase c = nbt.getTag(key);
|
||||
if (c instanceof NBTTagCompound) {
|
||||
|
@ -76,4 +76,4 @@ public class NBTTagAccessor extends NBTTagCompound {
|
|||
}
|
||||
return a;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,10 +14,10 @@ import net.minecraft.item.ItemStack;
|
|||
* Ported to Java by lehjr on 10/19/16.
|
||||
*/
|
||||
public class CosmeticGui extends MuseGui {
|
||||
final EntityPlayer player;
|
||||
final int worldx;
|
||||
final int worldy;
|
||||
final int worldz;
|
||||
EntityPlayer player;
|
||||
int worldx;
|
||||
int worldy;
|
||||
int worldz;
|
||||
ItemSelectionFrame itemSelect;
|
||||
ItemStack lastSelectedItem;
|
||||
|
||||
|
@ -60,20 +60,20 @@ public class CosmeticGui extends MuseGui {
|
|||
frames.add(colourpicker);
|
||||
|
||||
PartManipContainer partframe = new PartManipContainer(
|
||||
itemSelect, colourpicker,
|
||||
new MusePoint2D(absX(-0.95F), absY(0.025f)),
|
||||
new MusePoint2D(absX(+0.95F), absY(0.95f)),
|
||||
Colour.LIGHTBLUE.withAlpha(0.8F),
|
||||
Colour.DARKBLUE.withAlpha(0.8F));
|
||||
frames.add(partframe);
|
||||
itemSelect, colourpicker,
|
||||
new MusePoint2D(absX(-0.95F), absY(0.025f)),
|
||||
new MusePoint2D(absX(+0.95F), absY(0.95f)),
|
||||
Colour.LIGHTBLUE.withAlpha(0.8F),
|
||||
Colour.DARKBLUE.withAlpha(0.8F));
|
||||
frames.add(partframe);
|
||||
|
||||
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);
|
||||
}
|
||||
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 update() {
|
||||
|
@ -84,4 +84,4 @@ public class CosmeticGui extends MuseGui {
|
|||
public void drawScreen(int x, int y, float z) {
|
||||
super.drawScreen(x, y, z);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,4 +29,4 @@ public class EnergyMeter extends HeatMeter {
|
|||
RenderState.off2D();
|
||||
MuseTextureUtils.popTexture();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ import net.minecraft.util.StatCollector;
|
|||
* @author MachineMuse
|
||||
*/
|
||||
public class GuiFieldTinker extends MuseGui {
|
||||
protected final EntityClientPlayerMP player;
|
||||
protected EntityClientPlayerMP player;
|
||||
protected ItemSelectionFrame itemSelectFrame;
|
||||
|
||||
/**
|
||||
|
@ -64,4 +64,4 @@ public class GuiFieldTinker extends MuseGui {
|
|||
MuseRenderer.drawCenteredString(StatCollector.translateToLocal("gui.noModulesFound.line2"), centerx, centery + 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ import net.minecraft.util.StatCollector;
|
|||
* @author MachineMuse
|
||||
*/
|
||||
public class GuiTinkerTable extends MuseGui {
|
||||
protected final EntityClientPlayerMP player;
|
||||
protected EntityClientPlayerMP player;
|
||||
protected ItemSelectionFrame itemSelectFrame;
|
||||
protected int worldx;
|
||||
protected int worldy;
|
||||
|
@ -79,4 +79,4 @@ public class GuiTinkerTable extends MuseGui {
|
|||
MuseRenderer.drawCenteredString(StatCollector.translateToLocal("gui.noModulesFound.line2"), centerx, centery + 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,11 +7,11 @@ import net.machinemuse.powersuits.control.KeybindManager;
|
|||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
public class KeyConfigGui extends MuseGui {
|
||||
private final EntityPlayer player;
|
||||
private EntityPlayer player;
|
||||
protected KeybindConfigFrame frame;
|
||||
protected final int worldx;
|
||||
protected final int worldy;
|
||||
protected final int worldz;
|
||||
protected int worldx;
|
||||
protected int worldy;
|
||||
protected int worldz;
|
||||
|
||||
public KeyConfigGui(EntityPlayer player, int x, int y, int z) {
|
||||
super();
|
||||
|
@ -50,4 +50,4 @@ public class KeyConfigGui extends MuseGui {
|
|||
super.onGuiClosed();
|
||||
KeybindManager.writeOutKeybinds();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ public class MuseGui extends GuiScreen {
|
|||
protected DrawableMuseRect backgroundRect;
|
||||
protected DrawableMuseRect tooltipRect;
|
||||
|
||||
protected final List<IGuiFrame> frames;
|
||||
protected List<IGuiFrame> frames;
|
||||
|
||||
public MuseGui() {
|
||||
super();
|
||||
|
@ -292,4 +292,4 @@ public class MuseGui extends GuiScreen {
|
|||
*/
|
||||
public void refresh() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -98,7 +98,7 @@ public class MuseIcon {
|
|||
public static final MuseIcon ARCREACTOR = new MuseIcon("jetboots");
|
||||
public static final MuseIcon PUNCHY = new MuseIcon("jetboots");
|
||||
|
||||
protected final String texturename;
|
||||
protected String texturename;
|
||||
protected IIcon icon;
|
||||
|
||||
public MuseIcon(String texturename) {
|
||||
|
@ -118,4 +118,4 @@ public class MuseIcon {
|
|||
public void register(IIconRegister iconRegister) {
|
||||
icon = iconRegister.registerIcon(ICON_PREFIX + texturename);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,4 +44,4 @@ public class PortableCraftingGui extends GuiContainer {
|
|||
}
|
||||
|
||||
public static final ResourceLocation GUI_Loc = new ResourceLocation(Config.TEXTURE_PREFIX + "gui/crafting.png");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,4 +22,4 @@ public class WaterMeter extends HeatMeter {
|
|||
RenderState.blendingOff();
|
||||
MuseTextureUtils.popTexture();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,4 +39,4 @@ public abstract class Clickable implements IClickable {
|
|||
public List<String> getToolTip() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,9 +14,9 @@ import java.util.List;
|
|||
* @author MachineMuse
|
||||
*/
|
||||
public class ClickableButton extends Clickable {
|
||||
protected final String label;
|
||||
protected final MusePoint2D radius;
|
||||
protected final DrawableMuseRect rect;
|
||||
protected String label;
|
||||
protected MusePoint2D radius;
|
||||
protected DrawableMuseRect rect;
|
||||
protected boolean enabled;
|
||||
|
||||
public ClickableButton(String label, MusePoint2D position, boolean enabled) {
|
||||
|
@ -96,4 +96,4 @@ public class ClickableButton extends Clickable {
|
|||
}
|
||||
|
||||
public String getLabel() { return label; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,8 +19,8 @@ public class ClickableItem extends Clickable {
|
|||
public static final int offsetx = 8;
|
||||
public static final int offsety = 8;
|
||||
public static RenderItem itemRenderer;
|
||||
public final int inventorySlot;
|
||||
protected final ItemStack item;
|
||||
public int inventorySlot;
|
||||
protected ItemStack item;
|
||||
|
||||
public ClickableItem(ItemStack item, MusePoint2D pos, int inventorySlot) {
|
||||
super(pos);
|
||||
|
@ -57,4 +57,4 @@ public class ClickableItem extends Clickable {
|
|||
MuseRenderer.drawString("e", getPosition().x() + 3, getPosition().y() + 1, Colour.DARKGREEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package net.machinemuse.general.gui.clickable;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import net.machinemuse.numina.geometry.Colour;
|
||||
import net.machinemuse.numina.geometry.MusePoint2D;
|
||||
import net.machinemuse.numina.network.PacketSender;
|
||||
|
@ -25,22 +23,22 @@ import java.util.List;
|
|||
/**
|
||||
* Ported to Java by lehjr on 10/19/16.
|
||||
*/
|
||||
public class ClickableKeybinding extends ClickableButton {
|
||||
protected final List<ClickableModule> boundModules = new ArrayList<>();
|
||||
public class ClickableKeybinding extends ClickableButton{
|
||||
protected List<ClickableModule> boundModules = new ArrayList<ClickableModule>();
|
||||
public boolean toggleval = false;
|
||||
public boolean toggled = false;
|
||||
public Boolean displayOnHUD;
|
||||
public final KeyBinding keybind;
|
||||
boolean toggled = false;
|
||||
KeyBinding keybind;
|
||||
public boolean displayOnHUD;
|
||||
|
||||
|
||||
public ClickableKeybinding(KeyBinding keybind, MusePoint2D position, boolean free, Boolean displayOnHUD) {
|
||||
super((keybind.getKeyCode() < 0)? ("Mouse" + (keybind.getKeyCode() + 100)) : Keyboard.getKeyName(keybind.getKeyCode()), position, true);
|
||||
this.displayOnHUD = (displayOnHUD != null) ? displayOnHUD : false;
|
||||
super(ClickableKeybinding.parseName(keybind), position, true);
|
||||
this.keybind = keybind;
|
||||
this.displayOnHUD = (displayOnHUD!= null) ? displayOnHUD : false;
|
||||
|
||||
}
|
||||
|
||||
public String parseName(KeyBinding keybind) {
|
||||
static String parseName(KeyBinding keybind) {
|
||||
if (keybind.getKeyCode() < 0) {
|
||||
return "Mouse" + (keybind.getKeyCode() + 100);
|
||||
}
|
||||
|
@ -68,8 +66,8 @@ public class ClickableKeybinding extends ClickableButton {
|
|||
}
|
||||
|
||||
for (ClickableModule module : boundModules) {
|
||||
String valstring = (toggleval) ? " on" : " off";
|
||||
if ((FMLCommonHandler.instance().getEffectiveSide().equals(Side.CLIENT) && Config.toggleModuleSpam())) {
|
||||
String valstring = (toggleval)? " on" : " off";
|
||||
if ((player.worldObj.isRemote) && Config.toggleModuleSpam()) {
|
||||
player.addChatMessage(new ChatComponentText("Toggled " + module.getModule().getDataName() + valstring));
|
||||
}
|
||||
MuseItemUtils.toggleModuleForPlayer(player, module.getModule().getDataName(), toggleval);
|
||||
|
@ -82,7 +80,6 @@ public class ClickableKeybinding extends ClickableButton {
|
|||
@Override
|
||||
public void draw() {
|
||||
super.draw();
|
||||
|
||||
for (ClickableModule module : boundModules) {
|
||||
MuseRenderer.drawLineBetween(this, module, Colour.LIGHTBLUE);
|
||||
GL11.glPushMatrix();
|
||||
|
@ -116,7 +113,7 @@ public class ClickableKeybinding extends ClickableButton {
|
|||
|
||||
public void unbindFarModules() {
|
||||
Iterator<ClickableModule> iterator = boundModules.iterator();
|
||||
ClickableModule module;
|
||||
ClickableModule module = null;
|
||||
while (iterator.hasNext()) {
|
||||
module = iterator.next();
|
||||
int maxDistance = getTargetDistance() * 2;
|
||||
|
@ -147,7 +144,7 @@ public class ClickableKeybinding extends ClickableButton {
|
|||
return other.keybind.getKeyCode() == this.keybind.getKeyCode();
|
||||
}
|
||||
|
||||
public void toggleHUDState (){
|
||||
public void toggleHUDState(){
|
||||
displayOnHUD = !displayOnHUD;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,8 +6,8 @@ import net.machinemuse.utils.render.MuseRenderer;
|
|||
import java.util.List;
|
||||
|
||||
public class ClickableLabel implements IClickable {
|
||||
protected final String label;
|
||||
protected final MusePoint2D position;
|
||||
protected String label;
|
||||
protected MusePoint2D position;
|
||||
|
||||
public ClickableLabel(String label, MusePoint2D position) {
|
||||
this.label = label;
|
||||
|
@ -52,4 +52,5 @@ public class ClickableLabel implements IClickable {
|
|||
public MusePoint2D getPosition() {
|
||||
return position;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -23,20 +23,19 @@ import java.util.List;
|
|||
* Ported to Java by lehjr on 10/19/16.
|
||||
*/
|
||||
public class ClickableModule extends Clickable {
|
||||
private final IPowerModule module;
|
||||
boolean allowed = true;
|
||||
boolean installed = false;
|
||||
final Colour checkmarkcolour = new Colour(0.0F, 0.667F, 0.0F, 1.0F);
|
||||
IPowerModule module;
|
||||
|
||||
public ClickableModule(IPowerModule module , MusePoint2D position) {
|
||||
public ClickableModule(IPowerModule module, MusePoint2D position){
|
||||
super(position);
|
||||
this.module = module;
|
||||
}
|
||||
|
||||
private boolean allowed = true;
|
||||
private boolean installed = false;
|
||||
private final Colour checkmarkcolour = new Colour(0.0F, 0.667F, 0.0F, 1.0F);
|
||||
|
||||
@Override
|
||||
public List<String> getToolTip() {
|
||||
List<String> toolTipText = new ArrayList<>();
|
||||
List<String> toolTipText = new ArrayList<String>();
|
||||
toolTipText.add(getLocalizedName(getModule()));
|
||||
toolTipText.addAll(MuseStringUtils.wrapStringToLength(getLocalizedDescription(getModule()), 30));
|
||||
return toolTipText;
|
||||
|
@ -73,7 +72,7 @@ public class ClickableModule extends Clickable {
|
|||
MuseRenderer.drawString(string, getPosition().x() + 3, getPosition().y() + 1);
|
||||
}
|
||||
else if (installed) {
|
||||
new GuiIcons.Checkmark(getPosition().x() - 8 + 1, getPosition().y() - 8 + 1, checkmarkcolour, null, null, null, null);
|
||||
new GuiIcons.Checkmark(this.getPosition().x() - 8 + 1, this.getPosition().y() - 8 + 1, this.checkmarkcolour, null, null, null,null);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -88,7 +87,6 @@ public class ClickableModule extends Clickable {
|
|||
return module;
|
||||
}
|
||||
|
||||
// this is bad as there is already a keyword equals in Java
|
||||
public boolean equals(ClickableModule other) {
|
||||
return this.module == other.getModule();
|
||||
}
|
||||
|
@ -100,4 +98,4 @@ public class ClickableModule extends Clickable {
|
|||
public void setInstalled(boolean installed) {
|
||||
this.installed = installed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,72 +13,52 @@ import net.machinemuse.utils.render.MuseRenderer;
|
|||
* Ported to Java by lehjr on 10/19/16.
|
||||
*/
|
||||
public class ClickableSlider extends Clickable {
|
||||
private final MusePoint2D pos;
|
||||
private final double width;
|
||||
private final String name;
|
||||
private final int cornersize;
|
||||
private final DrawableMuseRect insideRect;
|
||||
private final DrawableMuseRect outsideRect;
|
||||
private double valueInternal;
|
||||
double valueInternal = 0;
|
||||
MusePoint2D pos;
|
||||
double width;
|
||||
String name;
|
||||
DrawableMuseRect insideRect;
|
||||
DrawableMuseRect outsideRect;
|
||||
final int cornersize = 3;
|
||||
|
||||
public ClickableSlider(final MusePoint2D pos, final double width, final String name) {
|
||||
public ClickableSlider(MusePoint2D pos, double width, String name) {
|
||||
this.pos = pos;
|
||||
this.width = width;
|
||||
this.name = name;
|
||||
super.position = pos;
|
||||
this.cornersize = 3;
|
||||
this.insideRect = new DrawableMuseRect(this.position.x() - width / 2.0 - this.cornersize(), this.position.y() + 8, 0.0, this.position.y() + 16, Colour.LIGHTBLUE, Colour.ORANGE);
|
||||
this.outsideRect = new DrawableMuseRect(this.position.x() - width / 2.0 - this.cornersize(), this.position.y() + 8, this.position.x() + width / 2.0 + this.cornersize(), this.position.y() + 16, Colour.LIGHTBLUE, Colour.DARKBLUE);
|
||||
this.valueInternal = 0.0;
|
||||
}
|
||||
|
||||
public MusePoint2D pos() {
|
||||
return this.pos;
|
||||
}
|
||||
|
||||
public double width() {
|
||||
return this.width;
|
||||
this.position = pos;
|
||||
this.insideRect = new DrawableMuseRect(position.x() - width / 2.0 - cornersize, position.y() + 8, 0, position.y() + 16, Colour.LIGHTBLUE, Colour.ORANGE);
|
||||
this.outsideRect = new DrawableMuseRect(position.x() - width / 2.0 - cornersize, position.y() + 8, position.x() + width / 2.0 + cornersize, position.y() + 16, Colour.LIGHTBLUE, Colour.DARKBLUE);
|
||||
}
|
||||
|
||||
public String name() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public int cornersize() {
|
||||
return this.cornersize;
|
||||
}
|
||||
|
||||
public DrawableMuseRect insideRect() {
|
||||
return this.insideRect;
|
||||
}
|
||||
|
||||
public DrawableMuseRect outsideRect() {
|
||||
return this.outsideRect;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw() {
|
||||
MuseRenderer.drawCenteredString(this.name(), this.position.x(), this.position.y());
|
||||
this.insideRect().setRight(this.position.x() + this.width() * (this.value() - 0.5) + this.cornersize());
|
||||
this.outsideRect().draw();
|
||||
this.insideRect().draw();
|
||||
MuseRenderer.drawCenteredString(name, position.x(), position.y());
|
||||
this.insideRect.setRight(position.x() + width * (value() - 0.5) + cornersize);
|
||||
this.outsideRect.draw();
|
||||
this.insideRect.draw();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hitBox(final double x, final double y) {
|
||||
return Math.abs(this.position.x() - x) < this.width() / 2 && Math.abs(this.position.y() + 12 - y) < 4;
|
||||
public boolean hitBox(double x, double y) {
|
||||
return Math.abs(position.x() - x) < width / 2 &&
|
||||
Math.abs(position.y() + 12 - y) < 4;
|
||||
}
|
||||
|
||||
public double value() {
|
||||
return this.valueInternal;
|
||||
return valueInternal;
|
||||
}
|
||||
|
||||
public void setValueByX(final double x) {
|
||||
final double v = (x - this.pos().x()) / this.width() + 0.5;
|
||||
this.valueInternal = (MuseMathUtils.clampDouble(v, 0.0, 1.0));
|
||||
public void setValueByX(double x) {
|
||||
double v = (x - pos.x()) / width + 0.5;
|
||||
valueInternal = MuseMathUtils.clampDouble(v, 0, 1);
|
||||
}
|
||||
|
||||
public void setValue(final double v) {
|
||||
this.valueInternal = v;
|
||||
public void setValue(double v) {
|
||||
valueInternal = v;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,25 +8,21 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
* Ported to Java by lehjr on 10/19/16.
|
||||
*/
|
||||
public class ClickableTinkerSlider extends ClickableSlider {
|
||||
private final NBTTagCompound moduleTag;
|
||||
NBTTagCompound moduleTag;
|
||||
|
||||
public ClickableTinkerSlider(final MusePoint2D topmiddle, final double width, final NBTTagCompound moduleTag, final String name) {
|
||||
public ClickableTinkerSlider(MusePoint2D topmiddle, double width, NBTTagCompound moduleTag, String name) {
|
||||
super(topmiddle, width, name);
|
||||
this.moduleTag = moduleTag;
|
||||
}
|
||||
|
||||
public NBTTagCompound moduleTag() {
|
||||
return this.moduleTag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double value() {
|
||||
return this.moduleTag().hasKey(super.name()) ? this.moduleTag().getDouble(super.name()) : 0.0;
|
||||
return (moduleTag.hasKey(name)) ? moduleTag.getDouble(name) : 0;
|
||||
}
|
||||
|
||||
public void moveSlider(final double x, final double y) {
|
||||
final double xval = this.position.x() - x;
|
||||
final double xratio = MuseMathUtils.clampDouble(0.5 - xval / super.width(), 0.0, 1.0);
|
||||
this.moduleTag().setDouble(super.name(), xratio);
|
||||
public void moveSlider(double x, double y) {
|
||||
double xval = position.x() - x;
|
||||
double xratio = MuseMathUtils.clampDouble(0.5 - (xval / width), 0, 1);
|
||||
moduleTag.setDouble(name, xratio);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,4 +15,4 @@ public interface IClickable {
|
|||
boolean hitBox(double x, double y);
|
||||
|
||||
List getToolTip();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ import java.util.List;
|
|||
|
||||
public class DetailedSummaryFrame extends ScrollableFrame {
|
||||
public static final double SCALEFACTOR = 1;
|
||||
protected final EntityPlayer player;
|
||||
protected EntityPlayer player;
|
||||
protected double weight;
|
||||
protected double energy;
|
||||
protected double armor;
|
||||
|
@ -71,8 +71,7 @@ public class DetailedSummaryFrame extends ScrollableFrame {
|
|||
valueWidth = MuseRenderer.getStringWidth(formattedValue);
|
||||
allowedNameWidth = border.width() - valueWidth - margin * 2;
|
||||
namesList = MuseStringUtils.wrapStringToVisualLength(name, allowedNameWidth);
|
||||
assert namesList != null;
|
||||
for(int i = 0; i<namesList.size(); i++) {
|
||||
for(int i=0; i<namesList.size();i++) {
|
||||
MuseRenderer.drawString(namesList.get(i), border.left() + margin, nexty + 9*i);
|
||||
}
|
||||
MuseRenderer.drawRightAlignedString(formattedValue, border.right() - margin, nexty + 9 * (namesList.size() - 1) / 2);
|
||||
|
@ -83,8 +82,7 @@ public class DetailedSummaryFrame extends ScrollableFrame {
|
|||
valueWidth = MuseRenderer.getStringWidth(formattedValue);
|
||||
allowedNameWidth = border.width() - valueWidth - margin * 2;
|
||||
namesList = MuseStringUtils.wrapStringToVisualLength(name, allowedNameWidth);
|
||||
assert namesList != null;
|
||||
for(int i = 0; i<namesList.size(); i++) {
|
||||
for(int i=0; i<namesList.size();i++) {
|
||||
MuseRenderer.drawString(namesList.get(i), border.left() + margin, nexty + 9*i);
|
||||
}
|
||||
MuseRenderer.drawRightAlignedString(formattedValue, border.right() - margin, nexty + 9 * (namesList.size() - 1) / 2);
|
||||
|
@ -110,4 +108,4 @@ public class DetailedSummaryFrame extends ScrollableFrame {
|
|||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,4 +13,4 @@ public interface IGuiFrame {
|
|||
void draw();
|
||||
|
||||
List<String> getToolTip(int x, int y);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,11 +25,11 @@ import java.util.List;
|
|||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class InstallSalvageFrame extends ScrollableFrame {
|
||||
protected final ItemSelectionFrame targetItem;
|
||||
protected final ModuleSelectionFrame targetModule;
|
||||
protected final ClickableButton installButton;
|
||||
protected final ClickableButton salvageButton;
|
||||
protected final EntityClientPlayerMP player;
|
||||
protected ItemSelectionFrame targetItem;
|
||||
protected ModuleSelectionFrame targetModule;
|
||||
protected ClickableButton installButton;
|
||||
protected ClickableButton salvageButton;
|
||||
protected EntityClientPlayerMP player;
|
||||
|
||||
public InstallSalvageFrame(EntityClientPlayerMP player, MusePoint2D topleft,
|
||||
MusePoint2D bottomright,
|
||||
|
@ -176,4 +176,4 @@ public class InstallSalvageFrame extends ScrollableFrame {
|
|||
PacketSender.sendToServer(newpacket.getPacket131());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package net.machinemuse.general.gui.frame;
|
||||
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.general.gui.clickable.ClickableItem;
|
||||
import net.machinemuse.numina.geometry.Colour;
|
||||
import net.machinemuse.numina.geometry.MusePoint2D;
|
||||
|
@ -14,8 +14,8 @@ import java.util.List;
|
|||
|
||||
public class ItemInfoFrame extends ScrollableFrame {
|
||||
public static final double SCALEFACTOR = 1;
|
||||
protected final ItemSelectionFrame target;
|
||||
protected final EntityPlayer player;
|
||||
protected ItemSelectionFrame target;
|
||||
protected EntityPlayer player;
|
||||
protected List<String> info;
|
||||
|
||||
public ItemInfoFrame(EntityPlayer player, MusePoint2D topleft,
|
||||
|
@ -77,4 +77,4 @@ public class ItemInfoFrame extends ScrollableFrame {
|
|||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import net.machinemuse.powersuits.client.render.item.IArmorModel;
|
|||
import net.machinemuse.powersuits.item.ItemPowerArmor;
|
||||
import net.machinemuse.utils.MuseItemUtils;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.model.ModelBiped;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import org.lwjgl.input.Mouse;
|
||||
|
@ -24,110 +25,101 @@ import java.util.List;
|
|||
* Ported to Java by lehjr on 11/2/16.
|
||||
*/
|
||||
public class ItemModelViewFrame implements IGuiFrame {
|
||||
private final ItemSelectionFrame itemSelector;
|
||||
private final DrawableMuseRect border;
|
||||
private double anchorx;
|
||||
private double anchory;
|
||||
private int dragging;
|
||||
private double lastdWheel;
|
||||
private double rotx;
|
||||
private double roty;
|
||||
private double offsetx;
|
||||
private double offsety;
|
||||
private double zoom;
|
||||
ItemSelectionFrame itemSelector;
|
||||
DrawableMuseRect border;
|
||||
|
||||
public ItemModelViewFrame(final ItemSelectionFrame itemSelector, final MusePoint2D topleft, final MusePoint2D bottomright, final Colour borderColour, final Colour insideColour) {
|
||||
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) {
|
||||
this.itemSelector = itemSelector;
|
||||
this.border = new DrawableMuseRect(topleft, bottomright, borderColour, insideColour);
|
||||
this.anchorx = 0.0;
|
||||
this.anchory = 0.0;
|
||||
this.dragging = -1;
|
||||
this.lastdWheel = 0.0;
|
||||
this.rotx = 0.0;
|
||||
this.roty = 0.0;
|
||||
this.offsetx = 0.0;
|
||||
this.offsety = 0.0;
|
||||
this.zoom = 64.0;
|
||||
}
|
||||
|
||||
public int getArmorSlot() {
|
||||
return ((ItemPowerArmor)this.getSelectedItem().getItem().getItem()).armorType;
|
||||
int getArmorSlot() {
|
||||
return ((ItemPowerArmor)getSelectedItem().getItem().getItem()).armorType;
|
||||
}
|
||||
|
||||
public ClickableItem getSelectedItem() {
|
||||
return this.itemSelector.getSelectedItem();
|
||||
ClickableItem getSelectedItem() {
|
||||
return itemSelector.getSelectedItem();
|
||||
}
|
||||
|
||||
public NBTTagCompound getRenderTag() {
|
||||
return MuseItemUtils.getMuseRenderTag(this.getSelectedItem().getItem(), this.getArmorSlot());
|
||||
NBTTagCompound getRenderTag() {
|
||||
return MuseItemUtils.getMuseRenderTag(getSelectedItem().getItem(), getArmorSlot());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMouseDown(final double x, final double y, final int button) {
|
||||
if (this.border.containsPoint(x, y)) {
|
||||
this.dragging = button;
|
||||
this.anchorx = x;
|
||||
this.anchory = y;
|
||||
public void onMouseDown(double x, double y, int button) {
|
||||
if (border.containsPoint(x, y)) {
|
||||
dragging = button;
|
||||
anchorx = x;
|
||||
anchory = y;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMouseUp(final double x, final double y, final int button) {
|
||||
this.dragging = -1;
|
||||
public void onMouseUp(double x, double y, int button) {
|
||||
dragging = -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(final double mousex, final double mousey) {
|
||||
if (this.border.containsPoint(mousex, mousey)) {
|
||||
final double dscroll = (this.lastdWheel - Mouse.getDWheel()) / 120;
|
||||
this.zoom = (this.zoom * Math.pow(1.1, dscroll));
|
||||
this.lastdWheel = Mouse.getDWheel();
|
||||
public void update(double mousex, double mousey) {
|
||||
if (border.containsPoint(mousex, mousey)) {
|
||||
double dscroll = (lastdWheel - Mouse.getDWheel()) / 120;
|
||||
zoom = zoom * Math.pow(1.1, dscroll);
|
||||
lastdWheel = Mouse.getDWheel();
|
||||
}
|
||||
final double dx = mousex - this.anchorx;
|
||||
final double dy = mousey - this.anchory;
|
||||
switch (this.dragging) {
|
||||
double dx = mousex - anchorx;
|
||||
double dy = mousey - anchory;
|
||||
switch(dragging) {
|
||||
case 0: {
|
||||
this.rotx = MuseMathUtils.clampDouble(this.rotx + dy, -90.0, 90.0);
|
||||
this.roty = this.roty - dx;
|
||||
this.anchorx = mousex;
|
||||
this.anchory = mousey;
|
||||
rotx = MuseMathUtils.clampDouble((rotx + dy), -90, 90);
|
||||
roty = (roty - dx);
|
||||
anchorx = mousex;
|
||||
anchory = mousey;
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
this.offsetx = this.offsetx + dx;
|
||||
this.offsety = this.offsety + dy;
|
||||
this.anchorx = mousex;
|
||||
this.anchory = mousey;
|
||||
offsetx = (offsetx + dx);
|
||||
offsety = (offsety + dy);
|
||||
anchorx = mousex;
|
||||
anchory = mousey;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw() {
|
||||
final Minecraft mc = Minecraft.getMinecraft();
|
||||
this.border.draw();
|
||||
if (this.itemSelector.getSelectedItem() != null && this.getSelectedItem().getItem().getItem() instanceof ItemPowerArmor) {
|
||||
GL11.glPushMatrix();
|
||||
((IArmorModel)ArmorModelInstance.getInstance()).setRenderSpec((MuseItemUtils.getMuseRenderTag(this.getSelectedItem().getItem(), this.getArmorSlot())));
|
||||
((IArmorModel)ArmorModelInstance.getInstance()).setVisibleSection(this.getArmorSlot());
|
||||
GL11.glTranslated(this.border.centerx() + this.offsetx, this.border.centery() + this.offsety, 0.0);
|
||||
GL11.glScaled(this.zoom, this.zoom, this.zoom);
|
||||
GL11.glClear(256);
|
||||
GL11.glDisable(2884);
|
||||
GL11.glRotatef((float)this.rotx, 1.0f, 0.0f, 0.0f);
|
||||
GL11.glRotatef((float)this.roty, 0.0f, 1.0f, 0.0f);
|
||||
GL11.glTranslated(0.0, -this.getArmorSlot() / 2.0, 0.0);
|
||||
ArmorModelInstance.getInstance().render((Entity)mc.thePlayer, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0625f);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
Minecraft mc = Minecraft.getMinecraft();
|
||||
border.draw();
|
||||
if (itemSelector.getSelectedItem() == null || !(getSelectedItem().getItem().getItem() instanceof ItemPowerArmor)) return;
|
||||
GL11.glPushMatrix();
|
||||
((IArmorModel)ArmorModelInstance.getInstance()).setRenderSpec(MuseItemUtils.getMuseRenderTag(getSelectedItem().getItem(), getArmorSlot()));
|
||||
((IArmorModel)ArmorModelInstance.getInstance()).setVisibleSection(this.getArmorSlot());
|
||||
GL11.glTranslated(border.centerx() + offsetx, border.centery() + offsety, 0);
|
||||
GL11.glScaled(zoom, zoom, zoom);
|
||||
GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glRotatef((float) rotx, 1, 0, 0);
|
||||
GL11.glRotatef((float) roty, 0, 1, 0);
|
||||
GL11.glTranslated(0, -getArmorSlot() / 2.0, 0);
|
||||
((ModelBiped)ArmorModelInstance.getInstance()).render((Entity)mc.thePlayer, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0625f);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getToolTip(final int x, final int y) {
|
||||
public List<String> getToolTip(int x, int y) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ import java.util.List;
|
|||
public class ItemSelectionFrame extends ScrollableFrame {
|
||||
protected List<ClickableItem> itemButtons;
|
||||
protected int selectedItemStack = -1;
|
||||
protected final EntityPlayer player;
|
||||
protected EntityPlayer player;
|
||||
protected List<MusePoint2D> itemPoints;
|
||||
|
||||
public ItemSelectionFrame(MusePoint2D topleft, MusePoint2D bottomright,
|
||||
|
@ -48,7 +48,7 @@ public class ItemSelectionFrame extends ScrollableFrame {
|
|||
|
||||
private void loadItems() {
|
||||
if (player != null) {
|
||||
itemButtons = new ArrayList<>();
|
||||
itemButtons = new ArrayList<ClickableItem>();
|
||||
double centerx = (border.left() + border.right()) / 2;
|
||||
double centery = (border.top() + border.bottom()) / 2;
|
||||
List<Integer> slots = MuseItemUtils
|
||||
|
@ -145,4 +145,4 @@ public class ItemSelectionFrame extends ScrollableFrame {
|
|||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,16 +28,16 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
public class KeybindConfigFrame implements IGuiFrame {
|
||||
protected final Set<ClickableModule> modules;
|
||||
protected Set<ClickableModule> modules;
|
||||
protected IClickable selectedClickie;
|
||||
protected ClickableKeybinding closestKeybind;
|
||||
protected final EntityPlayer player;
|
||||
protected final MusePoint2D ul;
|
||||
protected final MusePoint2D br;
|
||||
protected final MuseGui gui;
|
||||
protected EntityPlayer player;
|
||||
protected MusePoint2D ul;
|
||||
protected MusePoint2D br;
|
||||
protected MuseGui gui;
|
||||
protected boolean selecting;
|
||||
protected final ClickableButton newKeybindButton;
|
||||
protected final ClickableButton trashKeybindButton;
|
||||
protected ClickableButton newKeybindButton;
|
||||
protected ClickableButton trashKeybindButton;
|
||||
protected long takenTime;
|
||||
|
||||
public KeybindConfigFrame(MuseGui gui, MusePoint2D ul, MusePoint2D br, EntityPlayer player) {
|
||||
|
@ -293,4 +293,4 @@ public class KeybindConfigFrame implements IGuiFrame {
|
|||
ClickableKeybinding clickie = new ClickableKeybinding(keybind, newKeybindButton.getPosition().plus(new MusePoint2D(0, -20)), free, false);
|
||||
KeybindManager.getKeybindings().add(clickie);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ import org.lwjgl.opengl.GL11;
|
|||
import java.util.*;
|
||||
|
||||
public class ModuleSelectionFrame extends ScrollableFrame {
|
||||
protected final ItemSelectionFrame target;
|
||||
protected ItemSelectionFrame target;
|
||||
protected Map<String, ModuleSelectionSubFrame> categories;
|
||||
protected List<ClickableModule> moduleButtons;
|
||||
protected int selectedModule = -1;
|
||||
|
@ -29,8 +29,8 @@ public class ModuleSelectionFrame extends ScrollableFrame {
|
|||
super(topleft, bottomright, borderColour, insideColour);
|
||||
this.target = target;
|
||||
|
||||
moduleButtons = new ArrayList<>();
|
||||
categories = new HashMap<>();
|
||||
moduleButtons = new ArrayList<ClickableModule>();
|
||||
categories = new HashMap<String, ModuleSelectionSubFrame>();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -94,10 +94,10 @@ public class ModuleSelectionFrame extends ScrollableFrame {
|
|||
this.lastPosition = null;
|
||||
ClickableItem selectedItem = target.getSelectedItem();
|
||||
if (selectedItem != null) {
|
||||
moduleButtons = new ArrayList<>();
|
||||
categories = new HashMap<>();
|
||||
moduleButtons = new ArrayList<ClickableModule>();
|
||||
categories = new HashMap<String, ModuleSelectionSubFrame>();
|
||||
|
||||
List<IPowerModule> workingModules = ModuleManager.getValidModulesForItem(selectedItem.getItem());
|
||||
List<IPowerModule> workingModules = ModuleManager.getValidModulesForItem(null, selectedItem.getItem());
|
||||
|
||||
// Prune the list of disallowed modules, if not installed on this
|
||||
// item.
|
||||
|
@ -198,4 +198,4 @@ public class ModuleSelectionFrame extends ScrollableFrame {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,14 +11,14 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
public class ModuleSelectionSubFrame {
|
||||
protected final List<ClickableModule> moduleButtons;
|
||||
protected final MuseRelativeRect border;
|
||||
protected final String category;
|
||||
protected List<ClickableModule> moduleButtons;
|
||||
protected MuseRelativeRect border;
|
||||
protected String category;
|
||||
|
||||
public ModuleSelectionSubFrame(String category, MuseRelativeRect border) {
|
||||
this.category = category;
|
||||
this.border = border;
|
||||
this.moduleButtons = new ArrayList<>();
|
||||
this.moduleButtons = new ArrayList<ClickableModule>();
|
||||
}
|
||||
|
||||
// public void draw() {
|
||||
|
@ -62,4 +62,4 @@ public class ModuleSelectionSubFrame {
|
|||
public MuseRect getBorder() {
|
||||
return border;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,6 +63,7 @@ public class ModuleTweakFrame extends ScrollableFrame {
|
|||
if (selectedSlider != null) {
|
||||
selectedSlider.moveSlider(mousex, mousey);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -98,7 +99,7 @@ public class ModuleTweakFrame extends ScrollableFrame {
|
|||
NBTTagCompound moduleTag = itemTag.getCompoundTag(module.getDataName());
|
||||
|
||||
propertyStrings = new HashMap();
|
||||
Set<String> tweaks = new HashSet<>();
|
||||
Set<String> tweaks = new HashSet<String>();
|
||||
|
||||
Map<String, List<IPropertyModifier>> propertyModifiers = module.getPropertyModifiers();
|
||||
for (Map.Entry<String, List<IPropertyModifier>> property : propertyModifiers.entrySet()) {
|
||||
|
@ -110,6 +111,7 @@ public class ModuleTweakFrame extends ScrollableFrame {
|
|||
}
|
||||
}
|
||||
propertyStrings.put(property.getKey(), currValue);
|
||||
|
||||
}
|
||||
|
||||
sliders = new LinkedList();
|
||||
|
@ -155,4 +157,4 @@ public class ModuleTweakFrame extends ScrollableFrame {
|
|||
selectedSlider = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ public class ScrollableFrame implements IGuiFrame {
|
|||
protected boolean scrollupPicked = false;
|
||||
protected int lastdWheel = Mouse.getDWheel();
|
||||
|
||||
protected final DrawableMuseRect border;
|
||||
protected DrawableMuseRect border;
|
||||
|
||||
public ScrollableFrame(MusePoint2D topleft, MusePoint2D bottomright,
|
||||
Colour borderColour, Colour insideColour) {
|
||||
|
@ -97,4 +97,4 @@ public class ScrollableFrame implements IGuiFrame {
|
|||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,9 +13,9 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
public class StatsFrame extends ScrollableFrame {
|
||||
protected final NBTTagCompound properties;
|
||||
protected final ItemStack stack;
|
||||
protected final Set<String> propertiesToList;
|
||||
protected NBTTagCompound properties;
|
||||
protected ItemStack stack;
|
||||
protected Set<String> propertiesToList;
|
||||
|
||||
public StatsFrame(MusePoint2D topleft, MusePoint2D bottomright,
|
||||
Colour borderColour, Colour insideColour, ItemStack stack) {
|
||||
|
@ -58,4 +58,4 @@ public class StatsFrame extends ScrollableFrame {
|
|||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,14 +17,13 @@ import java.util.Map;
|
|||
* Ported to Java by lehjr on 10/19/16.
|
||||
*/
|
||||
public class TabSelectFrame implements IGuiFrame {
|
||||
final EntityPlayer p;
|
||||
final MusePoint2D topleft;
|
||||
final MusePoint2D bottomright;
|
||||
final int worldx;
|
||||
final int worldy;
|
||||
final int worldz;
|
||||
|
||||
final Map<ClickableButton, Integer> buttons = new HashMap<>();
|
||||
EntityPlayer p;
|
||||
MusePoint2D topleft;
|
||||
MusePoint2D bottomright;
|
||||
int worldx;
|
||||
int worldy;
|
||||
int worldz;
|
||||
Map<ClickableButton, Integer> buttons = new HashMap<>();
|
||||
|
||||
public TabSelectFrame(EntityPlayer p, MusePoint2D topleft, MusePoint2D bottomright, int worldx, int worldy, int worldz) {
|
||||
this.p = p;
|
||||
|
@ -68,4 +67,4 @@ public class TabSelectFrame implements IGuiFrame {
|
|||
public List<String> getToolTip(int x, int y) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ import static org.lwjgl.opengl.GL11.*;
|
|||
public class RenderLuxCapacitorTESR extends MuseTESR implements ISimpleBlockRenderingHandler {
|
||||
protected static WavefrontObject lightmodel;
|
||||
protected static WavefrontObject framemodel;
|
||||
protected final int renderId;
|
||||
protected int renderId;
|
||||
|
||||
public RenderLuxCapacitorTESR(int renderId) {
|
||||
this.renderId = renderId;
|
||||
|
|
|
@ -11,7 +11,7 @@ import java.util.Random;
|
|||
public class TinkerTableModel extends ModelBase {
|
||||
// public float onGround;
|
||||
// public boolean isRiding = false;
|
||||
protected final ModelBase model = new ModelBase() {
|
||||
protected ModelBase model = new ModelBase() {
|
||||
};
|
||||
|
||||
private static final Random random = new Random();
|
||||
|
@ -29,26 +29,26 @@ public class TinkerTableModel extends ModelBase {
|
|||
// public int textureWidth = 64;
|
||||
// public int textureHeight = 32;
|
||||
|
||||
final ModelRenderer cube;
|
||||
final ModelRenderer screen3;
|
||||
final ModelRenderer screen2;
|
||||
final ModelRenderer screen1;
|
||||
final ModelRenderer middletable;
|
||||
final ModelRenderer uppertable;
|
||||
final ModelRenderer particles;
|
||||
final ModelRenderer footbase;
|
||||
final ModelRenderer foot1;
|
||||
final ModelRenderer fatfoot2;
|
||||
final ModelRenderer fatfoot1;
|
||||
final ModelRenderer backsupport;
|
||||
final ModelRenderer tank3;
|
||||
final ModelRenderer tank2;
|
||||
final ModelRenderer tank1;
|
||||
final ModelRenderer wireshort4;
|
||||
final ModelRenderer wireshort3;
|
||||
final ModelRenderer wireshort2;
|
||||
final ModelRenderer Wireshort1;
|
||||
final ModelRenderer Wirelong1;
|
||||
ModelRenderer cube;
|
||||
ModelRenderer screen3;
|
||||
ModelRenderer screen2;
|
||||
ModelRenderer screen1;
|
||||
ModelRenderer middletable;
|
||||
ModelRenderer uppertable;
|
||||
ModelRenderer particles;
|
||||
ModelRenderer footbase;
|
||||
ModelRenderer foot1;
|
||||
ModelRenderer fatfoot2;
|
||||
ModelRenderer fatfoot1;
|
||||
ModelRenderer backsupport;
|
||||
ModelRenderer tank3;
|
||||
ModelRenderer tank2;
|
||||
ModelRenderer tank1;
|
||||
ModelRenderer wireshort4;
|
||||
ModelRenderer wireshort3;
|
||||
ModelRenderer wireshort2;
|
||||
ModelRenderer Wireshort1;
|
||||
ModelRenderer Wirelong1;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -175,8 +175,7 @@ public class TinkerTableModel extends ModelBase {
|
|||
setRotation(Wirelong1, 0F, 0F, 0F);
|
||||
}
|
||||
|
||||
public void doRender(Entity entity, double x, double y, double z,
|
||||
float f1) {
|
||||
public void doRender(Entity entity, double x, double y, double z, float f1) {
|
||||
float f = 0.0625f;
|
||||
RenderState.blendingOn();
|
||||
int timestep = (int) ((System.currentTimeMillis()) % 10000);
|
||||
|
|
|
@ -18,8 +18,8 @@ import org.lwjgl.opengl.GL11;
|
|||
* @author MachineMuse
|
||||
*/
|
||||
public class TinkerTableRenderer extends MuseTESR implements ISimpleBlockRenderingHandler {
|
||||
protected final TinkerTableModel model;
|
||||
protected final int renderId;
|
||||
protected TinkerTableModel model;
|
||||
protected int renderId;
|
||||
|
||||
public TinkerTableRenderer(int renderId) {
|
||||
model = new TinkerTableModel();
|
||||
|
@ -71,4 +71,4 @@ public class TinkerTableRenderer extends MuseTESR implements ISimpleBlockRenderi
|
|||
public int getRenderId() {
|
||||
return renderId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,4 +13,4 @@ public abstract class MuseRender extends Render {
|
|||
protected ResourceLocation getEntityTexture(Entity entity) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,4 +74,4 @@ public class RenderPlasmaBolt extends MuseRender {
|
|||
RenderState.glowOff();
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,4 +38,4 @@ public class RenderSpinningBlade extends MuseRender {
|
|||
glPopAttrib();
|
||||
glPopMatrix();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -130,7 +130,7 @@ public class SMovingArmorModel extends ModelPlayer implements IArmorModel {
|
|||
aimedBow = true;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
|
||||
bipedHead.isHidden = false;
|
||||
|
|
|
@ -26,41 +26,41 @@ public class ToolModel extends ModelBase {
|
|||
public int boltSize;
|
||||
|
||||
// fields
|
||||
final ModelRenderer mainarm;
|
||||
final ModelRenderer armorright;
|
||||
final ModelRenderer armorleft;
|
||||
final ModelRenderer wristtopright;
|
||||
final ModelRenderer wristtopleft;
|
||||
final ModelRenderer wristbottomright;
|
||||
final ModelRenderer wristbottomleft;
|
||||
final ModelRenderer index1;
|
||||
final ModelRenderer index2;
|
||||
final ModelRenderer middlefinger1;
|
||||
final ModelRenderer middlefinger2;
|
||||
final ModelRenderer ringfinger1;
|
||||
final ModelRenderer ringfinger2;
|
||||
final ModelRenderer pinky1;
|
||||
final ModelRenderer pinky2;
|
||||
final ModelRenderer thumb1;
|
||||
final ModelRenderer thumb2;
|
||||
final ModelRenderer fingerguard;
|
||||
final ModelRenderer crystalholder;
|
||||
final ModelRenderer crystal;
|
||||
final ModelRenderer supportright1;
|
||||
final ModelRenderer supportright2;
|
||||
final ModelRenderer supportright3;
|
||||
final ModelRenderer supportright4;
|
||||
final ModelRenderer supportright5;
|
||||
final ModelRenderer supportbaseright;
|
||||
final ModelRenderer palm;
|
||||
final ModelRenderer supportbaseleft;
|
||||
final ModelRenderer supportleftfront;
|
||||
final ModelRenderer supportrightfront;
|
||||
final ModelRenderer supportleft1;
|
||||
final ModelRenderer supportleft2;
|
||||
final ModelRenderer supportleft3;
|
||||
final ModelRenderer supportleft4;
|
||||
final ModelRenderer supportleft5;
|
||||
ModelRenderer mainarm;
|
||||
ModelRenderer armorright;
|
||||
ModelRenderer armorleft;
|
||||
ModelRenderer wristtopright;
|
||||
ModelRenderer wristtopleft;
|
||||
ModelRenderer wristbottomright;
|
||||
ModelRenderer wristbottomleft;
|
||||
ModelRenderer index1;
|
||||
ModelRenderer index2;
|
||||
ModelRenderer middlefinger1;
|
||||
ModelRenderer middlefinger2;
|
||||
ModelRenderer ringfinger1;
|
||||
ModelRenderer ringfinger2;
|
||||
ModelRenderer pinky1;
|
||||
ModelRenderer pinky2;
|
||||
ModelRenderer thumb1;
|
||||
ModelRenderer thumb2;
|
||||
ModelRenderer fingerguard;
|
||||
ModelRenderer crystalholder;
|
||||
ModelRenderer crystal;
|
||||
ModelRenderer supportright1;
|
||||
ModelRenderer supportright2;
|
||||
ModelRenderer supportright3;
|
||||
ModelRenderer supportright4;
|
||||
ModelRenderer supportright5;
|
||||
ModelRenderer supportbaseright;
|
||||
ModelRenderer palm;
|
||||
ModelRenderer supportbaseleft;
|
||||
ModelRenderer supportleftfront;
|
||||
ModelRenderer supportrightfront;
|
||||
ModelRenderer supportleft1;
|
||||
ModelRenderer supportleft2;
|
||||
ModelRenderer supportleft3;
|
||||
ModelRenderer supportleft4;
|
||||
ModelRenderer supportleft5;
|
||||
|
||||
public ToolModel() {
|
||||
textureWidth = 64;
|
||||
|
@ -502,4 +502,4 @@ public class ToolModel extends ModelBase {
|
|||
setPose(0.5f, -1, 0.5f, -1, 0.5f, -1);
|
||||
this.boltSize = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@ import net.machinemuse.numina.geometry.Colour;
|
|||
import net.machinemuse.numina.render.MuseIconUtils;
|
||||
import net.machinemuse.powersuits.client.render.entity.MuseRender;
|
||||
import net.machinemuse.powersuits.common.MPSItems;
|
||||
import net.machinemuse.powersuits.item.IModularItemBase;
|
||||
import net.machinemuse.powersuits.item.ItemPowerFist;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.entity.EntityClientPlayerMP;
|
||||
|
@ -31,7 +30,7 @@ import org.lwjgl.opengl.GL12;
|
|||
* @author MachineMuse
|
||||
*/
|
||||
public class ToolRenderer extends MuseRender implements IItemRenderer {
|
||||
public final ToolModel model = new ToolModel();
|
||||
public ToolModel model = new ToolModel();
|
||||
|
||||
/**
|
||||
* Forge checks this to see if our custom renderer will handle a certain type of rendering.
|
||||
|
@ -59,9 +58,9 @@ public class ToolRenderer extends MuseRender implements IItemRenderer {
|
|||
public void renderItem(ItemRenderType type, ItemStack itemStack, Object... data) {
|
||||
boolean drawIcon = false;
|
||||
ItemPowerFist item = (ItemPowerFist) itemStack.getItem();
|
||||
Colour colour = ((IModularItemBase) item).getColorFromItemStack(itemStack);
|
||||
Colour glow = ((IModularItemBase) item).getColorFromItemStack(itemStack);
|
||||
|
||||
Colour colour = item.getColorFromItemStack(itemStack);
|
||||
Colour glow = item.getColorFromItemStack(itemStack);
|
||||
switch (type) {
|
||||
case ENTITY:
|
||||
RenderBlocks renderEntity = (RenderBlocks) data[0];
|
||||
|
@ -72,7 +71,7 @@ public class ToolRenderer extends MuseRender implements IItemRenderer {
|
|||
break;
|
||||
case INVENTORY:
|
||||
RenderBlocks renderInventory = (RenderBlocks) data[0];
|
||||
MuseIconUtils.drawIconAt(0, 0, MPSItems.INSTANCE.powerTool.getIconIndex(itemStack), colour);
|
||||
MuseIconUtils.drawIconAt(0, 0, MPSItems.getInstance().powerTool.getIconIndex(itemStack), colour);
|
||||
break;
|
||||
case EQUIPPED:
|
||||
RenderBlocks renderEquipped = (RenderBlocks) data[0];
|
||||
|
@ -124,8 +123,7 @@ public class ToolRenderer extends MuseRender implements IItemRenderer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) {
|
||||
}
|
||||
public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) {}
|
||||
|
||||
public void renderFirstPersonArm(EntityClientPlayerMP entityclientplayermp, float par1) {
|
||||
Minecraft mc = Minecraft.getMinecraft();
|
||||
|
@ -158,4 +156,4 @@ public class ToolRenderer extends MuseRender implements IItemRenderer {
|
|||
renderplayer.renderFirstPersonArm(mc.thePlayer);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -122,7 +122,7 @@ public class VanillaArmorModel extends ModelBiped implements IArmorModel {
|
|||
aimedBow = true;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
|
||||
bipedHead.isHidden = false;
|
||||
|
|
|
@ -6,7 +6,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
|
|||
import cpw.mods.fml.relauncher.Side;
|
||||
import net.machinemuse.api.IPowerModule;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.numina.basemod.Numina;
|
||||
import net.machinemuse.numina.general.MuseLogger;
|
||||
import net.machinemuse.powersuits.common.proxy.CommonProxy;
|
||||
|
@ -228,23 +228,23 @@ public class Config {
|
|||
*/
|
||||
public static void loadPowerModules() {
|
||||
List<IModularItem> ARMORONLY = Arrays.asList(
|
||||
(IModularItem)MPSItems.INSTANCE.powerArmorHead,
|
||||
(IModularItem)MPSItems.INSTANCE.powerArmorTorso,
|
||||
(IModularItem)MPSItems.INSTANCE.powerArmorLegs,
|
||||
(IModularItem)MPSItems.INSTANCE.powerArmorFeet);
|
||||
(IModularItem)MPSItems.getInstance().powerArmorHead,
|
||||
(IModularItem)MPSItems.getInstance().powerArmorTorso,
|
||||
(IModularItem)MPSItems.getInstance().powerArmorLegs,
|
||||
(IModularItem)MPSItems.getInstance().powerArmorFeet);
|
||||
|
||||
List<IModularItem> ALLITEMS = Arrays.asList(
|
||||
(IModularItem)MPSItems.INSTANCE.powerArmorHead,
|
||||
(IModularItem)MPSItems.INSTANCE.powerArmorTorso,
|
||||
(IModularItem)MPSItems.INSTANCE.powerArmorLegs,
|
||||
(IModularItem)MPSItems.INSTANCE.powerArmorFeet,
|
||||
(IModularItem)MPSItems.INSTANCE.powerTool);
|
||||
(IModularItem)MPSItems.getInstance().powerArmorHead,
|
||||
(IModularItem)MPSItems.getInstance().powerArmorTorso,
|
||||
(IModularItem)MPSItems.getInstance().powerArmorLegs,
|
||||
(IModularItem)MPSItems.getInstance().powerArmorFeet,
|
||||
(IModularItem)MPSItems.getInstance().powerTool);
|
||||
|
||||
List<IModularItem> HEADONLY = Collections.singletonList((IModularItem)MPSItems.INSTANCE.powerArmorHead);
|
||||
List<IModularItem> TORSOONLY = Collections.singletonList((IModularItem)MPSItems.INSTANCE.powerArmorTorso);
|
||||
List<IModularItem> LEGSONLY = Collections.singletonList((IModularItem)MPSItems.INSTANCE.powerArmorLegs);
|
||||
List<IModularItem> FEETONLY = Collections.singletonList((IModularItem)MPSItems.INSTANCE.powerArmorFeet);
|
||||
List<IModularItem> TOOLONLY = Collections.singletonList((IModularItem)MPSItems.INSTANCE.powerTool);
|
||||
List<IModularItem> HEADONLY = Collections.singletonList((IModularItem)MPSItems.getInstance().powerArmorHead);
|
||||
List<IModularItem> TORSOONLY = Collections.singletonList((IModularItem)MPSItems.getInstance().powerArmorTorso);
|
||||
List<IModularItem> LEGSONLY = Collections.singletonList((IModularItem)MPSItems.getInstance().powerArmorLegs);
|
||||
List<IModularItem> FEETONLY = Collections.singletonList((IModularItem)MPSItems.getInstance().powerArmorFeet);
|
||||
List<IModularItem> TOOLONLY = Collections.singletonList((IModularItem)MPSItems.getInstance().powerTool);
|
||||
|
||||
addModule(new BasicPlatingModule(ARMORONLY));
|
||||
addModule(new DiamondPlatingModule(ARMORONLY));
|
||||
|
|
|
@ -9,4 +9,4 @@ public class InstallCost {
|
|||
public String modId;
|
||||
public Integer itemMetadata;
|
||||
public Integer itemQuantity;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,6 @@ public class MPSCreativeTab extends CreativeTabs {
|
|||
|
||||
@Override
|
||||
public Item getTabIconItem() {
|
||||
return MPSItems.INSTANCE.powerArmorHead;
|
||||
return MPSItems.getInstance().powerArmorHead;
|
||||
}
|
||||
}
|
|
@ -11,6 +11,11 @@ import net.machinemuse.powersuits.item.*;
|
|||
*/
|
||||
|
||||
public final class MPSItems {
|
||||
private static MPSItems ourInstance = new MPSItems();
|
||||
public static MPSItems getInstance() {
|
||||
return ourInstance;
|
||||
}
|
||||
|
||||
public final ItemPowerArmorHelmet powerArmorHead;
|
||||
public final ItemPowerArmorChestplate powerArmorTorso;
|
||||
public final ItemPowerArmorLeggings powerArmorLegs;
|
||||
|
@ -20,8 +25,6 @@ public final class MPSItems {
|
|||
public final BlockLuxCapacitor luxCapacitor;
|
||||
public final ItemComponent components;
|
||||
|
||||
public static MPSItems INSTANCE = new MPSItems();
|
||||
|
||||
private MPSItems() {
|
||||
this.powerArmorHead = new ItemPowerArmorHelmet();
|
||||
GameRegistry.registerItem(this.powerArmorHead, this.powerArmorHead.getUnlocalizedName());
|
||||
|
|
|
@ -2,8 +2,8 @@ package net.machinemuse.powersuits.common;
|
|||
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import cpw.mods.fml.common.ModAPIManager;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
import net.machinemuse.numina.general.MuseLogger;
|
||||
import net.machinemuse.powersuits.powermodule.armor.ApiaristArmorModule;
|
||||
import net.machinemuse.powersuits.powermodule.armor.HazmatModule;
|
||||
|
@ -120,37 +120,37 @@ public class ModCompatibility {
|
|||
|
||||
// CoFH Lib - CoFHLib is included in CoFHCore
|
||||
if (isCOFHLibLoaded()|| isCOFHCoreLoaded()) {
|
||||
ModuleManager.addModule(new OmniWrenchModule(Collections.singletonList((IModularItem) MPSItems.INSTANCE.powerTool)));
|
||||
ModuleManager.addModule(new OmniWrenchModule(Collections.singletonList((IModularItem) MPSItems.getInstance().powerTool)));
|
||||
}
|
||||
|
||||
// Thaumcraft
|
||||
if (isThaumCraftLoaded() && enableThaumGogglesModule()) {
|
||||
ModuleManager.addModule(new ThaumGogglesModule(Collections.singletonList((IModularItem) MPSItems.INSTANCE.powerArmorHead)));
|
||||
ModuleManager.addModule(new ThaumGogglesModule(Collections.singletonList((IModularItem) MPSItems.getInstance().powerArmorHead)));
|
||||
}
|
||||
|
||||
//IPowerModule module = new MultimeterModule(Collections.singletonList((IModularItem) MPSItems.powerTool()));
|
||||
|
||||
// Hazmat
|
||||
if (isIndustrialCraftLoaded()) {
|
||||
ModuleManager.addModule(new HazmatModule(Arrays.<IModularItem>asList(MPSItems.INSTANCE.powerArmorHead, MPSItems.INSTANCE.powerArmorTorso, MPSItems.INSTANCE.powerArmorLegs, MPSItems.INSTANCE.powerArmorFeet)));
|
||||
ModuleManager.addModule(new HazmatModule(Arrays.<IModularItem>asList(MPSItems.getInstance().powerArmorHead, MPSItems.getInstance().powerArmorTorso, MPSItems.getInstance().powerArmorLegs, MPSItems.getInstance().powerArmorFeet)));
|
||||
}
|
||||
|
||||
// Galacticraft
|
||||
if (isGalacticraftLoaded()) {
|
||||
ModuleManager.addModule(new AirtightSealModule(Collections.singletonList((IModularItem) MPSItems.INSTANCE.powerArmorHead)));
|
||||
ModuleManager.addModule(new AirtightSealModule(Collections.singletonList((IModularItem) MPSItems.getInstance().powerArmorHead)));
|
||||
}
|
||||
|
||||
// Forestry
|
||||
if (isForestryLoaded()) {
|
||||
ModuleManager.addModule(new GrafterModule(Collections.singletonList((IModularItem) MPSItems.INSTANCE.powerTool)));
|
||||
ModuleManager.addModule(new ScoopModule(Collections.singletonList((IModularItem) MPSItems.INSTANCE.powerTool)));
|
||||
ModuleManager.addModule(new ApiaristArmorModule(Arrays.<IModularItem>asList(MPSItems.INSTANCE.powerArmorHead, MPSItems.INSTANCE.powerArmorTorso, MPSItems.INSTANCE.powerArmorLegs, MPSItems.INSTANCE.powerArmorFeet)));
|
||||
ModuleManager.addModule(new GrafterModule(Collections.singletonList((IModularItem) MPSItems.getInstance().powerTool)));
|
||||
ModuleManager.addModule(new ScoopModule(Collections.singletonList((IModularItem) MPSItems.getInstance().powerTool)));
|
||||
ModuleManager.addModule(new ApiaristArmorModule(Arrays.<IModularItem>asList(MPSItems.getInstance().powerArmorHead, MPSItems.getInstance().powerArmorTorso, MPSItems.getInstance().powerArmorLegs, MPSItems.getInstance().powerArmorFeet)));
|
||||
}
|
||||
|
||||
// Chisel
|
||||
if(isChiselLoaded()) {
|
||||
try {
|
||||
ModuleManager.addModule(new ChiselModule(Collections.singletonList((IModularItem) MPSItems.INSTANCE.powerTool)));
|
||||
ModuleManager.addModule(new ChiselModule(Collections.singletonList((IModularItem) MPSItems.getInstance().powerTool)));
|
||||
} catch(Exception e) {
|
||||
MuseLogger.logException("Couldn't add Chisel module", e);
|
||||
}
|
||||
|
@ -158,21 +158,21 @@ public class ModCompatibility {
|
|||
|
||||
// Applied Energistics
|
||||
if (isAppengLoaded()) {
|
||||
ModuleManager.addModule(new AppEngWirelessModule(Collections.singletonList((IModularItem) MPSItems.INSTANCE.powerTool)));
|
||||
ModuleManager.addModule(new AppEngWirelessModule(Collections.singletonList((IModularItem) MPSItems.getInstance().powerTool)));
|
||||
|
||||
// Extra Cells 2
|
||||
if (isExtraCellsLoaded())
|
||||
ModuleManager.addModule(new AppEngWirelessFluidModule(Collections.singletonList((IModularItem) MPSItems.INSTANCE.powerTool)));
|
||||
ModuleManager.addModule(new AppEngWirelessFluidModule(Collections.singletonList((IModularItem) MPSItems.getInstance().powerTool)));
|
||||
}
|
||||
|
||||
// Multi-Mod Compatible OmniProbe
|
||||
if (isEnderIOLoaded() || isMFRLoaded() || isRailcraftLoaded()) {
|
||||
ModuleManager.addModule(new OmniProbeModule(Collections.singletonList((IModularItem) MPSItems.INSTANCE.powerTool)));
|
||||
ModuleManager.addModule(new OmniProbeModule(Collections.singletonList((IModularItem) MPSItems.getInstance().powerTool)));
|
||||
}
|
||||
|
||||
// Compact Machines Personal Shrinking Device
|
||||
if (isCompactMachinesLoaded()) {
|
||||
ModuleManager.addModule(new PersonalShrinkingModule(Collections.singletonList((IModularItem) MPSItems.INSTANCE.powerTool)));
|
||||
ModuleManager.addModule(new PersonalShrinkingModule(Collections.singletonList((IModularItem) MPSItems.getInstance().powerTool)));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -52,7 +52,7 @@ public class ClientProxy implements CommonProxy {
|
|||
*/
|
||||
@Override
|
||||
public void registerRenderers() {
|
||||
MinecraftForgeClient.registerItemRenderer(MPSItems.INSTANCE.powerTool, new ToolRenderer());
|
||||
MinecraftForgeClient.registerItemRenderer(MPSItems.getInstance().powerTool, new ToolRenderer());
|
||||
int tinkTableRenderID = RenderingRegistry.getNextAvailableRenderId();
|
||||
TinkerTableRenderer tinkTableRenderer = new TinkerTableRenderer(tinkTableRenderID);
|
||||
BlockTinkerTable.setRenderType(tinkTableRenderID);
|
||||
|
@ -60,7 +60,7 @@ public class ClientProxy implements CommonProxy {
|
|||
RenderingRegistry.registerBlockHandler(tinkTableRenderer);
|
||||
int luxCapacitorRenderID = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderLuxCapacitorTESR luxCapacitorRenderer = new RenderLuxCapacitorTESR(luxCapacitorRenderID);
|
||||
MPSItems.INSTANCE.luxCapacitor.setRenderType(luxCapacitorRenderID);
|
||||
MPSItems.getInstance().luxCapacitor.setRenderType(luxCapacitorRenderID);
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLuxCapacitor.class, luxCapacitorRenderer);
|
||||
RenderingRegistry.registerBlockHandler(luxCapacitorRenderer);
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityPlasmaBolt.class, new RenderPlasmaBolt());
|
||||
|
|
|
@ -5,24 +5,26 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
|||
import cpw.mods.fml.common.gameevent.InputEvent;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.machinemuse.numina.item.ModeChangingItem;
|
||||
import net.machinemuse.powersuits.common.ModularPowersuits;
|
||||
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;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class KeybindKeyHandler {
|
||||
public static final String mps = "Modular Powersuits";
|
||||
public static final KeyBinding openKeybindGUI = new KeyBinding("Open MPS Keybind GUI", -1, mps);
|
||||
public static final KeyBinding goDownKey = new KeyBinding("Go Down (MPS Flight Control)", Keyboard.KEY_Z, mps);
|
||||
public static final KeyBinding cycleToolBackward = new KeyBinding("Cycle Tool Backward (MPS)", -1, mps);
|
||||
public static final KeyBinding cycleToolForward = new KeyBinding("Cycle Tool Forward (MPS)", -1, mps);
|
||||
public static final KeyBinding zoom = new KeyBinding("Zoom (MPS)", Keyboard.KEY_Y, mps);
|
||||
public static final KeyBinding openCosmeticGUI = new KeyBinding("Cosmetic (MPS)", -1, mps);
|
||||
public static final KeyBinding[] keybindArray = new KeyBinding[]{openKeybindGUI, goDownKey, cycleToolBackward, cycleToolForward, zoom, openCosmeticGUI};
|
||||
public static KeyBinding openKeybindGUI = new KeyBinding("Open MPS Keybind GUI", -1, mps);
|
||||
public static KeyBinding goDownKey = new KeyBinding("Go Down (MPS Flight Control)", Keyboard.KEY_Z, mps);
|
||||
public static KeyBinding cycleToolBackward = new KeyBinding("Cycle Tool Backward (MPS)", -1, mps);
|
||||
public static KeyBinding cycleToolForward = new KeyBinding("Cycle Tool Forward (MPS)", -1, mps);
|
||||
public static KeyBinding zoom = new KeyBinding("Zoom (MPS)", Keyboard.KEY_Y, mps);
|
||||
public static KeyBinding openCosmeticGUI = new KeyBinding("Cosmetic (MPS)", -1, mps);
|
||||
public static KeyBinding[] keybindArray = new KeyBinding[]{openKeybindGUI, goDownKey, cycleToolBackward, cycleToolForward, zoom, openCosmeticGUI};
|
||||
public static boolean[] repeats = new boolean[keybindArray.length];
|
||||
|
||||
public KeybindKeyHandler() {
|
||||
|
@ -36,13 +38,16 @@ public class KeybindKeyHandler {
|
|||
int key = Keyboard.getEventKey();
|
||||
boolean pressed = Keyboard.getEventKeyState();
|
||||
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
|
||||
ItemStack stack = player.getCurrentEquippedItem();
|
||||
IModeChangingModularItem modeChangingModularItem = null;
|
||||
if (stack != null && stack.getItem() instanceof IModeChangingModularItem)
|
||||
modeChangingModularItem = (IModeChangingModularItem)stack.getItem();
|
||||
|
||||
// Only activate if there is a player to work with
|
||||
if (player == null) {
|
||||
return;
|
||||
}
|
||||
if (pressed) {
|
||||
ModeChangingItem mci = new ModeChangingItem(player.inventory.getCurrentItem());
|
||||
if (key == openKeybindGUI.getKeyCode()) {
|
||||
World world = Minecraft.getMinecraft().theWorld;
|
||||
if (Minecraft.getMinecraft().inGameHasFocus) {
|
||||
|
@ -58,16 +63,13 @@ public class KeybindKeyHandler {
|
|||
if (key == goDownKey.getKeyCode()) {
|
||||
PlayerInputMap.getInputMapFor(player.getCommandSenderName()).downKey = true;
|
||||
}
|
||||
|
||||
/* cycleToolBackward/cycleToolForward only seem to be used if actual keys are assinged instead of mousewheel */
|
||||
if (key == cycleToolBackward.getKeyCode()) {
|
||||
if (key == cycleToolBackward.getKeyCode() && modeChangingModularItem != null) {
|
||||
Minecraft.getMinecraft().playerController.updateController();
|
||||
mci.cycleMode(player.inventory.getStackInSlot(player.inventory.currentItem), player, 1);
|
||||
|
||||
((IModeChangingModularItem)modeChangingModularItem).cycleModeForItem(player.inventory.getStackInSlot(player.inventory.currentItem), player, 1);
|
||||
}
|
||||
if (key == cycleToolForward.getKeyCode()) {
|
||||
Minecraft.getMinecraft().playerController.updateController();
|
||||
mci.cycleMode(player.inventory.getStackInSlot(player.inventory.currentItem), player, -1);
|
||||
((IModeChangingModularItem)modeChangingModularItem).cycleModeForItem(player.inventory.getStackInSlot(player.inventory.currentItem), player, -1);
|
||||
}
|
||||
} else {
|
||||
if (Minecraft.getMinecraft().thePlayer != null && key == goDownKey.getKeyCode()) {
|
||||
|
@ -75,4 +77,4 @@ public class KeybindKeyHandler {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ import java.util.Set;
|
|||
|
||||
public class KeybindManager {
|
||||
// only stores keybindings relevant to us!!
|
||||
protected final Set<ClickableKeybinding> keybindings;
|
||||
protected Set<ClickableKeybinding> keybindings;
|
||||
protected static KeybindManager instance;
|
||||
|
||||
protected KeybindManager() {
|
||||
|
@ -127,4 +127,4 @@ public class KeybindManager {
|
|||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
|
||||
public class PlayerInputMap {
|
||||
protected static final Map<String, PlayerInputMap> playerInputs = new HashMap();
|
||||
protected static Map<String, PlayerInputMap> playerInputs = new HashMap();
|
||||
|
||||
public static PlayerInputMap getInputMapFor(String playerName) {
|
||||
PlayerInputMap map = playerInputs.get(playerName);
|
||||
|
@ -106,4 +106,4 @@ public class PlayerInputMap {
|
|||
public void refresh() {
|
||||
this.lastSentMap.setTo(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -75,7 +75,7 @@ public class EntityLuxCapacitor extends EntityThrowable {
|
|||
if (block == null || block.isAir(worldObj, x, y, z)) {
|
||||
Block blockToStickTo = worldObj.getBlock(movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ);
|
||||
if (blockToStickTo.isNormalCube(worldObj, x, y, z)) {
|
||||
worldObj.setBlock(x, y, z, MPSItems.INSTANCE.luxCapacitor, 0, 7);
|
||||
worldObj.setBlock(x, y, z, MPSItems.getInstance().luxCapacitor, 0, 7);
|
||||
worldObj.setTileEntity(x, y, z, new TileEntityLuxCapacitor(dir, red, green, blue));
|
||||
} else {
|
||||
for (ForgeDirection d : ForgeDirection.values()) {
|
||||
|
@ -84,7 +84,7 @@ public class EntityLuxCapacitor extends EntityThrowable {
|
|||
int zo = z + d.offsetZ;
|
||||
blockToStickTo = worldObj.getBlock(xo, yo, zo);
|
||||
if (blockToStickTo.isNormalCube(worldObj, x, y, z)) {
|
||||
worldObj.setBlock(x, y, z, MPSItems.INSTANCE.luxCapacitor, 0, 7);
|
||||
worldObj.setBlock(x, y, z, MPSItems.getInstance().luxCapacitor, 0, 7);
|
||||
worldObj.setTileEntity(x, y, z, new TileEntityLuxCapacitor(d, red, green, blue));
|
||||
}
|
||||
}
|
||||
|
@ -94,4 +94,4 @@ public class EntityLuxCapacitor extends EntityThrowable {
|
|||
this.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -152,4 +152,4 @@ public class EntityPlasmaBolt extends EntityThrowable {
|
|||
this.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -134,4 +134,4 @@ public class EntitySpinningBlade extends EntityThrowable {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,4 +8,4 @@ import net.minecraft.tileentity.TileEntity;
|
|||
public class TileEntityPortal extends TileEntity {
|
||||
public TileEntityPortal() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package net.machinemuse.powersuits.event;
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||
import net.machinemuse.powersuits.item.ItemPowerFist;
|
||||
import net.minecraft.block.Block;
|
||||
|
@ -40,4 +40,4 @@ public class HarvestEventHandler {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,10 +20,9 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
|
||||
public class MovementManager {
|
||||
public static final Map<String, Double> playerJumpMultipliers = new HashMap();
|
||||
public static Map<String, Double> playerJumpMultipliers = new HashMap();
|
||||
|
||||
public static double getPlayerJumpMultiplier(EntityPlayer player) {
|
||||
|
||||
if (playerJumpMultipliers.containsKey(player.getCommandSenderName())) {
|
||||
return playerJumpMultipliers.get(player.getCommandSenderName());
|
||||
} else {
|
||||
|
@ -46,7 +45,7 @@ public class MovementManager {
|
|||
double drain = ModuleManager.computeModularProperty(stack, JumpAssistModule.JUMP_ENERGY_CONSUMPTION);
|
||||
double avail = ElectricItemUtils.getPlayerEnergy(player);
|
||||
if ((FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) && NuminaConfig.useSounds()) {
|
||||
Musique.playerSound(player, SoundDictionary.SOUND_JUMP_ASSIST, (float) (jumpAssist / 8.0), (float)1, false);
|
||||
Musique.playerSound(player, SoundDictionary.SOUND_JUMP_ASSIST, (float) (jumpAssist / 8.0), 1f, false);
|
||||
}
|
||||
if (drain < avail) {
|
||||
ElectricItemUtils.drainPlayerEnergy(player, drain);
|
||||
|
@ -57,10 +56,8 @@ public class MovementManager {
|
|||
} else {
|
||||
player.getFoodStats().addExhaustion((float) (-0.2 * jumpCompensationRatio));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -73,7 +70,7 @@ public class MovementManager {
|
|||
if (ModuleManager.itemHasActiveModule(boots, ShockAbsorberModule.MODULE_SHOCK_ABSORBER) && event.distance > 3) {
|
||||
double distanceAbsorb = event.distance * ModuleManager.computeModularProperty(boots, ShockAbsorberModule.SHOCK_ABSORB_MULTIPLIER);
|
||||
if ((FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) && NuminaConfig.useSounds()) {
|
||||
Musique.playerSound(player, SoundDictionary.SOUND_GUI_INSTALL, (float) (distanceAbsorb), (float)1, false);
|
||||
Musique.playerSound(player, SoundDictionary.SOUND_GUI_INSTALL, (float) (distanceAbsorb), 1f, false);
|
||||
}
|
||||
|
||||
double drain = distanceAbsorb * ModuleManager.computeModularProperty(boots, ShockAbsorberModule.SHOCK_ABSORB_ENERGY_CONSUMPTION);
|
||||
|
@ -96,4 +93,4 @@ public class MovementManager {
|
|||
double ticks = velocity / DEFAULT_GRAVITY;
|
||||
return -0.5 * DEFAULT_GRAVITY * ticks * ticks;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package net.machinemuse.powersuits.event;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||
import net.machinemuse.general.sound.SoundDictionary;
|
||||
|
@ -76,7 +74,8 @@ public class PlayerUpdateHandler {
|
|||
player.extinguish();
|
||||
}
|
||||
double velsq2 = MuseMathUtils.sumsq(player.motionX, player.motionY, player.motionZ) - 0.5;
|
||||
if ((FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) && NuminaConfig.useSounds()) {
|
||||
|
||||
if ((player.worldObj.isRemote) && NuminaConfig.useSounds()) {
|
||||
if (player.isAirBorne && velsq2 > 0) {
|
||||
Musique.playerSound(player, SoundDictionary.SOUND_GLIDER, (float)(velsq2 / 3), 1.0f, true);
|
||||
}
|
||||
|
|
|
@ -1,32 +1,24 @@
|
|||
//package net.machinemuse.powersuits.item;
|
||||
//
|
||||
//import net.machinemuse.numina.item.IModeChangingItem;
|
||||
//import net.minecraft.entity.player.EntityPlayer;
|
||||
//import net.minecraft.item.ItemStack;
|
||||
//import net.minecraft.util.IIcon;
|
||||
//
|
||||
//import javax.annotation.Nullable;
|
||||
//import java.util.List;
|
||||
//
|
||||
///**
|
||||
// * Author: MachineMuse (Claire Semple)
|
||||
// * Created: 4:52 PM, 9/5/13
|
||||
// *
|
||||
// * Ported to Java by lehjr on 11/1/16.
|
||||
// */
|
||||
//public interface IModeChangingModularItem extends IModeChangingItem {
|
||||
// @Nullable
|
||||
// IIcon getModeIcon(String mode, ItemStack stack, EntityPlayer player);
|
||||
//
|
||||
// List<String> getValidModes(ItemStack stack);
|
||||
//
|
||||
// String getActiveMode(ItemStack stack);
|
||||
//
|
||||
// void setActiveMode(ItemStack stack, String newMode) ;
|
||||
//
|
||||
// void cycleMode(ItemStack stack, EntityPlayer player, int dMode);
|
||||
//
|
||||
// String nextMode(ItemStack stack, EntityPlayer player);
|
||||
//
|
||||
// String prevMode(ItemStack stack, EntityPlayer player);
|
||||
//}
|
||||
package net.machinemuse.powersuits.item;
|
||||
|
||||
import net.machinemuse.numina.item.IModeChangingItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
||||
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 interface IModeChangingModularItem extends IModeChangingItem {
|
||||
void cycleModeForItem(ItemStack itemStack, EntityPlayer player, int dMode);
|
||||
|
||||
IIcon getModeIcon(String mode, ItemStack itemStack, EntityPlayer player);
|
||||
|
||||
List<String> getValidModes(ItemStack itemStack);
|
||||
|
||||
String getActiveMode(ItemStack itemStack);
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ package net.machinemuse.powersuits.item;
|
|||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.api.electricity.IMuseElectricItem;
|
||||
import net.machinemuse.numina.geometry.Colour;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
@ -18,27 +18,39 @@ import java.util.List;
|
|||
*/
|
||||
public interface IModularItemBase extends IModularItem, IMuseElectricItem {
|
||||
@SideOnly(Side.CLIENT)
|
||||
int getColorFromItemStack(final ItemStack stack, final int p1);
|
||||
int getColorFromItemStack(ItemStack stack, int par2);
|
||||
|
||||
Colour getGlowFromItemStack(final ItemStack stack);
|
||||
Colour getGlowFromItemStack(ItemStack stack);
|
||||
|
||||
Colour getColorFromItemStack(final ItemStack stack);
|
||||
Colour getColorFromItemStack(ItemStack stack);
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
boolean requiresMultipleRenderPasses();
|
||||
|
||||
/**
|
||||
* Adds information to the item's tooltip when 'getting' it.
|
||||
*
|
||||
* @param stack The itemstack to get the tooltip for
|
||||
* @param player The player (client) viewing the tooltip
|
||||
* @param currentTipList A list of strings containing the existing tooltip. When
|
||||
* passed, it will just contain the name of the item;
|
||||
* enchantments and lore are
|
||||
* appended afterwards.
|
||||
* @param advancedToolTips Whether or not the player has 'advanced tooltips' turned on in
|
||||
* their settings.
|
||||
*/
|
||||
@SideOnly(Side.CLIENT)
|
||||
void addInformation(final ItemStack stack, final EntityPlayer player, final List<?> currentTipList, final boolean advancedToolTips);
|
||||
void addInformation(ItemStack stack, EntityPlayer player, List<String> currentTipList, boolean advancedToolTips);
|
||||
|
||||
String formatInfo(final String string, final double value);
|
||||
String formatInfo(String string, double value);
|
||||
|
||||
List<String> getLongInfo(final EntityPlayer player, final ItemStack stack);
|
||||
List<String> getLongInfo(EntityPlayer player, ItemStack stack);
|
||||
|
||||
double getArmorDouble(final EntityPlayer player, final ItemStack stack);
|
||||
double getArmorDouble(EntityPlayer player, ItemStack stack);
|
||||
|
||||
double getPlayerEnergy(final EntityPlayer player);
|
||||
double getPlayerEnergy(EntityPlayer player);
|
||||
|
||||
void drainPlayerEnergy(final EntityPlayer player, final double drainEnergy);
|
||||
void drainPlayerEnergy(EntityPlayer player, double drainEnergy);
|
||||
|
||||
void givePlayerEnergy(final EntityPlayer player, final double joulesToGive);
|
||||
}
|
||||
void givePlayerEnergy(EntityPlayer player, double joulesToGive);
|
||||
}
|
||||
|
|
|
@ -58,10 +58,10 @@ public class ItemComponent extends Item {
|
|||
this.setHasSubtypes(true);
|
||||
this.setMaxDamage(0);
|
||||
this.setCreativeTab(Config.getCreativeTab());
|
||||
icons = new ArrayList<>();
|
||||
iconNames = new ArrayList<>();
|
||||
names = new ArrayList<>();
|
||||
descriptions = new ArrayList<>();
|
||||
icons = new ArrayList<IIcon>();
|
||||
iconNames = new ArrayList<String>();
|
||||
names = new ArrayList<String>();
|
||||
descriptions = new ArrayList<String>();
|
||||
}
|
||||
|
||||
public ItemStack addComponent(String oredictName, String description, String iconName) {
|
||||
|
|
|
@ -17,8 +17,7 @@ import java.util.List;
|
|||
/**
|
||||
* Ported to Java by lehjr on 10/26/16.
|
||||
*/
|
||||
public abstract class ItemElectricArmor extends ItemArmor implements IModularItemBase
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
@ -97,7 +96,7 @@ public abstract class ItemElectricArmor extends ItemArmor implements IModularIte
|
|||
}
|
||||
|
||||
public IMuseElectricItem getManager(final ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getManager(itemStack);
|
||||
return (IMuseElectricItem) MuseElectricItem.getInstance().getManager(itemStack);
|
||||
}
|
||||
|
||||
public void chargeFromArmor(final ItemStack itemStack, final EntityLivingBase entity) {
|
||||
|
@ -188,4 +187,4 @@ public abstract class ItemElectricArmor extends ItemArmor implements IModularIte
|
|||
public AccessRestriction getPowerFlow(final ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getPowerFlow(stack);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,14 +4,18 @@ import com.google.common.collect.Multimap;
|
|||
import cpw.mods.fml.common.Optional;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.machinemuse.api.ApiaristArmor;
|
||||
import net.machinemuse.api.IArmorTraits;
|
||||
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;
|
||||
import net.machinemuse.powersuits.powermodule.armor.ApiaristArmorModule;
|
||||
import net.machinemuse.powersuits.powermodule.armor.HazmatModule;
|
||||
import net.machinemuse.powersuits.powermodule.misc.InvisibilityModule;
|
||||
import net.machinemuse.powersuits.powermodule.misc.TintModule;
|
||||
import net.machinemuse.powersuits.powermodule.misc.TransparentArmorModule;
|
||||
import net.machinemuse.utils.ElectricItemUtils;
|
||||
import net.machinemuse.utils.MuseCommonStrings;
|
||||
import net.machinemuse.utils.MuseHeatUtils;
|
||||
|
@ -36,107 +40,72 @@ import java.util.UUID;
|
|||
*
|
||||
* Ported to Java by lehjr on 11/4/16.
|
||||
*/
|
||||
public abstract class ItemPowerArmor extends ItemElectricArmor implements ISpecialArmor, IArmorTraits {
|
||||
public abstract class ItemPowerArmor extends ItemElectricArmor implements ISpecialArmor, IApiaristArmor {
|
||||
public ItemPowerArmor(int renderIndex, int armorType) {
|
||||
super(ItemArmor.ArmorMaterial.IRON, renderIndex, armorType);
|
||||
this.setMaxStackSize(1);
|
||||
this.setCreativeTab(Config.getCreativeTab());
|
||||
setMaxStackSize(1);
|
||||
setCreativeTab(Config.getCreativeTab());
|
||||
}
|
||||
|
||||
public ISpecialArmor.ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) {
|
||||
int priority = 0;
|
||||
Label_0057: {
|
||||
if (source.isFireDamage()) {
|
||||
DamageSource overheatDamage = MuseHeatUtils.overheatDamage;
|
||||
if (source == null) {
|
||||
if (overheatDamage == null) {
|
||||
break Label_0057;
|
||||
}
|
||||
}
|
||||
else if (source.equals(overheatDamage)) {
|
||||
break Label_0057;
|
||||
}
|
||||
return new ISpecialArmor.ArmorProperties(priority, 0.25, (int)(25 * damage));
|
||||
}
|
||||
}
|
||||
if (ModuleManager.itemHasModule(armor, "Radiation Shielding") && (source.damageType.equals("electricity") || source.damageType.equals("radiation"))) {
|
||||
return new ISpecialArmor.ArmorProperties(priority, 0.25, (int)(25 * damage));
|
||||
}
|
||||
double armorDouble2;
|
||||
if (player instanceof EntityPlayer) {
|
||||
armorDouble2 = this.getArmorDouble((EntityPlayer)player, armor);
|
||||
}
|
||||
else {
|
||||
armorDouble2 = 2.0;
|
||||
}
|
||||
double armorDouble = armorDouble2;
|
||||
double absorbRatio = 0.04 * armorDouble;
|
||||
int absorbMax = (int)armorDouble * 75;
|
||||
if (source.isUnblockable()) {
|
||||
absorbMax = 0;
|
||||
absorbRatio = 0.0;
|
||||
}
|
||||
return new ISpecialArmor.ArmorProperties(priority, absorbRatio, absorbMax);
|
||||
}
|
||||
|
||||
public String getArmorTexture(ItemStack itemstack, Entity entity, int slot, int layer) {
|
||||
@Override
|
||||
public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) {
|
||||
return Config.BLANK_ARMOR_MODEL_PATH;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getColor(ItemStack stack) {
|
||||
Colour c = this.getColorFromItemStack(stack);
|
||||
return c.getInt();
|
||||
return getColorFromItemStack(stack).getInt();
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public ModelBiped getArmorModel(EntityLivingBase entity, ItemStack itemstack, int armorSlot) {
|
||||
@Override
|
||||
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) {
|
||||
ModelBiped model = ArmorModelInstance.getInstance();
|
||||
((IArmorModel)model).setVisibleSection(armorSlot);
|
||||
if (itemstack != null) {
|
||||
if (entity instanceof EntityPlayer) {
|
||||
ItemStack armorChest = ((EntityPlayer)entity).getCurrentArmor(2);
|
||||
|
||||
if (armorChest != null) {
|
||||
if (armorChest.getItem() instanceof ItemPowerArmor)
|
||||
if (ModuleManager.itemHasActiveModule(armorChest, InvisibilityModule.MODULE_ACTIVE_CAMOUFLAGE)) ((IArmorModel)model).setVisibleSection(99);
|
||||
}
|
||||
|
||||
if (itemStack != null) {
|
||||
if (entityLiving instanceof EntityPlayer) {
|
||||
ItemStack chest = ((EntityPlayer) entityLiving).getCurrentArmor(2);
|
||||
if (itemStack != null)
|
||||
if (ModuleManager.itemHasActiveModule(chest, InvisibilityModule.MODULE_ACTIVE_CAMOUFLAGE))
|
||||
((IArmorModel) model).setVisibleSection(99);
|
||||
}
|
||||
|
||||
if (ModuleManager.itemHasActiveModule(itemstack, "Transparent Armor")) {
|
||||
((IArmorModel)model).setVisibleSection(99);
|
||||
}
|
||||
((IArmorModel)model).setRenderSpec(MuseItemUtils.getMuseRenderTag(itemstack, armorSlot));
|
||||
}
|
||||
return (ModelBiped)model;
|
||||
|
||||
if (ModuleManager.itemHasActiveModule(itemStack, TransparentArmorModule.MODULE_TRANSPARENT_ARMOR)) {
|
||||
((IArmorModel)model).setVisibleSection(99);
|
||||
}
|
||||
((IArmorModel)model).setRenderSpec(MuseItemUtils.getMuseRenderTag(itemStack, armorSlot));
|
||||
return model;
|
||||
}
|
||||
|
||||
public Multimap<?, ?> getAttributeModifiers(ItemStack stack) {
|
||||
Multimap parent = super.getAttributeModifiers(stack);
|
||||
parent.put((Object)"generic.knockbackResistance", (Object)new AttributeModifier(UUID.fromString("448ef0e9-9b7c-4e56-bf3a-6b52aeabff8d"), "generic.knockbackResistance", 0.25, 0));
|
||||
return (Multimap<?, ?>)parent;
|
||||
@Override
|
||||
public Multimap getAttributeModifiers(ItemStack stack) {
|
||||
Multimap parent = super.getAttributeModifiers(stack);//.asInstanceOf[Multimap[String, AttributeModifier]]
|
||||
parent.put("generic.knockbackResistance", new AttributeModifier(UUID.fromString("448ef0e9-9b7c-4e56-bf3a-6b52aeabff8d"), "generic.knockbackResistance", 0.25, 0));
|
||||
return parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return whether the specified armor has a color.
|
||||
*/
|
||||
@Override
|
||||
public boolean hasColor(ItemStack stack) {
|
||||
NBTTagCompound itemTag = MuseItemUtils.getMuseItemTag(stack);
|
||||
return ModuleManager.tagHasModule(itemTag, "Red Tint") || ModuleManager.tagHasModule(itemTag, "Green Tint") || ModuleManager.tagHasModule(itemTag, "Blue Tint");
|
||||
return ModuleManager.tagHasModule(itemTag, TintModule.RED_TINT) || ModuleManager.tagHasModule(itemTag, TintModule.GREEN_TINT) || ModuleManager.tagHasModule(itemTag, TintModule.BLUE_TINT);
|
||||
}
|
||||
|
||||
public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) {
|
||||
return (int)this.getArmorDouble(player, armor);
|
||||
}
|
||||
|
||||
public double getHeatResistance(EntityPlayer player, ItemStack stack) {
|
||||
double getHeatResistance(EntityPlayer player, ItemStack stack) {
|
||||
return MuseHeatUtils.getMaxHeat(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getArmorDouble(EntityPlayer player, ItemStack stack) {
|
||||
double totalArmor = 0.0;
|
||||
double totalArmor = 0;
|
||||
NBTTagCompound props = MuseItemUtils.getMuseItemTag(stack);
|
||||
double energy = ElectricItemUtils.getPlayerEnergy(player);
|
||||
double physArmor = ModuleManager.computeModularProperty(stack, MuseCommonStrings.ARMOR_VALUE_PHYSICAL);
|
||||
|
@ -150,24 +119,54 @@ public abstract class ItemPowerArmor extends ItemElectricArmor implements ISpeci
|
|||
return totalArmor;
|
||||
}
|
||||
|
||||
/* ISpecialArmor ------------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Inherited from ISpecialArmor, allows significant customization of damage
|
||||
* calculations.
|
||||
*/
|
||||
@Override
|
||||
public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) {
|
||||
int priority = 0;
|
||||
|
||||
if (source.isFireDamage() && !(source == MuseHeatUtils.overheatDamage)) {
|
||||
return new ISpecialArmor.ArmorProperties(priority, 0.25, (int)(25 * damage));
|
||||
}
|
||||
if(ModuleManager.itemHasModule(armor, HazmatModule.MODULE_HAZMAT)) {
|
||||
if(source.damageType.equals("electricity") || source.damageType.equals("radiation")) {
|
||||
return new ISpecialArmor.ArmorProperties(priority, 0.25, (int)(25 * damage));
|
||||
}
|
||||
}
|
||||
double armorDouble = (player instanceof EntityPlayer) ? getArmorDouble((EntityPlayer) player, armor) : 2.0;
|
||||
double absorbRatio = 0.04 * armorDouble;
|
||||
int absorbMax = (int)armorDouble * 75;
|
||||
if (source.isUnblockable()) {
|
||||
absorbMax = 0;
|
||||
absorbRatio = 0;
|
||||
}
|
||||
return new ISpecialArmor.ArmorProperties(priority, absorbRatio, absorbMax);
|
||||
}
|
||||
|
||||
/**
|
||||
* Inherited from ISpecialArmor, allows us to customize the calculations for
|
||||
* how much armor will display on the player's HUD.
|
||||
*/
|
||||
@Override
|
||||
public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) {
|
||||
return (int) getArmorDouble(player, armor);
|
||||
}
|
||||
|
||||
/**
|
||||
* Inherited from ISpecialArmor, allows us to customize how the armor
|
||||
* handles being damaged.
|
||||
*/
|
||||
@Override
|
||||
public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) {
|
||||
NBTTagCompound itemProperties = MuseItemUtils.getMuseItemTag(stack);
|
||||
if (entity instanceof EntityPlayer) {
|
||||
DamageSource overheatDamage = MuseHeatUtils.overheatDamage;
|
||||
if (source == null) {
|
||||
if (overheatDamage == null) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (source.equals(overheatDamage)) {
|
||||
return;
|
||||
}
|
||||
if (source.isFireDamage()) {
|
||||
EntityPlayer player = (EntityPlayer)entity;
|
||||
if (source == MuseHeatUtils.overheatDamage) {
|
||||
} else if (source.isFireDamage()) {
|
||||
EntityPlayer player = (EntityPlayer) entity;
|
||||
if (!source.equals(DamageSource.onFire) || MuseHeatUtils.getPlayerHeat(player) < MuseHeatUtils.getMaxHeat(player)) {
|
||||
MuseHeatUtils.heatPlayer(player, damage);
|
||||
}
|
||||
|
@ -176,22 +175,33 @@ public abstract class ItemPowerArmor extends ItemElectricArmor implements ISpeci
|
|||
double enerConsum = ModuleManager.computeModularProperty(stack, MuseCommonStrings.ARMOR_ENERGY_CONSUMPTION);
|
||||
double drain = enerConsum * damage;
|
||||
if (entity instanceof EntityPlayer) {
|
||||
ElectricItemUtils.drainPlayerEnergy((EntityPlayer)entity, drain);
|
||||
ElectricItemUtils.drainPlayerEnergy((EntityPlayer) entity, drain);
|
||||
}
|
||||
else {
|
||||
this.drainEnergyFrom(stack, drain);
|
||||
drainEnergyFrom(stack, drain);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* IApiaristArmor ----------------------------------------------------------------------------- */
|
||||
@Optional.Method(modid = "Forestry")
|
||||
@Override
|
||||
public boolean protectPlayer(EntityPlayer player, ItemStack armor, String cause, boolean doProtect) {
|
||||
return ApiaristArmor.getInstance().protectPlayer(player, armor, cause, doProtect);
|
||||
// if (ModuleManager.itemHasActiveModule(armor, ApiaristArmorModule.MODULE_APIARIST_ARMOR)) {
|
||||
// ElectricItemUtils.drainPlayerEnergy(player, ModuleManager.computeModularProperty(armor, ApiaristArmorModule.APIARIST_ARMOR_ENERGY_CONSUMPTION));
|
||||
// return true;
|
||||
// }
|
||||
return false;
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "Forestry")
|
||||
@Override
|
||||
public boolean protectEntity(EntityLivingBase player, ItemStack armor, String cause, boolean doProtect) {
|
||||
return ApiaristArmor.getInstance().protectEntity(player, armor, cause, doProtect);
|
||||
if (ModuleManager.itemHasActiveModule(armor, ApiaristArmorModule.MODULE_APIARIST_ARMOR)) {
|
||||
ElectricItemUtils.drainPlayerEnergy((EntityPlayer) player, ModuleManager.computeModularProperty(armor, ApiaristArmorModule.APIARIST_ARMOR_ENERGY_CONSUMPTION));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,21 +12,25 @@ import net.minecraft.item.ItemStack;
|
|||
/**
|
||||
* Ported to Java by lehjr on 10/26/16.
|
||||
*/
|
||||
@Optional.InterfaceList({ @Optional.Interface(iface = "ic2.api.item.IMetalArmor", modid = "IC2", striprefs = true) })
|
||||
public class ItemPowerArmorBoots extends ItemPowerArmor implements IMetalArmor
|
||||
{
|
||||
@Optional.InterfaceList ({
|
||||
@Optional.Interface (iface = "ic2.api.item.IMetalArmor", modid = "IC2", striprefs = true)
|
||||
})
|
||||
public class ItemPowerArmorBoots extends ItemPowerArmor implements IMetalArmor{
|
||||
public final String iconpath = MuseRenderer.ICON_PREFIX + "armorfeet";
|
||||
|
||||
public ItemPowerArmorBoots() {
|
||||
super(0, 3);
|
||||
this.setUnlocalizedName("powerArmorBoots");
|
||||
setUnlocalizedName("powerArmorBoots");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(final IIconRegister iconRegister) {
|
||||
String iconpath = MuseRenderer.ICON_PREFIX + "armorfeet";
|
||||
this.itemIcon = iconRegister.registerIcon(iconpath);
|
||||
@Override
|
||||
public void registerIcons(IIconRegister iconRegister) {
|
||||
itemIcon = iconRegister.registerIcon(iconpath);
|
||||
}
|
||||
|
||||
public boolean isMetalArmor(final ItemStack itemStack, final EntityPlayer entityPlayer) {
|
||||
@Override
|
||||
public boolean isMetalArmor(ItemStack itemStack, EntityPlayer entityPlayer) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,18 +9,16 @@ import net.minecraft.client.renderer.texture.IIconRegister;
|
|||
* Ported to Java by lehjr on 10/26/16.
|
||||
*/
|
||||
public class ItemPowerArmorChestplate extends ItemPowerArmor {
|
||||
final String iconpath = MuseRenderer.ICON_PREFIX + "armortorso";
|
||||
|
||||
public ItemPowerArmorChestplate() {
|
||||
super(0, 1);
|
||||
this.setUnlocalizedName("powerArmorChestplate");
|
||||
}
|
||||
|
||||
public String iconpath() {
|
||||
return MuseRenderer.ICON_PREFIX + "armortorso";
|
||||
setUnlocalizedName("powerArmorChestplate");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(final IIconRegister iconRegister) {
|
||||
this.itemIcon = iconRegister.registerIcon(this.iconpath());
|
||||
@Override
|
||||
public void registerIcons(IIconRegister iconRegister) {
|
||||
itemIcon = iconRegister.registerIcon(iconpath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,44 +21,54 @@ import thaumcraft.api.nodes.IRevealer;
|
|||
* Ported to Java by lehjr on 10/26/16.
|
||||
*/
|
||||
@Optional.InterfaceList({
|
||||
@Optional.Interface(iface = "forestry.api.core.IArmorNaturalist", modid = "Forestry", striprefs = true),
|
||||
@Optional.Interface(iface = "thaumcraft.api.IGoggles", modid = "Thaumcraft", striprefs = true),
|
||||
@Optional.Interface(iface = "thaumcraft.api.nodes.IRevealer", modid = "Thaumcraft", striprefs = true),
|
||||
@Optional.Interface(iface = "micdoodle8.mods.galacticraft.api.item.IBreathableArmor", modid = "GalacticraftCore", striprefs = true) })
|
||||
public class ItemPowerArmorHelmet extends ItemPowerArmor implements IArmorNaturalist, IBreathableArmor, IGoggles, IRevealer
|
||||
{
|
||||
private final String iconpath;
|
||||
@Optional.Interface (iface = "forestry.api.core.IArmorNaturalist", modid = "Forestry", striprefs = true),
|
||||
@Optional.Interface (iface = "thaumcraft.api.IGoggles", modid = "Thaumcraft", striprefs = true),
|
||||
@Optional.Interface (iface = "thaumcraft.api.nodes.IRevealer", modid = "Thaumcraft", striprefs = true),
|
||||
@Optional.Interface (iface = "micdoodle8.mods.galacticraft.api.item.IBreathableArmor", modid = "GalacticraftCore", striprefs = true)
|
||||
})
|
||||
public class ItemPowerArmorHelmet extends ItemPowerArmor implements
|
||||
IArmorNaturalist,
|
||||
IBreathableArmor,
|
||||
IGoggles,
|
||||
IRevealer {
|
||||
static final String iconpath = MuseRenderer.ICON_PREFIX + "armorhead";
|
||||
|
||||
public ItemPowerArmorHelmet() {
|
||||
super(0, 0);
|
||||
this.iconpath = MuseRenderer.ICON_PREFIX + "armorhead";
|
||||
this.setUnlocalizedName("powerArmorHelmet");
|
||||
setUnlocalizedName("powerArmorHelmet");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(final IIconRegister iconRegister) {
|
||||
this.itemIcon = iconRegister.registerIcon(this.iconpath);
|
||||
@Override
|
||||
public void registerIcons(IIconRegister iconRegister) {
|
||||
itemIcon = iconRegister.registerIcon(iconpath);
|
||||
}
|
||||
|
||||
public boolean showIngamePopups(final ItemStack itemstack, final EntityLivingBase player) {
|
||||
return ModuleManager.itemHasActiveModule(itemstack, ThaumGogglesModule.MODULE_THAUM_GOGGLES);
|
||||
@Override
|
||||
public boolean showIngamePopups(ItemStack itemStack, EntityLivingBase entityLivingBase) {
|
||||
return ModuleManager.itemHasActiveModule(itemStack, ThaumGogglesModule.MODULE_THAUM_GOGGLES);
|
||||
}
|
||||
|
||||
public boolean showNodes(final ItemStack itemstack, final EntityLivingBase player) {
|
||||
return ModuleManager.itemHasActiveModule(itemstack, ThaumGogglesModule.MODULE_THAUM_GOGGLES);
|
||||
@Override
|
||||
public boolean showNodes(ItemStack itemStack, EntityLivingBase entityLivingBase) {
|
||||
return ModuleManager.itemHasActiveModule(itemStack, ThaumGogglesModule.MODULE_THAUM_GOGGLES);
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "Forestry")
|
||||
public boolean canSeePollination(final EntityPlayer player, final ItemStack helm, final boolean doSee) {
|
||||
return ModuleManager.itemHasActiveModule(helm, ApiaristArmorModule.MODULE_APIARIST_ARMOR);
|
||||
@Override
|
||||
public boolean canSeePollination(EntityPlayer entityPlayer, ItemStack itemStack, boolean b) {
|
||||
return ModuleManager.itemHasActiveModule(itemStack, ApiaristArmorModule.MODULE_APIARIST_ARMOR);
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "GalacticraftCore")
|
||||
public boolean handleGearType(final IBreathableArmor.EnumGearType geartype) {
|
||||
return geartype == EnumGearType.HELMET;
|
||||
@Override
|
||||
public boolean handleGearType(EnumGearType gearType) {
|
||||
return gearType == EnumGearType.HELMET;
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "GalacticraftCore")
|
||||
public boolean canBreathe(final ItemStack helm, final EntityPlayer player, final IBreathableArmor.EnumGearType geartype) {
|
||||
return ModuleManager.itemHasActiveModule(helm, AirtightSealModule.AIRTIGHT_SEAL_MODULE);
|
||||
@Override
|
||||
public boolean canBreathe(ItemStack itemStack, EntityPlayer entityPlayer, EnumGearType enumGearType) {
|
||||
return ModuleManager.itemHasActiveModule(itemStack, AirtightSealModule.AIRTIGHT_SEAL_MODULE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,15 +9,16 @@ import net.minecraft.client.renderer.texture.IIconRegister;
|
|||
* Ported to Java by lehjr on 10/26/16.
|
||||
*/
|
||||
public class ItemPowerArmorLeggings extends ItemPowerArmor {
|
||||
final String iconpath = MuseRenderer.ICON_PREFIX + "armorlegs";
|
||||
|
||||
public ItemPowerArmorLeggings() {
|
||||
super(0, 2);
|
||||
this.setUnlocalizedName("powerArmorLeggings");
|
||||
setUnlocalizedName("powerArmorLeggings");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(final IIconRegister iconRegister) {
|
||||
String iconpath = MuseRenderer.ICON_PREFIX + "armorlegs";
|
||||
this.itemIcon = iconRegister.registerIcon(iconpath);
|
||||
@Override
|
||||
public void registerIcons(IIconRegister iconRegister) {
|
||||
itemIcon = iconRegister.registerIcon(iconpath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,20 +11,21 @@ import crazypants.enderio.api.tool.ITool;
|
|||
import forestry.api.arboriculture.IToolGrafter;
|
||||
import mekanism.api.IMekWrench;
|
||||
import mods.railcraft.api.core.items.IToolCrowbar;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.api.IPowerModule;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
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.ModeChangingItem;
|
||||
import net.machinemuse.numina.item.NuminaItemUtils;
|
||||
import net.machinemuse.numina.network.MusePacketModeChangeRequest;
|
||||
import net.machinemuse.numina.network.PacketSender;
|
||||
import net.machinemuse.powersuits.common.Config;
|
||||
import net.machinemuse.powersuits.powermodule.tool.GrafterModule;
|
||||
import net.machinemuse.powersuits.powermodule.tool.OmniWrenchModule;
|
||||
import net.machinemuse.powersuits.powermodule.weapon.MeleeAssistModule;
|
||||
import net.machinemuse.utils.ElectricItemUtils;
|
||||
import net.machinemuse.utils.MuseCommonStrings;
|
||||
import net.machinemuse.utils.MuseHeatUtils;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
|
@ -33,7 +34,6 @@ import net.minecraft.entity.EntityLivingBase;
|
|||
import net.minecraft.entity.item.EntityMinecart;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumAction;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
@ -45,7 +45,6 @@ import javax.annotation.Nullable;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* Describes the modular power tool.
|
||||
*
|
||||
|
@ -53,7 +52,6 @@ import java.util.List;
|
|||
*
|
||||
* Ported to Java by lehjr on 10/26/16.
|
||||
*/
|
||||
|
||||
@Optional.InterfaceList({
|
||||
@Optional.Interface(iface = "mekanism.api.IMekWrench", modid = "Mekanism", striprefs = true),
|
||||
@Optional.Interface(iface = "crazypants.enderio.api.tool.ITool", modid = "EnderIO", striprefs = true),
|
||||
|
@ -65,55 +63,58 @@ import java.util.List;
|
|||
@Optional.Interface(iface = "cofh.api.item.IToolHammer", modid = "CoFHCore", striprefs = true),
|
||||
@Optional.Interface(iface = "buildcraft.api.tools.IToolWrench", modid = "BuildCraft|Core", striprefs = true),
|
||||
@Optional.Interface(iface = "appeng.api.implementations.items.IAEWrench", modid = "appliedenergistics2", striprefs = true) })
|
||||
public class ItemPowerFist extends MPSItemElectricTool
|
||||
implements
|
||||
public class ItemPowerFist extends MPSItemElectricTool implements
|
||||
IModularItem,
|
||||
IToolGrafter,
|
||||
IToolHammer,
|
||||
IMFRHammer,
|
||||
IToolCrowbar,
|
||||
IAEWrench,
|
||||
IToolWrench,
|
||||
IScrewdriver,
|
||||
com.bluepowermod.api.misc.IScrewdriver,
|
||||
mrtjp.projectred.api.IScrewdriver,
|
||||
ITool, IMekWrench,
|
||||
IModularItem,
|
||||
IModeChangingItem
|
||||
IModeChangingModularItem
|
||||
{
|
||||
private static ModeChangingItem modeChangingItem;
|
||||
public final String iconpath = MuseIcon.ICON_PREFIX + "handitem";
|
||||
|
||||
public ItemPowerFist() {
|
||||
super(0.0f, Item.ToolMaterial.EMERALD);
|
||||
this.setMaxStackSize(1);
|
||||
this.setMaxDamage(0);
|
||||
this.setCreativeTab(Config.getCreativeTab());
|
||||
this.setUnlocalizedName("powerFist");
|
||||
super(0, ToolMaterial.EMERALD);
|
||||
setMaxStackSize(1);
|
||||
setMaxDamage(0);
|
||||
setCreativeTab(Config.getCreativeTab());
|
||||
setUnlocalizedName("powerFist");
|
||||
}
|
||||
|
||||
private ModeChangingItem getModeChangingItem() {
|
||||
if (this.modeChangingItem == null)
|
||||
this.modeChangingItem = new ModeChangingItem(this);
|
||||
return this.modeChangingItem;
|
||||
}
|
||||
|
||||
// FIXME: CHECKME!! these 2 were not overridden in 1.7.10 but should have been according to the comments.
|
||||
/**
|
||||
* Returns the strength of the stack against a given block. 1.0F base,
|
||||
* (Quality+1)*2 if correct blocktype, 1.5F if sword
|
||||
* this is actually "getStrVsBlock"
|
||||
*/
|
||||
public float getStrVsBlock( ItemStack stack, Block block) {
|
||||
return this.getStrVsBlock(stack, block, 0);
|
||||
@Override
|
||||
public float func_150893_a( ItemStack stack, Block block) {
|
||||
return 1.0F;
|
||||
}
|
||||
|
||||
/**
|
||||
* FORGE: Overridden to allow custom tool effectiveness
|
||||
*
|
||||
* This is actually getStrVsBlock
|
||||
*/
|
||||
public float getStrVsBlock(ItemStack stack, Block block, int meta) {
|
||||
return 1.0f;
|
||||
@Override
|
||||
public float getDigSpeed(ItemStack stack, Block block, int meta) {
|
||||
return this.func_150893_a(stack, block);
|
||||
}
|
||||
|
||||
// END CHECKME!! ===================================================================
|
||||
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerIcons(IIconRegister iconRegister) {
|
||||
String iconpath = MuseIcon.ICON_PREFIX + "handitem";
|
||||
this.itemIcon = iconRegister.registerIcon(iconpath);
|
||||
itemIcon = iconRegister.registerIcon(iconpath);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -134,7 +135,7 @@ public class ItemPowerFist extends MPSItemElectricTool
|
|||
double damage = ModuleManager.computeModularProperty(stack, MeleeAssistModule.PUNCH_DAMAGE);
|
||||
double knockback = ModuleManager.computeModularProperty(stack, MeleeAssistModule.PUNCH_KNOCKBACK);
|
||||
DamageSource damageSource = DamageSource.causePlayerDamage(player);
|
||||
if (entityBeingHit.attackEntityFrom(damageSource, (float)(int)damage)) {
|
||||
if (entityBeingHit.attackEntityFrom(damageSource, (int)damage)) {
|
||||
Vec3 lookVec = player.getLookVec();
|
||||
entityBeingHit.addVelocity(lookVec.xCoord * knockback, Math.abs(lookVec.yCoord + 0.2f) * knockback, lookVec.zCoord * knockback);
|
||||
}
|
||||
|
@ -167,16 +168,17 @@ public class ItemPowerFist extends MPSItemElectricTool
|
|||
* handle damage based on
|
||||
* itemstack data, like tags. Falls back to getDamageVsEntity.
|
||||
*
|
||||
* @param par1Entity The entity being attacked (or the attacking mob, if it's a mob
|
||||
* @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 par1Entity, ItemStack itemStack) {
|
||||
return (float)ModuleManager.computeModularProperty(itemStack, MeleeAssistModule.PUNCH_DAMAGE);
|
||||
public float getDamageVsEntity(Entity entity, ItemStack itemStack){
|
||||
return (float) ModuleManager.computeModularProperty(itemStack, MeleeAssistModule.PUNCH_DAMAGE);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public boolean isFull3D() {
|
||||
return true;
|
||||
}
|
||||
|
@ -185,6 +187,7 @@ public class ItemPowerFist extends MPSItemElectricTool
|
|||
* Return the enchantability factor of the item. In this case, 0. Might add
|
||||
* an enchantability module later :P
|
||||
*/
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
@ -201,7 +204,7 @@ public class ItemPowerFist extends MPSItemElectricTool
|
|||
* Return whether this item is repairable in an anvil.
|
||||
*/
|
||||
@Override
|
||||
public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) {
|
||||
public boolean getIsRepairable(ItemStack par1stack, ItemStack par2stack) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -209,7 +212,7 @@ public class ItemPowerFist extends MPSItemElectricTool
|
|||
* How long it takes to use or consume an item
|
||||
*/
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack par1ItemStack) {
|
||||
public int getMaxItemUseDuration(ItemStack p_77626_1_) {
|
||||
return 72000;
|
||||
}
|
||||
|
||||
|
@ -218,19 +221,11 @@ public class ItemPowerFist extends MPSItemElectricTool
|
|||
*/
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) {
|
||||
// Only one right click module should be active at a time.
|
||||
IPowerModule iPowerModulemodule = ModuleManager.getModule(getActiveMode(itemStack));
|
||||
if (iPowerModulemodule instanceof IRightClickModule) {
|
||||
((IRightClickModule) iPowerModulemodule).onRightClick(player, world, itemStack);
|
||||
for (IRightClickModule module : ModuleManager.getRightClickModules()) {
|
||||
if (module.isValidForItem(itemStack) && ModuleManager.itemHasActiveModule(itemStack, module.getDataName())) {
|
||||
module.onRightClick(player, world, itemStack);
|
||||
}
|
||||
}
|
||||
|
||||
/* Trying to simplify with new code above */
|
||||
// for (IRightClickModule module : ModuleManager.getRightClickModules()) {
|
||||
// if (module.isValidForItem(itemStack) && ModuleManager.itemHasActiveModule(itemStack, module.getDataName())) {
|
||||
// module.onRightClick(player, world, itemStack);
|
||||
// return itemStack;
|
||||
// }
|
||||
// }
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
|
@ -248,7 +243,7 @@ public class ItemPowerFist extends MPSItemElectricTool
|
|||
*/
|
||||
@Override
|
||||
public void onPlayerStoppedUsing(ItemStack itemStack, World world, EntityPlayer player, int par4) {
|
||||
String mode = this.getActiveMode(itemStack);
|
||||
String mode = getActiveMode(itemStack, player);
|
||||
IPowerModule module = ModuleManager.getModule(mode);
|
||||
if (module != null)
|
||||
((IRightClickModule)module).onPlayerStoppedUsing(itemStack, world, player, par4);
|
||||
|
@ -259,35 +254,22 @@ public class ItemPowerFist extends MPSItemElectricTool
|
|||
}
|
||||
|
||||
@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 = this.getActiveMode(itemStack);
|
||||
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);
|
||||
IPowerModule module = ModuleManager.getModule(mode);
|
||||
return module instanceof IRightClickModule && ((IRightClickModule)module).onItemUseFirst(itemStack, player, world, x, y, z, side, hitX, hitY, hitZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onItemUse( ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) {
|
||||
String mode = this.getActiveMode(itemStack);
|
||||
IPowerModule module2;
|
||||
IPowerModule module = module2 = ModuleManager.getModule(mode);
|
||||
if (module2 instanceof IRightClickModule) {
|
||||
return ((IRightClickModule)module2).onItemUse(itemStack, player, world, x, y, z, side, hitX, hitY, hitZ);
|
||||
}
|
||||
public boolean onItemUse(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);
|
||||
IPowerModule module = ModuleManager.getModule(mode);
|
||||
if (module instanceof IRightClickModule)
|
||||
return ((IRightClickModule) module).onItemUse(itemStack, player, world, x, y, z, side, hitX, hitY, hitZ);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "Forestry")
|
||||
public float getSaplingModifier(ItemStack stack, World world, EntityPlayer player, int x, int y, int z) {
|
||||
if (ModuleManager.itemHasActiveModule(stack, GrafterModule.MODULE_GRAFTER)) {
|
||||
ElectricItemUtils.drainPlayerEnergy(player, ModuleManager.computeModularProperty(stack, GrafterModule.GRAFTER_ENERGY_CONSUMPTION));
|
||||
MuseHeatUtils.heatPlayer(player, ModuleManager.computeModularProperty(stack, GrafterModule.GRAFTER_HEAT_GENERATION));
|
||||
return 100.0f;
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
public boolean canHarvestBlock(ItemStack stack, Block block, int meta, EntityPlayer player) {
|
||||
Object o = new Object();
|
||||
if (block.getMaterial().isToolNotRequired())
|
||||
return true;
|
||||
|
||||
|
@ -299,6 +281,17 @@ public class ItemPowerFist extends MPSItemElectricTool
|
|||
return false;
|
||||
}
|
||||
|
||||
@Optional.Method(modid = "Forestry")
|
||||
@Override
|
||||
public float getSaplingModifier(ItemStack itemStack, World world, EntityPlayer entityPlayer, int x, int y, int z) {
|
||||
if (ModuleManager.itemHasActiveModule(itemStack, GrafterModule.MODULE_GRAFTER)) {
|
||||
ElectricItemUtils.drainPlayerEnergy(entityPlayer, ModuleManager.computeModularProperty(itemStack, GrafterModule.GRAFTER_ENERGY_CONSUMPTION));
|
||||
MuseHeatUtils.heatPlayer(entityPlayer, ModuleManager.computeModularProperty(itemStack, GrafterModule.GRAFTER_HEAT_GENERATION));
|
||||
return 100.0f;
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
/* TE Crescent Hammer */
|
||||
@Override
|
||||
public boolean isUsable(ItemStack itemStack, EntityLivingBase entityLivingBase, int i, int i1, int i2) {
|
||||
|
@ -307,169 +300,181 @@ public class ItemPowerFist extends MPSItemElectricTool
|
|||
|
||||
/* TE Crescent Hammer */
|
||||
@Override
|
||||
public void toolUsed(ItemStack itemStack, EntityLivingBase entityLivingBase, int i, int i1, int i2) {
|
||||
public void toolUsed(ItemStack itemStack, EntityLivingBase entityLivingBase, int i, int i1, int i2) {}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@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 */
|
||||
@Override
|
||||
public boolean canWhack(EntityPlayer player, ItemStack itemStack, int i, int i1, int i2) {
|
||||
return this.getActiveMode(itemStack).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
public boolean canLink(EntityPlayer entityPlayer, ItemStack itemStack, EntityMinecart entityMinecart) {
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@Override
|
||||
public boolean canLink(EntityPlayer player, ItemStack itemStack, EntityMinecart entityMinecart) {
|
||||
return this.getActiveMode(itemStack).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
public boolean canBoost(EntityPlayer entityPlayer, ItemStack itemStack, EntityMinecart entityMinecart) {
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@Override
|
||||
public boolean canBoost(EntityPlayer player, ItemStack itemStack, EntityMinecart entityMinecart) {
|
||||
return this.getActiveMode(itemStack).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
public void onLink(EntityPlayer entityPlayer, ItemStack itemStack, EntityMinecart entityMinecart) {}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@Override
|
||||
public void onLink(EntityPlayer player, ItemStack itemStack, EntityMinecart entityMinecart) {
|
||||
}
|
||||
public void onWhack(EntityPlayer entityPlayer, ItemStack itemStack, int i, int i1, int i2) {}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@Override
|
||||
public void onWhack(EntityPlayer player, ItemStack itemStack, int i, int i1, int i2) {
|
||||
}
|
||||
|
||||
/* Railcraft Crowbar */
|
||||
@Override
|
||||
public void onBoost(EntityPlayer player, ItemStack itemStack, EntityMinecart entityMinecart) {
|
||||
}
|
||||
public void onBoost(EntityPlayer entityPlayer, ItemStack itemStack, EntityMinecart entityMinecart) {}
|
||||
|
||||
/* AE wrench */
|
||||
@Override
|
||||
public boolean canWrench(ItemStack itemStack, EntityPlayer player, int i, int i1, int i2) {
|
||||
return this.getActiveMode(itemStack).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
public boolean canWrench(ItemStack itemStack, EntityPlayer entityPlayer, int i, int i1, int i2) {
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* Buildcraft Wrench */
|
||||
@Override
|
||||
public void wrenchUsed(EntityPlayer player, int i, int i1, int i2) {
|
||||
}
|
||||
public void wrenchUsed(EntityPlayer entityPlayer, int i, int i1, int i2) {}
|
||||
|
||||
/* Buildcraft Wrench */
|
||||
@Override
|
||||
public boolean canWrench(EntityPlayer player, int i, int i1, int i2) {
|
||||
return this.getActiveMode(player.getHeldItem()).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
public boolean canWrench(EntityPlayer entityPlayer, int i, int i1, int i2) {
|
||||
return getActiveMode(entityPlayer.getHeldItem(), entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* Bluepower Screwdriver */
|
||||
@Override
|
||||
public boolean damage(ItemStack itemStack, int i, EntityPlayer entityPlayer, boolean b) {
|
||||
return this.getActiveMode(itemStack).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* ProjectRed Screwdriver */
|
||||
@Override
|
||||
public void damageScrewdriver(EntityPlayer entityPlayer, ItemStack itemStack) {
|
||||
}
|
||||
public void damageScrewdriver(EntityPlayer entityPlayer, ItemStack itemStack) {}
|
||||
|
||||
/* ProjectRed Screwdriver */
|
||||
@Override
|
||||
public boolean canUse(EntityPlayer entityPlayer, ItemStack itemStack) {
|
||||
return this.getActiveMode(itemStack).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* EnderIO Tool */
|
||||
@Override
|
||||
public void used(ItemStack itemStack, EntityPlayer entityPlayer, int i, int i1, int i2) {
|
||||
}
|
||||
public void used(ItemStack itemStack, EntityPlayer entityPlayer, int i, int i1, int i2) {}
|
||||
|
||||
/* EnderIO Tool */
|
||||
@Override
|
||||
public boolean canUse(ItemStack itemStack, EntityPlayer entityPlayer, int i, int i1, int i2) {
|
||||
return this.getActiveMode(itemStack).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* EnderIO Tool */
|
||||
@Override
|
||||
public boolean shouldHideFacades(ItemStack itemStack, EntityPlayer entityPlayer) {
|
||||
return this.getActiveMode(itemStack).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
return getActiveMode(itemStack, entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* Mekanism Wrench */
|
||||
@Override
|
||||
public boolean canUseWrench(EntityPlayer entityPlayer, int i, int i1, int i2) {
|
||||
return this.getActiveMode(entityPlayer.getHeldItem()).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
return getActiveMode(entityPlayer.getHeldItem(), entityPlayer).equals(OmniWrenchModule.MODULE_OMNI_WRENCH);
|
||||
}
|
||||
|
||||
/* IModeChangingItem -------------------------------------------------------------------------- */
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public IIcon getModeIcon(String mode, ItemStack stack, EntityPlayer player) {
|
||||
IPowerModule module = ModuleManager.getModule(mode);
|
||||
if (module != null)
|
||||
return module.getIcon(stack);
|
||||
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 List<String> getValidModes(ItemStack itemStack, EntityPlayer player) {
|
||||
return getValidModes(itemStack);
|
||||
}
|
||||
|
||||
private int clampMode(int selection, int modesSize) {
|
||||
if (selection > 0) {
|
||||
return selection % modesSize;
|
||||
} else {
|
||||
return (selection + modesSize * (-selection)) % modesSize;
|
||||
}
|
||||
}
|
||||
|
||||
/* IModeChangingModularItem ------------------------------------------------------------------- */
|
||||
@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;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getValidModes(ItemStack stack) {
|
||||
List<String> modes = new ArrayList<>();
|
||||
for (IRightClickModule module : ModuleManager.getRightClickModules()) {
|
||||
if (module.isValidForItem(stack))
|
||||
if (ModuleManager.itemHasModule(stack, module.getDataName()))
|
||||
modes.add(module.getDataName());
|
||||
public List<String> getValidModes(ItemStack itemStack) {
|
||||
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 "";
|
||||
}
|
||||
}
|
||||
return modes;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getActiveMode(ItemStack stack) {
|
||||
return this.getModeChangingItem().getActiveMode(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setActiveMode(ItemStack stack, String newMode) {
|
||||
this.getModeChangingItem().setActiveMode(stack, newMode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cycleMode(ItemStack stack, EntityPlayer player, int dMode) {
|
||||
this.getModeChangingItem().cycleMode(stack, player, dMode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String nextMode(ItemStack stack, EntityPlayer player) {
|
||||
return this.getModeChangingItem().nextMode(stack, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String prevMode(ItemStack stack, EntityPlayer player) {
|
||||
return this.getModeChangingItem().prevMode(stack, player);
|
||||
}
|
||||
|
||||
/* IModularItem ------------------------------------------------------------------------------- */
|
||||
@Override // FIXME: check to see if this is needed or not.
|
||||
public List<String> getLongInfo(EntityPlayer player, ItemStack stack) {
|
||||
List<String> info = new ArrayList<>();
|
||||
info.add("Detailed Summary");
|
||||
info.add(formatInfo("Armor", getArmorDouble(player, stack)));
|
||||
info.add(formatInfo("Energy Storage", getCurrentEnergy(stack)) + 'J');
|
||||
info.add(formatInfo("Weight", MuseCommonStrings.getTotalWeight(stack)) + 'g');
|
||||
return info;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getPlayerEnergy(EntityPlayer player) {
|
||||
return ElectricItemUtils.getPlayerEnergy(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drainPlayerEnergy(EntityPlayer player, double drainAmount) {
|
||||
ElectricItemUtils.drainPlayerEnergy(player, drainAmount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void givePlayerEnergy(EntityPlayer player, double joulesToGive) {
|
||||
ElectricItemUtils.givePlayerEnergy(player, joulesToGive);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import appeng.api.config.AccessRestriction;
|
|||
import com.google.common.collect.Sets;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ic2.api.item.IElectricItemManager;
|
||||
import net.machinemuse.api.electricity.IMuseElectricItem;
|
||||
import net.machinemuse.api.electricity.MuseElectricItem;
|
||||
import net.machinemuse.numina.geometry.Colour;
|
||||
|
@ -28,7 +29,7 @@ public class MPSItemElectricTool extends ItemTool implements IModularItemBase, I
|
|||
Blocks.lit_redstone_ore, Blocks.rail, Blocks.detector_rail, Blocks.golden_rail, Blocks.activator_rail);
|
||||
|
||||
|
||||
protected MPSItemElectricTool(float damageBonus, ToolMaterial material) {
|
||||
protected MPSItemElectricTool(float damageBonus, Item.ToolMaterial material) {
|
||||
super(damageBonus, material, blocksEffectiveOn);
|
||||
|
||||
}
|
||||
|
@ -71,7 +72,7 @@ public class MPSItemElectricTool extends ItemTool implements IModularItemBase, I
|
|||
|
||||
/* Industrialcraft 2 -------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public IMuseElectricItem getManager(ItemStack stack) {
|
||||
public IElectricItemManager getManager(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getManager(stack);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
//package net.machinemuse.powersuits.item;
|
||||
//
|
||||
//import net.machinemuse.api.IPowerModule;
|
||||
//import net.machinemuse.api.ModuleManager;
|
||||
//import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||
//import net.machinemuse.numina.item.IModeChangingItem;
|
||||
//import net.machinemuse.numina.item.NuminaItemUtils;
|
||||
//import net.machinemuse.numina.network.MusePacketModeChangeRequest;
|
||||
//import net.machinemuse.numina.network.PacketSender;
|
||||
|
@ -11,7 +9,6 @@
|
|||
//import net.minecraft.item.ItemStack;
|
||||
//import net.minecraft.util.IIcon;
|
||||
//
|
||||
//import javax.annotation.Nullable;
|
||||
//import java.util.ArrayList;
|
||||
//import java.util.List;
|
||||
//
|
||||
|
@ -19,91 +16,115 @@
|
|||
// * Author: MachineMuse (Claire Semple)
|
||||
// * Created: 4:52 PM, 9/5/13
|
||||
// *
|
||||
// * Ported to Java by lehjr on 11/1/16.
|
||||
// * Ported to Java by lehjr on 12/12/16.
|
||||
// */
|
||||
//public class ModeChangingModularItem implements IModeChangingItem {
|
||||
// private static ModeChangingModularItem INSTANCE;
|
||||
//public class ModeChangingModularItem implements IModeChangingModularItem {
|
||||
// private static ModeChangingModularItem ourInstance = new ModeChangingModularItem();
|
||||
//
|
||||
// public static ModeChangingModularItem getInstance() {
|
||||
// if (INSTANCE == null) {
|
||||
// INSTANCE = new ModeChangingModularItem();
|
||||
// }
|
||||
// return INSTANCE;
|
||||
// return ourInstance;
|
||||
// }
|
||||
//
|
||||
// private ModeChangingModularItem() {
|
||||
// }
|
||||
//
|
||||
// @Nullable
|
||||
// @Override
|
||||
// public IIcon getModeIcon(String mode, ItemStack stack, EntityPlayer player) {
|
||||
// IPowerModule module = ModuleManager.getModule(mode);
|
||||
// if (module != null)
|
||||
// return module.getIcon(stack);
|
||||
// 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;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public List<String> getValidModes(ItemStack stack) {
|
||||
// List<String> modes = new ArrayList<>();
|
||||
// for (IRightClickModule module : ModuleManager.getRightClickModules()) {
|
||||
// if (module.isValidForItem(stack))
|
||||
// if (ModuleManager.itemHasModule(stack, module.getDataName()))
|
||||
// modes.add(module.getDataName());
|
||||
//
|
||||
// private int clampMode(int selection, int modesSize) {
|
||||
// if (selection > 0) {
|
||||
// return selection % modesSize;
|
||||
// } else {
|
||||
// return (selection + modesSize * (-selection)) % modesSize;
|
||||
// }
|
||||
// return modes;
|
||||
// }
|
||||
////-------------
|
||||
//
|
||||
//
|
||||
// @Override
|
||||
// public List<String> getValidModes(ItemStack stack, EntityPlayer player) {
|
||||
// return getValidModes(stack);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public String getActiveMode(ItemStack stack) {
|
||||
// List<String> validModes;
|
||||
// String modeFromNBT = NuminaItemUtils.getTagCompound(stack).getString("mode");
|
||||
// if (!modeFromNBT.isEmpty())
|
||||
// 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 {
|
||||
// validModes = getValidModes(stack);
|
||||
// return (!validModes.isEmpty()) ? validModes.get(0) : "";
|
||||
// } else {
|
||||
// List<String> validModes = getValidModes(itemStack);
|
||||
// if (!validModes.isEmpty()) {
|
||||
// return validModes.get(0);
|
||||
// } else {
|
||||
// return "";
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void setActiveMode(ItemStack stack, String newMode) {
|
||||
// NuminaItemUtils.getTagCompound(stack).setString("mode", newMode);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void cycleMode(ItemStack stack, EntityPlayer player, int dMode) {
|
||||
// List<String> modes = this.getValidModes(stack);
|
||||
// if (modes.size() > 0) {
|
||||
// int newindex = clampMode(modes.indexOf(this.getActiveMode(stack)) + dMode, modes.size());
|
||||
// String newmode = (String)modes.get(newindex);
|
||||
// this.setActiveMode(stack, newmode);
|
||||
// PacketSender.sendToServer(new MusePacketModeChangeRequest(player, newmode, player.inventory.currentItem));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public String nextMode(ItemStack stack, EntityPlayer player) {
|
||||
// List<String> modes = getValidModes(stack);
|
||||
// if (modes.size() > 0) {
|
||||
// int newindex = clampMode(modes.indexOf(getActiveMode(stack)) + 1, modes.size());
|
||||
// return (String)modes.get(newindex);
|
||||
// }
|
||||
// else {
|
||||
// return "";
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public String prevMode(ItemStack stack, EntityPlayer player) {
|
||||
// List<String> modes = this.getValidModes(stack);
|
||||
// if (modes.size() > 0) {
|
||||
// int newindex = clampMode(modes.indexOf(getActiveMode(stack)) - 1, modes.size());
|
||||
// return (String)modes.get(newindex);
|
||||
// }
|
||||
// else {
|
||||
// return "";
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private static int clampMode(int selection, int modesSize) {
|
||||
// return (selection > 0) ? (selection % modesSize) : ((selection + modesSize * -selection) % modesSize);
|
||||
// }
|
||||
//}
|
|
@ -3,8 +3,8 @@ 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.IMuseElectricItem;
|
||||
import net.machinemuse.api.electricity.MuseElectricItem;
|
||||
import net.machinemuse.numina.geometry.Colour;
|
||||
import net.machinemuse.powersuits.powermodule.misc.CosmeticGlowModule;
|
||||
|
@ -41,35 +41,40 @@ public class ModularItemBase extends Item implements IModularItemBase {
|
|||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public int getColorFromItemStack(ItemStack stack, int par2) {
|
||||
return getColorFromItemStack(stack).getInt();
|
||||
public int getColorFromItemStack(ItemStack itemStack, int par2) {
|
||||
return getColorFromItemStack(itemStack).getInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Colour getGlowFromItemStack(ItemStack stack) {
|
||||
if (!ModuleManager.itemHasActiveModule(stack, CosmeticGlowModule.MODULE_GLOW)) {
|
||||
public Colour getGlowFromItemStack(ItemStack itemStack) {
|
||||
if (!ModuleManager.itemHasActiveModule(itemStack, CosmeticGlowModule.MODULE_GLOW)) {
|
||||
return Colour.LIGHTBLUE;
|
||||
}
|
||||
double computedred = ModuleManager.computeModularProperty(stack, CosmeticGlowModule.RED_GLOW);
|
||||
double computedgreen = ModuleManager.computeModularProperty(stack, CosmeticGlowModule.GREEN_GLOW);
|
||||
double computedblue = ModuleManager.computeModularProperty(stack, CosmeticGlowModule.BLUE_GLOW);
|
||||
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 stack) {
|
||||
if (!ModuleManager.itemHasActiveModule(stack, TintModule.MODULE_TINT)) {
|
||||
public Colour getColorFromItemStack(ItemStack itemStack) {
|
||||
if (!ModuleManager.itemHasActiveModule(itemStack, TintModule.MODULE_TINT)) {
|
||||
return Colour.WHITE;
|
||||
}
|
||||
double computedred = ModuleManager.computeModularProperty(stack, TintModule.RED_TINT);
|
||||
double computedgreen = ModuleManager.computeModularProperty(stack, TintModule.GREEN_TINT);
|
||||
double computedblue = ModuleManager.computeModularProperty(stack, TintModule.BLUE_TINT);
|
||||
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 void addInformation(ItemStack stack, EntityPlayer player, List currentTipList, boolean advancedToolTips) {
|
||||
MuseCommonStrings.addInformation(stack, player, currentTipList, advancedToolTips);
|
||||
public boolean requiresMultipleRenderPasses() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemStack, EntityPlayer player, List currentTipList, boolean advancedToolTips) {
|
||||
MuseCommonStrings.addInformation(itemStack, player, currentTipList, advancedToolTips);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -81,18 +86,18 @@ public class ModularItemBase extends Item implements IModularItemBase {
|
|||
/* IModularItem ------------------------------------------------------------------------------- */
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public List<String> getLongInfo(EntityPlayer player, ItemStack stack) {
|
||||
public List<String> getLongInfo(EntityPlayer player, ItemStack itemStack) {
|
||||
List<String> info = new ArrayList<>();
|
||||
|
||||
info.add("Detailed Summary");
|
||||
info.add(formatInfo("Armor", getArmorDouble(player, stack)));
|
||||
info.add(formatInfo("Energy Storage", getCurrentEnergy(stack)) + 'J');
|
||||
info.add(formatInfo("Weight", MuseCommonStrings.getTotalWeight(stack)) + 'g');
|
||||
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 stack) {
|
||||
public double getArmorDouble(EntityPlayer player, ItemStack itemStack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -114,28 +119,33 @@ public class ModularItemBase extends Item implements IModularItemBase {
|
|||
|
||||
/* MuseElectricItem --------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public double getCurrentEnergy(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getCurrentEnergy(stack);
|
||||
public double getCurrentEnergy(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getCurrentEnergy(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxEnergy(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getCurrentEnergy(stack);
|
||||
public double getMaxEnergy(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getCurrentEnergy(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCurrentEnergy(ItemStack stack, double energy) {
|
||||
MuseElectricItem.getInstance().setCurrentEnergy(stack, energy);
|
||||
public void setCurrentEnergy(ItemStack itemStack, double energy) {
|
||||
MuseElectricItem.getInstance().setCurrentEnergy(itemStack, energy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double drainEnergyFrom(ItemStack stack, double requested) {
|
||||
return MuseElectricItem.getInstance().drainEnergyFrom(stack, requested);
|
||||
public double drainEnergyFrom(ItemStack itemStack, double requested) {
|
||||
return MuseElectricItem.getInstance().drainEnergyFrom(itemStack, requested);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double giveEnergyTo(ItemStack stack, double provided) {
|
||||
return MuseElectricItem.getInstance().giveEnergyTo(stack, provided);
|
||||
public double giveEnergyTo(ItemStack itemStack, double provided) {
|
||||
return MuseElectricItem.getInstance().giveEnergyTo(itemStack, provided);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxDamage(ItemStack itemStack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
@ -144,30 +154,21 @@ public class ModularItemBase extends Item implements IModularItemBase {
|
|||
return itemStack.getTooltip(Minecraft.getMinecraft().thePlayer, false).toString();
|
||||
}
|
||||
|
||||
|
||||
/* Industrialcraft 2 -------------------------------------------------------------------------- */
|
||||
@Override
|
||||
public IMuseElectricItem 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);
|
||||
public Item getChargedItem(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getChargedItem(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getEmptyItem(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getEmptyItem(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -195,67 +196,78 @@ public class ModularItemBase extends Item implements IModularItemBase {
|
|||
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 Item getChargedItem(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getChargedItem(itemStack);
|
||||
public boolean use(ItemStack itemStack, double amount, EntityLivingBase entity) {
|
||||
return MuseElectricItem.getInstance().use(itemStack, amount, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getEmptyItem(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getEmptyItem(itemStack);
|
||||
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 stack, int energy, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().receiveEnergy(stack, energy, simulate);
|
||||
public int receiveEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().receiveEnergy(itemStack, energy, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int extractEnergy(ItemStack stack, int energy, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().extractEnergy(stack, energy, simulate);
|
||||
public int extractEnergy(ItemStack itemStack, int energy, boolean simulate) {
|
||||
return MuseElectricItem.getInstance().extractEnergy(itemStack, energy, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnergyStored(ItemStack theItem) {
|
||||
return MuseElectricItem.getInstance().getEnergyStored(theItem);
|
||||
public int getEnergyStored(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getEnergyStored(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxEnergyStored(ItemStack theItem) {
|
||||
return MuseElectricItem.getInstance().getMaxEnergyStored(theItem);
|
||||
public int getMaxEnergyStored(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getMaxEnergyStored(itemStack);
|
||||
}
|
||||
|
||||
|
||||
/* Applied Energistics 2 ---------------------------------------------------------------------- */
|
||||
@Override
|
||||
public double injectAEPower(ItemStack stack, double ae) {
|
||||
return MuseElectricItem.getInstance().injectAEPower(stack, ae);
|
||||
public double injectAEPower(ItemStack itemStack, double ae) {
|
||||
return MuseElectricItem.getInstance().injectAEPower(itemStack, ae);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double extractAEPower(ItemStack stack, double ae) {
|
||||
return MuseElectricItem.getInstance().extractAEPower(stack, ae);
|
||||
public double extractAEPower(ItemStack itemStack, double ae) {
|
||||
return MuseElectricItem.getInstance().extractAEPower(itemStack, ae);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAEMaxPower(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getAEMaxPower(stack);
|
||||
public double getAEMaxPower(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getAEMaxPower(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getAECurrentPower(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getAECurrentPower(stack);
|
||||
public double getAECurrentPower(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getAECurrentPower(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccessRestriction getPowerFlow(ItemStack stack) {
|
||||
return MuseElectricItem.getInstance().getPowerFlow(stack);
|
||||
public AccessRestriction getPowerFlow(ItemStack itemStack) {
|
||||
return MuseElectricItem.getInstance().getPowerFlow(itemStack);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,4 +25,4 @@ public class MPSPacketList {
|
|||
MusePacketHandler.packagers.put(10, MusePacketColourInfo.getPackagerInstance());
|
||||
MusePacketHandler.packagers.put(11, MusePacketPropertyModifierConfig.getPackagerInstance());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
package net.machinemuse.powersuits.network.packets;
|
||||
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.numina.network.MusePackager;
|
||||
import net.machinemuse.numina.network.MusePacket;
|
||||
import net.machinemuse.utils.MuseItemUtils;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
|
@ -39,7 +40,7 @@ public class MusePacketColourInfo extends MusePacket {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handleServer(EntityPlayer player) {
|
||||
public void handleServer(EntityPlayerMP player) {
|
||||
ItemStack stack = player.inventory.getStackInSlot(itemSlot);
|
||||
if (stack != null && stack.getItem() instanceof IModularItem) {
|
||||
NBTTagCompound renderTag = MuseItemUtils.getMuseRenderTag(stack);
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
package net.machinemuse.powersuits.network.packets;
|
||||
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.numina.general.MuseLogger;
|
||||
import net.machinemuse.numina.network.MusePackager;
|
||||
import net.machinemuse.numina.network.MusePacket;
|
||||
import net.machinemuse.utils.MuseItemUtils;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
|
@ -43,7 +44,7 @@ public class MusePacketCosmeticInfo extends MusePacket {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handleServer(EntityPlayer player) {
|
||||
public void handleServer(EntityPlayerMP player) {
|
||||
ItemStack stack = player.inventory.getStackInSlot(itemSlot);
|
||||
if (tagName != null && stack != null && stack.getItem() instanceof IModularItem) {
|
||||
NBTTagCompound itemTag = MuseItemUtils.getMuseItemTag(stack);
|
||||
|
|
|
@ -49,7 +49,7 @@ public class MusePacketInstallModuleRequest extends MusePacket {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handleServer(EntityPlayer player) {
|
||||
public void handleServer(EntityPlayerMP player) {
|
||||
ItemStack stack = player.inventory.getStackInSlot(itemSlot);
|
||||
if (moduleName != null) {
|
||||
InventoryPlayer inventory = player.inventory;
|
||||
|
|
|
@ -46,7 +46,7 @@ public class MusePacketPlasmaBolt extends MusePacket {
|
|||
EntityPlasmaBolt entity = (EntityPlasmaBolt) Minecraft.getMinecraft().theWorld.getEntityByID(entityID);
|
||||
entity.size = this.size;
|
||||
}
|
||||
catch (Exception e){
|
||||
catch (Exception ignored){
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import net.machinemuse.numina.network.MusePacket;
|
|||
import net.machinemuse.numina.network.PacketSender;
|
||||
import net.machinemuse.powersuits.control.PlayerInputMap;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
|
||||
|
@ -35,7 +36,7 @@ public class MusePacketPlayerUpdate extends MusePacket {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handleServer(EntityPlayer player) {
|
||||
public void handleServer(EntityPlayerMP player) {
|
||||
MusePacketPlayerUpdate updatePacket = new MusePacketPlayerUpdate(player, inputMap);
|
||||
player.motionX = inputMap.motionX;
|
||||
player.motionY = inputMap.motionY;
|
||||
|
|
|
@ -9,7 +9,6 @@ import net.machinemuse.numina.network.MusePackager;
|
|||
import net.machinemuse.numina.network.MusePacket;
|
||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||
import net.machinemuse.powersuits.powermodule.PropertyModifierFlatAdditive;
|
||||
import net.machinemuse.powersuits.powermodule.PropertyModifierIntLinearAdditive;
|
||||
import net.machinemuse.powersuits.powermodule.PropertyModifierLinearAdditive;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
|
@ -44,20 +43,16 @@ public class MusePacketPropertyModifierConfig extends MusePacket {
|
|||
writeString(module.getDataName());
|
||||
writeBoolean(module.isAllowed());
|
||||
writeInt(module.getPropertyModifiers().size());
|
||||
Map<String, List<IPropertyModifier>> propertyMap = module.getPropertyModifiers();
|
||||
|
||||
for (String propname : propertyMap.keySet()) {
|
||||
List<IPropertyModifier> propmodlist = propertyMap.get(propname);
|
||||
writeString(propname);
|
||||
for (Map.Entry<String, List<IPropertyModifier>> entry: module.getPropertyModifiers().entrySet()) {
|
||||
writeString(entry.getKey()); // propertyName
|
||||
List<IPropertyModifier> propmodlist = entry.getValue();
|
||||
writeInt(propmodlist.size());
|
||||
|
||||
for (IPropertyModifier propmod : propmodlist) {
|
||||
if (propmod instanceof PropertyModifierFlatAdditive)
|
||||
writeDouble(((PropertyModifierFlatAdditive) propmod).valueAdded);
|
||||
else if (propmod instanceof PropertyModifierIntLinearAdditive)
|
||||
writeDouble(((PropertyModifierIntLinearAdditive) propmod).multiplier);
|
||||
else
|
||||
writeDouble(0);
|
||||
else if (propmod instanceof PropertyModifierLinearAdditive)
|
||||
writeDouble(((PropertyModifierLinearAdditive) propmod).multiplier);
|
||||
else writeDouble(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -79,21 +74,18 @@ public class MusePacketPropertyModifierConfig extends MusePacket {
|
|||
IPowerModule module = ModuleManager.getModule(moduleName);
|
||||
if (module instanceof PowerModuleBase)
|
||||
((PowerModuleBase) module).setIsAllowed(allowed);
|
||||
|
||||
int numProps = d.readInt(data);
|
||||
for (int j = 0; j < numProps; j++ ) {
|
||||
String propName = d.readString(data);
|
||||
int numModifiers = d.readInt(data);
|
||||
List<IPropertyModifier> proplist = module.getPropertyModifiers().get(propName);
|
||||
|
||||
for (int m = 0; m < numModifiers; m++) {
|
||||
IPropertyModifier propMod = proplist.get(m);
|
||||
if (propMod instanceof PropertyModifierFlatAdditive)
|
||||
((PropertyModifierFlatAdditive) propMod).valueAdded = d.readDouble(data);
|
||||
else if (propMod instanceof PropertyModifierLinearAdditive)
|
||||
((PropertyModifierLinearAdditive) propMod).multiplier = d.readDouble(data);
|
||||
else
|
||||
d.readDouble(data);
|
||||
else d.readDouble(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ public class MusePacketSalvageModuleRequest extends MusePacket {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handleServer(EntityPlayer player) {
|
||||
public void handleServer(EntityPlayerMP player) {
|
||||
if (moduleName != null) {
|
||||
InventoryPlayer inventory = player.inventory;
|
||||
ItemStack stack = player.inventory.getStackInSlot(itemSlot);
|
||||
|
|
|
@ -4,6 +4,7 @@ import net.machinemuse.numina.network.MusePackager;
|
|||
import net.machinemuse.numina.network.MusePacket;
|
||||
import net.machinemuse.utils.MuseItemUtils;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
|
||||
|
@ -35,7 +36,7 @@ public class MusePacketToggleRequest extends MusePacket{
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handleServer(EntityPlayer player) {
|
||||
public void handleServer(EntityPlayerMP player) {
|
||||
MuseItemUtils.toggleModuleForPlayer(player, module, active);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import net.machinemuse.numina.network.MusePackager;
|
|||
import net.machinemuse.numina.network.MusePacket;
|
||||
import net.machinemuse.utils.MuseItemUtils;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
|
@ -50,7 +51,7 @@ public class MusePacketTweakRequest extends MusePacket {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handleServer(EntityPlayer player) {
|
||||
public void handleServer(EntityPlayerMP player) {
|
||||
if (moduleName != null && tweakName != null) {
|
||||
ItemStack stack = player.inventory.getStackInSlot(itemSlot);
|
||||
NBTTagCompound itemTag = MuseItemUtils.getMuseItemTag(stack);
|
||||
|
@ -78,4 +79,4 @@ public class MusePacketTweakRequest extends MusePacket {
|
|||
return new MusePacketTweakRequest(player, itemSlot, moduleName, tweakName, tweakValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
package net.machinemuse.powersuits.powermodule;
|
||||
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PowerModule extends PowerModuleBase {
|
||||
protected final String name;
|
||||
protected String name;
|
||||
protected String description;
|
||||
protected String category;
|
||||
protected final String textureFile;
|
||||
protected String textureFile;
|
||||
|
||||
public PowerModule(String name, List<IModularItem> validItems, String textureFile, String category) {
|
||||
super(name, validItems);
|
||||
|
|
|
@ -4,7 +4,7 @@ import net.machinemuse.api.ILocalizeableModule;
|
|||
import net.machinemuse.api.IPowerModule;
|
||||
import net.machinemuse.api.IPropertyModifier;
|
||||
import net.machinemuse.api.ModuleManager;
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.general.gui.MuseIcon;
|
||||
import net.machinemuse.numina.render.MuseTextureUtils;
|
||||
import net.machinemuse.powersuits.common.Config;
|
||||
|
@ -22,7 +22,7 @@ public abstract class PowerModuleBase implements ILocalizeableModule {
|
|||
protected List<ItemStack> defaultInstallCost;
|
||||
protected List<IModularItem> validItems;
|
||||
protected Map<String, List<IPropertyModifier>> propertyModifiers;
|
||||
protected static Map<String, String> units = new HashMap<>();
|
||||
protected static Map<String, String> units = new HashMap<String, String>();
|
||||
protected NBTTagCompound defaultTag;
|
||||
protected boolean isAllowed;
|
||||
protected IIcon icon;
|
||||
|
@ -180,4 +180,4 @@ public abstract class PowerModuleBase implements ILocalizeableModule {
|
|||
public String getUnlocalizedName() {
|
||||
return "Unknown Module";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
|
||||
public class PropertyModifierLinearAdditive implements IPropertyModifier {
|
||||
public double multiplier;
|
||||
public final String tradeoffName;
|
||||
public String tradeoffName;
|
||||
|
||||
public PropertyModifierLinearAdditive(String tradeoffName, double multiplier) {
|
||||
this.multiplier = multiplier;
|
||||
|
@ -21,4 +21,4 @@ public class PropertyModifierLinearAdditive implements IPropertyModifier {
|
|||
public String getTradeoffName() {
|
||||
return tradeoffName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package net.machinemuse.powersuits.powermodule;
|
||||
|
||||
import net.machinemuse.api.electricity.IModularItem;
|
||||
import net.machinemuse.api.IModularItem;
|
||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -30,4 +30,4 @@ public class RightClickPowerModule extends PowerModule implements IRightClickMod
|
|||
@Override
|
||||
public void onPlayerStoppedUsing(ItemStack itemStack, World world, EntityPlayer player, int par4) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue