- 7
- 1
- 2
Я хочу сделать ремейк плазменной пушки из ic2 поскольку оригинальная версия не тратит eu энергию при её использование. Как сделать так что при использование предмета тратилась у него eu энергия?
Код главного класса мода:
Код класса предмета:
Код главного класса мода:
Java:
package moreItemsAndBlocks;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import ic2.core.IC2;
import moreItemsAndBlocks.proxies.CommonProxy;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
@Mod(modid = Main.MODID, name = Main.MODNAME, version = Main.VERSION, dependencies = "required-after:IC2")
public class Main {
public static final String moreItemsAndBlocks_MODID = "moreItemsAndBlocks";
@Mod.Instance("moreItemsAndBlocks")
public static Main instance;
public static final CreativeTabs tabMoreItemsAndBlocks = new CreativeTabs("tabMoreItemsAndBlocks") {
public Item getTabIconItem() {
return Item.getItemFromBlock(Blocks.lava);
}
};
//@SidedProxy(clientSide = Main.CLIENT_PROXY, serverSide = Main.COMMON_PROXY)
//public static CommonProxy proxy;
public static Block A1;
public static Item SpectralEngine;
public static Item EngravedLapotronChip;
public static Item SpectralEngineParts;
public static Item itemGraviEngineParts;
public static Item GravitJetpack;
public static Item GravitJetpackParts;
public static Item ChipBoard;
public static Item ImprovedChipBoard;
public static Item AdvancedChipBoard;
public static Item Chip;
public static Item ImprovedChip;
public static Item AdvancedImprovedChip;
public static Item AdvancedChip;
public static Item MotherboardLvl1;
public static Item MotherboardLvl2;
public static Item MotherboardLvl3;
public static Item BatteryULV;
public static Item ImprovedBatteryLV;
public static Item BatteryMV;
public static Item ImprovedBatteryMV;
public static Item PlasmaGun;
public static final String MODID = "moreItemsAndBlocks";
public static final String MODNAME = "More items and blocks";
public static final String VERSION = "0.1";
//public static final String CLIENT_PROXY = "moreItemsAndBlocks.proxies.ClientProxy";
//public static final String COMMON_PROXY = "moreItemsAndBlocks.proxies.CommonProxy";
@EventHandler
public void preLoad(FMLPreInitializationEvent event) {
A1 = new A1(Material.iron).setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerBlock(A1, "A1");
SpectralEngine = new SpectralEngine().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(SpectralEngine, "SpectralEngine");
EngravedLapotronChip = new EngravedLapotronChip().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(EngravedLapotronChip, "EngravedLapotronChip");
SpectralEngineParts = new SpectralEngineParts().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(SpectralEngineParts, "SpectralEngineParts");
itemGraviEngineParts = new itemGraviEngineParts().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(itemGraviEngineParts, "itemGraviEngineParts");
GravitJetpack = new GravitJetpack().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(GravitJetpack, "GravitJetpack");
GravitJetpackParts = new GravitJetpackParts().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(GravitJetpackParts, "GravitJetpackParts");
ChipBoard = new ChipBoard().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(ChipBoard, "ChipBoard");
ImprovedChipBoard = new ImprovedChipBoard().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(ImprovedChipBoard, "ImprovedChipBoard");
AdvancedChipBoard = new AdvancedChipBoard().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(AdvancedChipBoard, "AdvancedChipBoard");
Chip = new Chip().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(Chip, "Chip");
ImprovedChip = new ImprovedChip().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(ImprovedChip, "ImprovedChip");
AdvancedImprovedChip = new AdvancedImprovedChip().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(AdvancedImprovedChip, "AdvancedImprovedChip");
AdvancedChip = new AdvancedChip().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(AdvancedChip, "AdvancedChip");
MotherboardLvl1 = new MotherboardLvl1().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(MotherboardLvl1, "MotherboardLvl1");
MotherboardLvl2 = new MotherboardLvl2().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(MotherboardLvl2, "MotherboardLvl2");
MotherboardLvl3 = new MotherboardLvl3().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(MotherboardLvl3, "MotherboardLvl3");
BatteryULV = new BatteryULV().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(BatteryULV, "BatteryULV");
PlasmaGun = new PlasmaGun().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(PlasmaGun, "PlasmaGun");
BatteryMV = new BatteryMV().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(BatteryMV, "BatteryMV");
ImprovedBatteryMV = new BatteryMV1().setCreativeTab(tabMoreItemsAndBlocks);
GameRegistry.registerItem(ImprovedBatteryMV, "BatteryMV1");
}
}
Java:
package moreItemsAndBlocks;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ic2.api.item.IElectricItem;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import ic2.core.init.*;
import ic2.core.item.tool.EntityParticle;
import net.minecraft.world.*;
import net.minecraft.entity.player.*;
import ic2.core.*;
import net.minecraft.entity.*;
public class PlasmaGun extends Item implements IElectricItem{
public PlasmaGun() {
this.setUnlocalizedName("PlasmaGun");
this.setMaxStackSize(1);
this.setMaxDamage(27);
this.setTextureName("PlasmaGun");
}
@Override
public ItemStack onItemRightClick(final ItemStack stack, final World world, final EntityPlayer player) {
if (!IC2.platform.isSimulating()) {
return stack;
}
final EntityParticle particle = new EntityParticle(world, (EntityLivingBase)player, 8.0f, 1.0, 2.0);
world.spawnEntityInWorld((Entity)particle);
return super.onItemRightClick(stack, world, player);
}
public boolean canProvideEnergy(final ItemStack itemStack) {
return true;
}
public Item getChargedItem(final ItemStack itemStack) {
return this;
}
public Item getEmptyItem(final ItemStack itemStack) {
return this;
}
public double getMaxCharge(final ItemStack itemStack) {
return 100000000;
}
public int getTier(final ItemStack itemStack) {
return 1;
}
public double getTransferLimit(final ItemStack itemStack) {
return 131072.0;
}
}