Starting with Force Pickaxe
This commit is contained in:
parent
255c87ef75
commit
771440dccc
2 changed files with 121 additions and 0 deletions
|
@ -10,6 +10,7 @@ import ley.modding.dartcraft.block.Blocks;
|
|||
import ley.modding.dartcraft.internal.Registry;
|
||||
import ley.modding.dartcraft.item.BaseItem;
|
||||
import ley.modding.dartcraft.item.Items;
|
||||
import ley.modding.dartcraft.item.tool.ItemForcePickaxe;
|
||||
import ley.modding.dartcraft.proxy.CommonProxy;
|
||||
import ley.modding.dartcraft.tab.DartcraftTab;
|
||||
import ley.modding.tileralib.api.IRegistry;
|
||||
|
@ -44,6 +45,7 @@ public class Dartcraft {
|
|||
Items.forcenugget = registry.registerItem(new BaseItem("forcenugget"));
|
||||
Items.forcestick = registry.registerItem(new BaseItem("forcestick"));
|
||||
Items.forceshard = registry.registerItem(new BaseItem("forceshard"));
|
||||
registry.registerItem(new ItemForcePickaxe());
|
||||
Blocks.powerore = registry.registerBlock(new BlockPowerOre());
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,119 @@
|
|||
package ley.modding.dartcraft.item.tool;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import ley.modding.dartcraft.Dartcraft;
|
||||
import ley.modding.dartcraft.api.IBreakable;
|
||||
import ley.modding.dartcraft.api.IForceConsumer;
|
||||
import ley.modding.dartcraft.item.Items;
|
||||
import ley.modding.dartcraft.util.ForceConsumerUtils;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemPickaxe;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
|
||||
public class ItemForcePickaxe extends ItemPickaxe implements IBreakable, IForceConsumer {
|
||||
|
||||
private static int damage = 1;
|
||||
private static float efficiency = 5.0F;
|
||||
private static int toolLevel = 10;
|
||||
public static ToolMaterial material = EnumHelper.addToolMaterial("FORCE", toolLevel, 512, efficiency, (float) damage, 0);
|
||||
|
||||
private IIcon heatPick;
|
||||
|
||||
public ItemForcePickaxe() {
|
||||
super(material);
|
||||
setUnlocalizedName("forcepickaxe");
|
||||
setTextureName(Dartcraft.MODID + ":forcepickaxe");
|
||||
setCreativeTab(Dartcraft.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
|
||||
if (!stack.hasTagCompound()) {
|
||||
stack.setTagCompound(new NBTTagCompound());
|
||||
}
|
||||
|
||||
stack.getTagCompound().setBoolean("active", !stack.getTagCompound().getBoolean("active"));
|
||||
if (!Dartcraft.proxy.isSimulating(world)) {
|
||||
if (stack.getTagCompound().getBoolean("active")) {
|
||||
Dartcraft.proxy.sendChatToPlayer(player, "Area mode activated.");
|
||||
} else {
|
||||
Dartcraft.proxy.sendChatToPlayer(player, "Area mode deactivated");
|
||||
}
|
||||
}
|
||||
|
||||
return stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack itemReturned() {
|
||||
return new ItemStack(Items.forceshard);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public IIcon getIcon(ItemStack stack, int pass) {
|
||||
if(stack.hasTagCompound()) {
|
||||
NBTTagCompound upgrades = stack.getTagCompound().getCompoundTag("upgrades");
|
||||
if(upgrades != null && upgrades.hasKey("heat")) {
|
||||
return heatPick;
|
||||
}
|
||||
}
|
||||
return itemIcon;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public boolean requiresMultipleRenderPasses() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack) {
|
||||
if(stack.hasTagCompound() && stack.getTagCompound().hasKey("upgrades")) {
|
||||
NBTTagCompound upgrades = stack.getTagCompound().getCompoundTag("upgrades");
|
||||
if(upgrades.hasKey("Heat")) {
|
||||
return EnumRarity.uncommon;
|
||||
}
|
||||
}
|
||||
|
||||
return EnumRarity.common;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerIcons(IIconRegister reg) {
|
||||
heatPick = reg.registerIcon(Dartcraft.MODID + ":heatpickaxe");
|
||||
super.registerIcons(reg);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getStored(ItemStack stack) {
|
||||
return ForceConsumerUtils.getStoredForce(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxStored(ItemStack stack) {
|
||||
return 10000;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int amountUsedBase(ItemStack stack) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useForce(ItemStack stack, int var2, boolean var3) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean attemptRepair(ItemStack stack) {
|
||||
return ForceConsumerUtils.attemptRepair(stack);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue