@Override
	public boolean valid() {
		return super.valid()
				//&& (!Inventory.isFull() && (!Inventory.contains(SmithTrackOld.RAILS) || !Inventory.contains(SmithTrackOld.BASE_PLATE)))
				&& AnimationMonitor.timeSinceAnimation(LogArtisanWorkshop.ANIMATION_SMITHING) > SmithTrack.animationTimelimit
				&& ctx.backpack.select().id(SmithTrack.TRACK_100).isEmpty()
				&& !ctx.backpack.isFull()
				//&& !Inventory.contains(getIngotId())
				&& !getTrough().isEmpty();
	}