For the cupcakes: Preheat the oven to 350 degrees F. Cream the granulated sugar and the butter until thoroughly mixed. Add the eggs one at a time. Add the oil and vanilla. Cream the batter until fluffy.
Combine the flour, baking powder and salt in a separate bowl. Alternate mixing in the flour mixture and the buttermilk into the creamed mixture, until completely mixed. Distribute the batter into the cupcake liners. Bake the cupcakes, about 12 minutes.
For the peanut butter buttercream: Mix the butter on high speed for 3 minutes. Add the vanilla flavoring on low speed. Slowly add the confectioners' sugar on low speed. Mix in the peanut butter.
Grease a microwave-safe bowl with the shortening. Add the marshmallows and microwave on high for 30 second increments. Stir the marshmallows with a spatula between the time increments. Mix in the confectioners' sugar until the consistency you desire is reached. Shape the marshmallow mixture into the desired shape using your hands.
Squirt the jelly filling into the center of each cupcake. Pipe the peanut butter buttercream in a ring onto the top of each cupcake. Fill the center of each peanut butter buttercream ring with more jelly filling. Place the chopped peanuts on the outside ring of the peanut butter buttercream. Garnish each cupcake with the marshmallow worms.