Можно ли изменять прочность предмета через другой класс например:
У тебя в инвентаре предмет(в руке)(какой то другой предмет) ты его и у другого предмета(Ammo) отнимается прочность(как у меча,зажигалки или кирки)
или управление через переменную?
подскажите
код
public class Ammo extends Item
{
public static int Used=20;
public ItemStack par1ItemStack1;
public Ammo(int par1)
{
super(par1);
this.maxStackSize = 1;
this.setMaxDamage(5);
this.setCreativeTab(CreativeTabs.tabTools);
}
public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
{
par1ItemStack.damageItem(1, par2EntityPlayer);
return true;
}
@Override
public void registerIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon("TestMod:Ammo");
}
}
код класса из которого надо управлять прочностью предмета (Ammo)
public class blaster extends Item
{
public int fireSpeed;
private static Object amethyst;
public blaster(int par1) {
super(par1);
this.maxStackSize = 1;
this.setCreativeTab(CreativeTabs.tabCombat);
MinecraftForgeClient.registerItemRenderer(this.itemID, (IItemRenderer) new BlasterRender());
this.setFull3D();
}
public void registerIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon("TestMod:blaster");
}
public void onUpdate(ItemStack is, World world, Entity entity, int i, boolean b)
{
this.fireSpeed++;
}
public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player)
{
this.fireSpeed++;
if(this.fireSpeed >= 3) // 32 - задержка между выстрелами в (тиках вроде)
{
int itemAmmoID = TestMod.Patron.itemID; // Предмет патрон (в данном случае редстоун) - если есть в инвентаре - будет при выстреле забираться из инвентаря по одному
if(player.inventory.hasItem(itemAmmoID) || player.capabilities.isCreativeMode)
{
if(!world.isRemote)
{
this.fireSpeed = 0;
world.spawnEntityInWorld(new EntitiBlasterBullet(world, player));
}
player.rotationPitch -= 1.0F; // Отдача - пробуй эксперементировть в debug-mode
world.playSoundAtEntity(player, "random.explode", 1.5F, 1.8F); // Звук стрельбы - тут вроде всё понятно. "mod:sound" - смотрим туториал по загрузки звуков при помощи SoundLoadEvent // par3 - громкость (деф. 1.0F) par4 - тональность (деф. 1.0F)
if(!player.capabilities.isCreativeMode) player.inventory.consumeInventoryItem(itemAmmoID);
}
else
{
world.playSoundAtEntity(player, "random.click", 0.5F, 1.1F);
// Звук, когда нету патрон (редстоуна) - см альтернативу выше
}
}
return is;
}
}
У тебя в инвентаре предмет(в руке)(какой то другой предмет) ты его и у другого предмета(Ammo) отнимается прочность(как у меча,зажигалки или кирки)
или управление через переменную?
подскажите
код
public class Ammo extends Item
{
public static int Used=20;
public ItemStack par1ItemStack1;
public Ammo(int par1)
{
super(par1);
this.maxStackSize = 1;
this.setMaxDamage(5);
this.setCreativeTab(CreativeTabs.tabTools);
}
public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
{
par1ItemStack.damageItem(1, par2EntityPlayer);
return true;
}
@Override
public void registerIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon("TestMod:Ammo");
}
}
код класса из которого надо управлять прочностью предмета (Ammo)
public class blaster extends Item
{
public int fireSpeed;
private static Object amethyst;
public blaster(int par1) {
super(par1);
this.maxStackSize = 1;
this.setCreativeTab(CreativeTabs.tabCombat);
MinecraftForgeClient.registerItemRenderer(this.itemID, (IItemRenderer) new BlasterRender());
this.setFull3D();
}
public void registerIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon("TestMod:blaster");
}
public void onUpdate(ItemStack is, World world, Entity entity, int i, boolean b)
{
this.fireSpeed++;
}
public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player)
{
this.fireSpeed++;
if(this.fireSpeed >= 3) // 32 - задержка между выстрелами в (тиках вроде)
{
int itemAmmoID = TestMod.Patron.itemID; // Предмет патрон (в данном случае редстоун) - если есть в инвентаре - будет при выстреле забираться из инвентаря по одному
if(player.inventory.hasItem(itemAmmoID) || player.capabilities.isCreativeMode)
{
if(!world.isRemote)
{
this.fireSpeed = 0;
world.spawnEntityInWorld(new EntitiBlasterBullet(world, player));
}
player.rotationPitch -= 1.0F; // Отдача - пробуй эксперементировть в debug-mode
world.playSoundAtEntity(player, "random.explode", 1.5F, 1.8F); // Звук стрельбы - тут вроде всё понятно. "mod:sound" - смотрим туториал по загрузки звуков при помощи SoundLoadEvent // par3 - громкость (деф. 1.0F) par4 - тональность (деф. 1.0F)
if(!player.capabilities.isCreativeMode) player.inventory.consumeInventoryItem(itemAmmoID);
}
else
{
world.playSoundAtEntity(player, "random.click", 0.5F, 1.1F);
// Звук, когда нету патрон (редстоуна) - см альтернативу выше
}
}
return is;
}
}