- 122
- 4
- 6
Готовый код кто столкнется с той же проблемой
Java:
@Override
public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) {
ItemStack itemstack = playerIn.getHeldItem(handIn);
RayTraceResult raytraceresult = this.rayTrace(worldIn, playerIn, true);
if (raytraceresult == null) {
return new ActionResult<ItemStack>(EnumActionResult.PASS, itemstack);
}
else {
if (raytraceresult.typeOfHit == RayTraceResult.Type.BLOCK) {
BlockPos blockpos = raytraceresult.getBlockPos();
int x = blockpos.getX();
int y = blockpos.getY();
int z = blockpos.getZ();
if (worldIn.getBlockState(blockpos).getBlock() == Blocks.OBSIDIAN) {
if (!worldIn.isRemote) {
itemstack.shrink(1);
//Спавн предмета на блоке
EntityItem entityToSpawn = new EntityItem(worldIn, (x + 0.5), (y + 1.2), (z + 0.5), new ItemStack(ItemsInit.AUGM_GEM_OFF, 1));
entityToSpawn.setPickupDelay(10);
worldIn.spawnEntity(entityToSpawn);
//Спавн возле игрока
playerIn.dropItem(/*Предмет который вам нужен*/ Items.BEEF, /*Количество*/ 1);
//Выдача в инвентарь
playerIn.inventory.addItemStackToInventory(new ItemStack(/*Предмет который вам нужен*/ Items.APPLE, /*Количество*/ 1));
if (worldIn instanceof WorldServer)
((WorldServer) worldIn).spawnParticle(EnumParticleTypes.PORTAL, (x + 0.5), (y + 0.5), (z + 0.5), 29, 0.1, 0.2, 0.1, 0.001, new int[0]);
worldIn.destroyBlock(blockpos, false);
}
}
}
}
return super.onItemRightClick(worldIn, playerIn, handIn);
}
Последнее редактирование: