Heat oil in a Dutch oven or a thick-bottomed pot (enough to fit the pieces of duck). Add duck and brown the sides of each piece. Remove and set aside.
Drain rendered fat* from the Dutch oven/pot leaving 1 to 2 tablespoons of fat to fry the rest of the ingredients.
Fry garlic cloves and ginger on medium heat in the Dutch oven/pot until fragrant.
Add in five spice powder, Gula Melaka, light soy sauce, thick dark soy sauce and oyster sauce and stir the mixture around for a few seconds.
Add in the browned meat and stir around in the mixture for 2-3 minutes.
Add in all other ingredients (Shiitake mushrooms, star anise, cinnamon stick, ground black pepper and water). Ensure that the liquid fully covers the duck.
Once the liquid reaches to a boil, turn down the heat and cover the Dutch oven/pot.
Let it simmer for 1.5 to 2 hours until meat is falling off the bone.
Best served with a bowl of congee or steamed rice.