Спавн предмета возле блока

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);
    }
 
Последнее редактирование:
Сверху