itemstack.setString("id","Item");
itemstack.set("Item", itemStackTag);
nbtTileEntity.set("SpawnData",itemstack);
nbtTileEntity.setShort("SpawnCount", (short)ist.getCount());
nbtTileEntity.setInt("MinSpawnDelay", ist.getMindelay()*20);
nbtTileEntity.setInt("MaxSpawnDelay", ist.getMaxdelay()*20);
nbtTileEntity.setShort("SpawnRange",(short)ist.getRange());
nbtTileEntity.setShort("RequiredPlayerRange", (short)ist.getRequiredrange());
sadece önemli kısımları bunlar, nbt de neleri değiştirmeniz gerektiği ile alakalı, yalnız bu 1.12 için lan nbt her sürümde farklılık gösterir nbtler ona göre diğer sürümlerde nbt şeklini aratmalısınız wiki pediadan sağlıklı bi şekilde bulabilirsiniz.
öncelikle koyacağınız itemstack ı yani skriptte sanırım item olarak geçiyor onun id değişkenini Item olarak ayarlayın ardından mob spawner a gelin, SpawnData yı o itemstack yapın diğer ayarlar gereksiz onları yapmasanızda olur, yalnız bi önemli uyarıda bulunıyım item give yaparak verip sonra yere tıklatırsanız işe yaramaz eski pig e geri döner, bunun çözümü bloğu koyduktan sonra değiştirmek yani bu işlemi block place eventi içinde yapmanız gerekiyor