@@ -225,6 +225,53 @@ public void run() {
225225 ArrayList <Material > verticalReq = crops .getVerticalReq ();
226226 ArrayList <Material > verticalReqDown = crops .getVerticalReqDown ();
227227
228+ // TEST START
229+ Location l = e .getBlock ().getLocation ();
230+ //Deal with kelp
231+
232+ if (e .getBlock ().getType () == Material .KELP_PLANT || e .getBlock ().getType ().equals (Material .KELP ) || e .getBlock ().getType () == Material .BAMBOO ) {
233+ Location lnew = l .clone ();
234+ do {
235+ lnew .setY (lnew .getY ()+1 );
236+ if (lnew .getBlock ().getType () == Material .KELP_PLANT || lnew .getBlock ().getType ().equals (Material .KELP ) || lnew .getBlock ().getType () == Material .BAMBOO ) {
237+ addLocation (lnew , e .getPlayer ());
238+ }
239+ else {
240+ break ;
241+ }
242+ } while (true );
243+ addLocation (lnew , e .getPlayer ());
244+ }
245+ //deal with cactus
246+ if (e .getBlock ().getType () == Material .CACTUS || e .getBlock ().getType () == Material .SAND ) {
247+ Location lnew = l .clone ();
248+ do {
249+ lnew .setY (lnew .getY () + 1 );
250+ if (lnew .getBlock ().getType () == Material .CACTUS ) {
251+ addLocation (lnew , e .getPlayer ());
252+ } else {
253+ break ;
254+ }
255+ } while (true );
256+ addLocation (lnew , e .getPlayer ());
257+ }
258+
259+ //deal with sugarcane
260+ if (e .getBlock ().getType () == Material .SUGAR_CANE || e .getBlock ().getType () == Material .GRASS || e .getBlock ().getType () == Material .SAND ) {
261+ Location lnew = l .clone ();
262+ do {
263+ lnew .setY (lnew .getY () + 1 );
264+ if (lnew .getBlock ().getType () == Material .SUGAR_CANE ) {
265+ addLocation (lnew , e .getPlayer ());
266+ } else {
267+ break ;
268+ }
269+ } while (true );
270+ addLocation (lnew , e .getPlayer ());
271+ }
272+
273+ // TEST END
274+
228275 if (verticalReq .contains (e .getBlock ().getType ()) || verticalReqDown .contains (e .getBlock ().getType ())) {
229276 e .setDropItems (false );
230277 vertBreak (player , e .getBlock ().getLocation ());
@@ -308,4 +355,9 @@ private static void vertBreak(Player player, Location loc) {
308355
309356 }
310357
358+ private void addLocation (Location loc , Player player ) {
359+ String key = loc .getBlockX ()+";" +loc .getBlockY ()+";" +loc .getBlockZ ()+";" +loc .getWorld ();
360+ AutoPickup .customItemPatch .put (key , new PickupObjective (loc , player , Instant .now ()));
361+ }
362+
311363}
0 commit comments