Both wooden and metal alloy (generally aluminum) bats are generally permitted in amateur baseball. Metal alloy bats are generally regarded as being capable of hitting a ball faster and farther with the same power. However, increasing numbers of "wooden bat leagues" have emerged in recent years, reflecting a trend back to wood over safety concerns and, in the case of collegiate summer baseball wood-bat leagues, to better prepare players for the professional leagues that require wood bats. Metal alloy bats can send a ball towards an unprotected pitcher's head up to 60 ft 6 in (18.44 m) away at a velocity far too high for the pitcher to get out of the way in time. Some amateur baseball organizations enforce bat manufacturing and testing standards which attempt to limit maximum ball speed for wood and non-wood bats.[17][18][19]
A fungo bat's size and weight make it easier to operate with one hand or two. Coaches can toss a ball up with one hand and hit pop flies or ground balls farther and with greater accuracy with a fungo bat than with a regular bat. According to an article by LJWorld, high school baseball coach Brad Stoll said fungo bats allow him to hit more balls because heavier regular bats would "wear you out." Fungo bats should be used as a practice tool only and should not be used to hit a pitched ball.
Maple bats in particular were once known (circa 2008) to potentially shatter in a way that resulted in many sharp edges, sometimes creating more dangerous projectiles when a bat broke.[9][13] Maple bat manufacture evolved significantly, in cooperation with Major League Baseball,[11] paying special attention to grain slope, and including an ink spot test to confirm safest wood grain orientation.[11]

First base fungo hits fly balls to center field (helps here if both fungo hitters move up and apart, hitting from about the front of the mound extended towards the bases). Center throws to second, second baseman is cutoff (for us it was, anyways - change to suit your style). Third base fungo hits balls to left field, who throw to third, with a second shortstop as cutoff (but you really don't need one, if you're shorthanded).

!function(e){function n(t){if(r[t])return r[t].exports;var i=r[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,n),i.l=!0,i.exports}var t=window.webpackJsonp;window.webpackJsonp=function(n,r,o){for(var s,a,l=0,u=[];l1)for(var t=1;tf)return!1;if(h>c)return!1;var e=window.require.hasModule("shared/browser")&&window.require("shared/browser");return!e||!e.opera}function a(){var e=o(d);d=[],0!==e.length&&u("/ajax/log_errors_3RD_PARTY_POST",{errors:JSON.stringify(e)})}var l=t("./third_party/tracekit.js"),u=t("./shared/basicrpc.js").rpc;l.remoteFetching=!1,l.collectWindowErrors=!0,l.report.subscribe(r);var c=10,f=window.Q&&window.Q.errorSamplingRate||1,d=[],h=0,p=i(a,1e3),m=window.console&&!(window.NODE_JS&&window.UNIT_TEST);n.report=function(e){try{m&&console.error(e.stack||e),l.report(e)}catch(e){}};var w=function(e,n,t){r({name:n,message:t,source:e,stack:l.computeStackTrace.ofCaller().stack||[]}),m&&console.error(t)};n.logJsError=w.bind(null,"js"),n.logMobileJsError=w.bind(null,"mobile_js")},"./shared/globals.js":function(e,n,t){var r=t("./shared/links.js");(window.Q=window.Q||{}).openUrl=function(e,n){var t=e.href;return r.linkClicked(t,n),window.open(t).opener=null,!1}},"./shared/links.js":function(e,n){var t=[];n.onLinkClick=function(e){t.push(e)},n.linkClicked=function(e,n){for(var r=0;r>>0;if("function"!=typeof e)throw new TypeError;for(arguments.length>1&&(t=n),r=0;r>>0,r=arguments.length>=2?arguments[1]:void 0,i=0;i>>0;if(0===i)return-1;var o=+n||0;if(Math.abs(o)===Infinity&&(o=0),o>=i)return-1;for(t=Math.max(o>=0?o:i-Math.abs(o),0);t>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(t=n),r=0;r>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(t=n),r=new Array(s),i=0;i>>0;if("function"!=typeof e)throw new TypeError;for(var r=[],i=arguments.length>=2?arguments[1]:void 0,o=0;o>>0,i=0;if(2==arguments.length)n=arguments[1];else{for(;i=r)throw new TypeError("Reduce of empty array with no initial value");n=t[i++]}for(;i>>0;if(0===i)return-1;for(n=i-1,arguments.length>1&&(n=Number(arguments[1]),n!=n?n=0:0!==n&&n!=1/0&&n!=-1/0&&(n=(n>0||-1)*Math.floor(Math.abs(n)))),t=n>=0?Math.min(n,i-1):i-Math.abs(n);t>=0;t--)if(t in r&&r[t]===e)return t;return-1};t(Array.prototype,"lastIndexOf",c)}if(!Array.prototype.includes){var f=function(e){"use strict";if(null==this)throw new TypeError("Array.prototype.includes called on null or undefined");var n=Object(this),t=parseInt(n.length,10)||0;if(0===t)return!1;var r,i=parseInt(arguments[1],10)||0;i>=0?r=i:(r=t+i)<0&&(r=0);for(var o;r
Next, third base fungo hits to left, who throw to second, SS cuts (make a few of these the "cut off a double on a ball hit into the corner" variety - timing becomes important here, as the other fungo needs to hit many fewer balls than the fungo hitting to left). First base fungo hits to right, who come home, first baseman is cutoff, 60' from home (about pitchers mound - this postitioning puts him out of harms way should the SS overthrow second). On the throws home from right, make sure that they are the "normal" kind - hit the cutoff man, and don't hit too many. The right fielders will get to go again, as they're last throws will be the "do-or die" variety.
Within league standards there is ample latitude for individual variation, many batters settling on their own bat profile, or one used by a successful batter. Formerly, bats were hand-turned from a template with precise calibration points; today they are machine-turned to a fixed metal template. Historically significant templates may be kept in a bat manufacturers' vault; for example, Babe Ruth's template, which became popular among major-league players, is R43 in the Louisville Slugger archives.[citation needed]
It is not clear why pregame infield fell out of favor in the majors. Today, coaches hit balls to infielders and outfielders during batting practice. Most players go at it leisurely, lobbing balls back in or across the diamond. That rankles old-school players like Jerry Kindall, a former major league infielder who coached Arizona to three N.C.A.A. titles before retiring in 1996.
Break your team up into 2 or 3 teams. If you do 2 teams you’ll need 8 or 9 on a team with a player for each defensive position. If you only have 8 on a team you can eliminate either the pitcher, catcher, or one outfielder based on what is a priority for your team that day.  If  you only have 12-15 players on your team break it up into 3 teams of 4-5. Then place two of the teams on defense and one team hitting fungoes. No matter what, have the teams and batting orders pre-made before practice. This will eliminate unnecessary downtime during practice.
Players can also create complex holes such as ‘two-part holes’ where the players must hit or reach one object before attempting to shoot at the hole. For example, a ‘two-part hole’ could consist of hitting the scoreboard first, and then once they have hit the scoreboard they must hit the ball back to home plate, that would be one hole with the player with the fewest strokes winning the hole. ‘Two-part holes’ are typically saved for the last hole in order to make things more complex and difficult on the leader.