@Override
 public String getRequirementsDescription() {
   return CraftUtils.getRequirementsDescription(
       Constants.WOOD, WOOD_REQUIRED, Constants.ORE, ORE_REQUIRED);
 }
 @Override
 public boolean isActionPossible(
     WorldObject performer, WorldObject target, int[] args, World world) {
   return CraftUtils.hasEnoughResources(performer, WOOD_REQUIRED, ORE_REQUIRED);
 }
 @Override
 public String getRequirementsDescription() {
   return CraftUtils.getRequirementsDescription(Constants.STONE, REQUIRED_STONE);
 }
 @Override
 public boolean isActionPossible(
     WorldObject performer, WorldObject target, int[] args, World world) {
   return CraftUtils.hasEnoughResources(performer, Constants.STONE, REQUIRED_STONE);
 }
 @Override
 public boolean isValidTarget(WorldObject performer, WorldObject target, World world) {
   return CraftUtils.isValidBuildTarget(this, performer, target, world);
 }
 @Override
 public String getRequirementsDescription() {
   return CraftUtils.getRequirementsDescription(Constants.NIGHT_SHADE, NIGHT_SHADE_REQUIRED);
 }