event.load("block_break"); event.load("block_drop"); crops_tag = block.getTag("minecraft:crops"); hoe_tag = item.getTag("km:hoe"); auto_farm_set = set.new(); set.add(auto_farm_set, "WHEAT_SEEDS"); set.add(auto_farm_set, "CARROT"); set.add(auto_farm_set, "POTATO"); set.add(auto_farm_set, "BEETROOT_SEEDS"); auto_farm_set2 = set.new(); set.add(auto_farm_set2, material.get("WHEAT")); set.add(auto_farm_set2, material.get("CARROTS")); set.add(auto_farm_set2, material.get("POTATIES")); set.add(auto_farm_set2, material.get("BEETROOTS")); msg.string("dev", "§bHarvest §rloaded."); @wait wait(); if(event == "block_drop") { loc = location; } else { loc = entity.getLocation(player); } world_name = world.getName(loc.getWorld(loc)); if(world.isSurvName(world_name)) { ignoreGoto(event); } goto("wait"); @block_break if(!block.hasTag(block, crops_tag)) { goto("wait"); } block_type = block.getType(block_loc); if(!set.contains(auto_farm_set2, block_type)) { goto("wait"); } if(player.checkHandsForTag(player, hoe_tag)) { cancel = false; } goto("wait"); @block_drop item = living.getEquip(player, read.slot("HAND")); if(!block.hasTag(block, crops_tag)) { goto("wait"); } if(!item.hasTag(item, hoe_tag)) { goto("wait"); } for(i = 0; i < list.getSize(drops); i++) { drop_item_entity = list.getIndex(drops, i); drop_item = item.entity.get(drop_item_entity); if(set.contains(auto_farm_set, item.getType(drop_item))) { amount = item.getAmount(drop_item); if(amount > 0) { item.setAmount(drop_item, amount - 1); } } } block.setData(location, concat(block_type, "[age=0]")); player.damageItem(player, 1); goto("wait");