- 50
- 7
1)
Набросал на быструю руку класс ItemGun и класс АК-47, есть какие-нибудь советы, что нужно исправить?
2) Как можно зарегистрировать Entity?
уже выдает ошибку
Набросал на быструю руку класс ItemGun и класс АК-47, есть какие-нибудь советы, что нужно исправить?
ItemGun:
public class ItemGun extends Item implements IHasModel {
public double rateOfFire;
public double damage;
public int ammoSize;
public double reloadSpeed;
public ItemGun(int ammoSize, double damage, float rateOfFire, float reloadSpeed) {
this.ammoSize = ammoSize;
this.damage = damage;
this.rateOfFire = rateOfFire;
this.reloadSpeed = reloadSpeed;
this.maxStackSize = 1;
this.setMaxDamage(ammoSize);
ItemsRegister.ITEMS.add(this);
}
public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
{
ItemStack itemstack = playerIn.getHeldItem(handIn);
if (itemstack.getItemDamage()>ammoSize)
{
playerIn.setActiveHand(handIn);
if (!worldIn.isRemote)
{
EntityBullet bullet = new EntityBullet(worldIn, playerIn);
bullet.shoot(playerIn, playerIn.rotationPitch, playerIn.rotationYaw, 0.0F, 1.5F, 1.0F);
worldIn.spawnEntity(bullet);
}
return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, itemstack);
}
else
{
playerIn.sendStatusMessage(new TextComponentString("§cНужно перезарядить"), true);
return new ActionResult<ItemStack>(EnumActionResult.FAIL, itemstack);
}
}
@Override
public void registerModels() {
}
}
AK_47:
public class AK47 extends ItemGun {
public AK47(String name, int ammoSize, int damage, float rateOfFire, float reloadSpeed) {
super(ammoSize, damage, rateOfFire, reloadSpeed);
this.setUnlocalizedName(name);
this.setRegistryName(name);
this.setCreativeTab(CreativeTabs.COMBAT);
}
}
2) Как можно зарегистрировать Entity?
Java:
@SubscribeEvent
public <T> void registerEntity(RegistryEvent.Register<Entity> event) {
}
The type Entity is not a valid substitute for the bounded parameter <T extends IForgeRegistryEntry<T>> of the type RegistryEvent.Register<T>