ModularPowersuits/src/main/java/net/machinemuse/powersuits/item/ModeChangingModularItem.java

130 lines
4.4 KiB
Java

//package net.machinemuse.powersuits.item;
//
//import net.machinemuse.api.ModuleManager;
//import net.machinemuse.api.moduletrigger.IRightClickModule;
//import net.machinemuse.numina.item.NuminaItemUtils;
//import net.machinemuse.numina.network.MusePacketModeChangeRequest;
//import net.machinemuse.numina.network.PacketSender;
//import net.minecraft.entity.player.EntityPlayer;
//import net.minecraft.item.ItemStack;
//import net.minecraft.util.IIcon;
//
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * Author: MachineMuse (Claire Semple)
// * Created: 4:52 PM, 9/5/13
// *
// * Ported to Java by lehjr on 12/12/16.
// */
//public class ModeChangingModularItem implements IModeChangingModularItem {
// private static ModeChangingModularItem ourInstance = new ModeChangingModularItem();
//
// public static ModeChangingModularItem getInstance() {
// return ourInstance;
// }
//
// private ModeChangingModularItem() {
// }
//
// @Override
// public void setActiveMode(ItemStack itemStack, String newMode) {
// NuminaItemUtils.getTagCompound(itemStack).setString("mode", newMode);
// }
//
// @Override
// public String getActiveMode(ItemStack itemStack, EntityPlayer player) {
// return getActiveMode(itemStack);
// }
//
// @Override
// public void cycleMode(ItemStack itemStack, EntityPlayer player, int dMode) {
// List<String> modes = getValidModes(itemStack, player);
// if (!modes.isEmpty()) {
// int newindex = clampMode(modes.indexOf(getActiveMode(itemStack, player)) + dMode, modes.size());
// String newmode = modes.get(newindex);
// setActiveMode(itemStack, newmode);
// PacketSender.sendToServer(new MusePacketModeChangeRequest(player,newmode, player.inventory.currentItem));
// }
// }
//
// @Override
// public String nextMode(ItemStack itemStack, EntityPlayer player) {
// List<String> modes = getValidModes(itemStack, player);
// if (!modes.isEmpty()) {
// int newindex = clampMode(modes.indexOf(getActiveMode(itemStack, player)) + 1, modes.size());
// return modes.get(newindex);
// } else {
// return "";
// }
// }
//
// @Override
// public String prevMode(ItemStack itemStack, EntityPlayer player) {
// List<String> modes = getValidModes(itemStack, player);
// if (!modes.isEmpty()) {
// int newindex = clampMode(modes.indexOf(getActiveMode(itemStack, player)) - 1, modes.size());
// return modes.get(newindex);
// } else {
// return "";
// }
// }
//
// @Override
// public void cycleModeForItem(ItemStack itemStack, EntityPlayer player, int dMode) {
// if (itemStack != null) {
// this.cycleMode(itemStack, player, dMode);
// }
// }
//
// @Override
// public IIcon getModeIcon(String mode, ItemStack itemStack, EntityPlayer player) {
// if (!mode.isEmpty())
// return ModuleManager.getModule(mode).getIcon(itemStack);
// return null;
// }
//
//
// private int clampMode(int selection, int modesSize) {
// if (selection > 0) {
// return selection % modesSize;
// } else {
// return (selection + modesSize * (-selection)) % modesSize;
// }
// }
////-------------
//
//
// @Override
// public List<String> getValidModes(ItemStack stack, EntityPlayer player) {
// return getValidModes(stack);
// }
//
// @Override
// public List<String> getValidModes(ItemStack itemStack) {
//// List<String> validModes = new ArrayList<>();
////
//// for (IRightClickModule module : ModuleManager.getRightClickModules()) {
//// if (module.isValidForItem(itemStack))
//// if (ModuleManager.itemHasActiveModule(itemStack, module.getDataName()))
//// validModes.add(module.getDataName());
//// }
// return ModuleManager.getValidModes(itemStack);
// }
//
// @Override
// public String getActiveMode(ItemStack itemStack) {
// String modeFromNBT = NuminaItemUtils.getTagCompound(itemStack).getString("mode");
// if (!modeFromNBT.isEmpty()) {
// return modeFromNBT;
// } else {
// List<String> validModes = getValidModes(itemStack);
// if (!validModes.isEmpty()) {
// return validModes.get(0);
// } else {
// return "";
// }
// }
// }
//}